Five Elite Mercenaries are send to an Island in middle of the 1980'. The Task: Find and Eliminate a local Drug Baron. Features: new Physic, real Sunmovement, Day/Night Change, Hunger/Food system, realistic (!) Weather system, Light/Dark viewing system for AI, 5 different Fractions on the Island. Complete Realistic simulation of nearly all things, including Sleep. New weapons, new Vehicles. Vehicles driving system is now exact (!) like GTA IV , FireSystem,... this mod is Heavily inspired by GTA, IGI, FarCry.

  • View media
  • View media
  • View media
  • View media
  • View media
  • View media
saveroutine
embed
share
view previous next
Share Image
Share on Facebook Post Email a friend
Embed Image
Post comment Comments
pvcf Author
pvcf - - 4,943 comments

i actually realize a idea which spook around in my head since some months, and first tests show that this idea seems even better then expected:

i'm not very happy with cryteks ingame loading save game routines. especially in my big maps this take a lot of time.
let's say you load a fresh map, with a decent CPU: this will take about 3 minutes or even longer with a slower CPU.
if you then make there a load savedgame for the same map, running this map (lets say you simply died), then i use ofcourse the crytek quick ingame loader, but this will take mostly also over 1 minute or longer and can cause a small memory waste (which can be critical if you alreasy run at the memory limit windows give for the cryengine thread).

so, my idea: what about if i give a sh*t about loading all the stuff again and load only things like all coordinates, angles and states for all moveable objects and all triggers?
ok, as i said in beginning, i have now a working demo of the save routine which can actually parse all entities and save the mentioned things in a own file.

the new save routine is working and it save a small map in ~0.5 seconds and a very very very big map in ~1 second.
now it comes: if then the loading is fast like saving them (and there is no doubt about), than a ingame load of a saved game with my new routine will need about 1-2 seconds...

yes, you read correct.

ingame loading will need max 2 seconds ...

but, what are the consequences? first the last hours i was thinking "how cool and yeah and epic ****", but now i'm thinking:
uhm, becoming death / dying will now be more or less without consequences because 2 or 3 seconds later you can be ressurected at the last savepoint. there is no sneaking with bumping hearth in unknown area, there is running with smiling face into the next mg nest, or ?

ok, i have already a savepoint limitation, actually it is done with a timer, you are only allowed to save every 10 minutes one time (or anytime if you didnt have use this save in last 10 minutes).
and i also thinking about collectable sleepingback which allow you to save at anytime as long you have this sleepingback (which will be lost after saving).

seems i have to think a little bit more about. maybe it is already ok with it like it is and the nearly immediately respawn is ok like it is (with the new routine) ... ?

the point i would like to discuss is:
dying must be punished, or ?

i was also thinking about putting player then without weapons in a prison where he always have to escape, which is then really a bad bad punsihement, so you won't be dying anymore next time, thats for sure :D but maybe this is then TO hard (but you can always make a standart load game which avoid that...) .

what did you think ?

Reply Good karma+2 votes
Paperper
Paperper - - 34 comments

neat stuff, im always amazed by the stuff you do with this mod! ive been following for a year or two i think, and it is one of few mods that still lives and also grows and evolves almost like a small world in the making.

i think the save limitation time sounds pretty fair and simple, an option to toggle this on/off and change the limitation time (if possible of course) would probably please most and if these loading times are achieveable, then i cant wait to experience them for myself... memories of loading stalker on my brothers pc have given me loading time trauma!

anyways i salute you and support you in your work - much respect!

Reply Good karma Bad karma+3 votes
pvcf Author
pvcf - - 4,943 comments

thank you!

> an option to toggle this on/off and change the limitation time
>(if possible of course) would probably please most

only the mapper can adjust this time. making this adustable for player would simply kill this gamemechanic / limitation. goal for this is, that it simply HURTS if you die. if you can save at anytime your life is not much worth then. please read for more my answer to marek33 below, where i explain this with a GTA5 exposure :)

to be honest: the save only all 10minutes have only one cause: i try to force the player to play without saving, just keep the next possible saveslot for a possible "have to leave the game for some reasons", so player can save the game and close farcry.
i dont will support fearless play and try&error;, you get the maximum thrill of world exploring with enemies if you really get punished by dying ^^
to make this userfriendly we have 3 difficulty levels. in touristmode you can survive really some enemies shooting to you, but as this is not really funny, i have there some additionally restrictions, for example player playing in touristmode is not allowed to throw grenade (tourists mostly never throw grenades) and not all missions are availible in touristmode.

Reply Good karma+2 votes
Marek33
Marek33 - - 3,890 comments

Only one second or two? That would be perfect indeed!

I think that with the sleeping bags it should be like in the S.T.A.L.K.E.R., so If I sleep there is still a change that someone can kill me unless I'm in a safe zone. Also, just losing sleep bags seem to be unrealistic, but the prison isn't a bad idea. Losing the weapons also isn't the best thing however, I don't know how would you punish the player.

Reply Good karma Bad karma+2 votes
pvcf Author
pvcf - - 4,943 comments

> o If I sleep there is still a change that someone can kill me unless I'm in a safe zone.

this whole part is still in planning phase, because i didnt like this very much. the next would be simply to ask if a enemy is in near before i allow a use of sleepingback, but this would then like a cheat (yeah, have no enemies on radar tagged, this is for babies ^^).

> Also, just losing sleep bags seem to be unrealistic

but allow reusing the sleepingback in addition to the 10min savetimer (which allows a own quicksave where ever you are) is then way to much. that would mean we dont have a savegame restriction, and this is not what i have planned for OPCL :D

> Losing the weapons also isn't the best thing however,

we have a good comparison for this mechanic running in GTA3 and GTA5, if you die, you respawn in front of a hospital. in GTA3 with loosing all weapons, in GTA5 with keeping all weapons.
the result: in GTA5 i give a **** if i die or not.
in GTA3 it was horrible and resulted in reloading the last savegame and replay the last part, which was way better for immersion. in GTA5 i have the feeling, that keeping my life is total useless, and if i die, i can use this as fast teleport to the next city. baaaaaaad gamedesign decission.
player MUST be punished for death. not for punish them, its for keeping player taking care about his life an health!

Reply Good karma+2 votes
Marek33
Marek33 - - 3,890 comments

I see and I mean the sleeping bag from the Clear sky where it shows me in how big danger I'm if I go to sleep. For example, if I was in a heavily secure base I'm relatively save (if they are friendly of course), but If I'm out in the wild then it's not a good idea to sleep there.

That makes sense.

I remember that in the GTA3 where I can just load the previous save (like you also said), so Its not a good solution. Plus, it makes sense with the hospital, but I'm not sure about it in the OPLC.

I'm sure that it was done in GTA5 on purpose for a wider audience since casuals wouldn't like it.

I fully agree, but it's very hard to find the best solution for it.

Reply Good karma Bad karma+2 votes
pvcf Author
pvcf - - 4,943 comments

> I'm sure that it was done in GTA5 on purpose for a wider audience since casuals wouldn't like it.

maybe its also you can tune and customize your weapons a little bit, and this would be lost, which is also not so great.
but they have the ammunation gun jobs and endless money, theoretically it was planned in GTA that you rebuy and restock yourself in a gunshop if needed.
but this system totally failed so they finally throwed this away in GTA5 by keeping the guns.
result: pple say that GTA5 is a little bit boring, and i beg, its also caused by the fact that dying have now nearly no consequences, it seems its sometimes better to die than to live and have to walk wounded back.
this is a bad draw in gamedesign.
so, the trick is now, finding a perfect way to punish the player for dying :D
maybe respawn in a near prison or at last savespot without weapons, but place all lost weapons as pickups on last valid point short before player died and create a tagpoint for...

there are many ways but i think no game have the perfect punishment which is a combination of motivation and frustration in a 51/49 percent balance.

Reply Good karma+2 votes
Marek33
Marek33 - - 3,890 comments

My thoughts exactly! However, in games like Far Cry 1 or S.T.A.L.K.E.R. series, it's good that death doesn't punish that bad since it would be very hard. In the OPLC it is better since the AI is very different and they can't spot me from around 500 meters like they can in the Vanilla game (only snipers).

Reply Good karma Bad karma+2 votes
pvcf Author
pvcf - - 4,943 comments

yeah in OPCL it's a little bit different. currently the AI need some seconds before they ralize that you in near, that feels sometimes strange. for example you standing in front of a enemie and he need about 2 seconds before he have seen you, drawed the gun and opened fire. (enough time for a skilled player to care for them).
but then, after this "delay", i'm always thinking "yeah, easy cake" which leads in a 5 seconds later death by his comrades.
it play's really different.
the problem is, i can't speed up the responsetime, because a good part is the drawing the gun, informing all other comrades in his group (this delay is adjustable!).
so this brings back a original designed mechanic that you can shoot down a enemy BEFORE he inform his mates.
but once he have done this, you are usually ****** actually :D

and in farcry you get sometimes shot to instant death from nowhere (snipers). this never happens in OPCL. snipers also didnt shoot very exact because player moves all the time and you can take 2-3 hits from a sniper before you die.

ah, i forget i have to implement the real ammo-left for pickups routine for enemies. i always hated it that i got no bonus if i killed a sniper before he have shot. the ammo in pickup was always the same.

Reply Good karma+2 votes
Raygoza
Raygoza - - 1,639 comments

I'm wondering weather your save routine actually recreate the map exactly as it was with all new objects that spawned maybe due to thedestruction of stuff.
Does it also save the state of things? vehicles not in full health? Maybe NPC position and what they were doing, remember playing Stalker and loading makes NPC do something else, like if they were patrolling and walked towards my direction, save loading made them change direction like if they patrol started from where they stood now.

Reply Good karma Bad karma+3 votes
pvcf Author
pvcf - - 4,943 comments

i save all positions, angles, states, fuels, enables, updates, broken, open/closed, unlocked, pickups, risable water, chains... the list is actually very long and implemented.
the map should be then in the same state as before to 99.99%.

i have only a bug which is horrible and even crytek didnt have helped me there:
if i ressurect a killed AI with cryteks given code, the facial [removed]eyes, mouth) are broken, for example the eyelids dont open and the yaw is about 1 cm more down per each death.

if i ressurect it with my own routine, which simply spawns a identical clone, the possible sender events for this AI are gone.

but patrolroutes, language, mood, wpns health and so on are all saved and restored.

then we have in the map brushes and vegetation which can't be altered so no need to save and load them. then we have the map geometrie: i dont load it new, i give not much if somewhere may be existing a grenade deformation in terrain.
then we have all libraries for particles and materials, which also dont alter, so no need to reload all the stuff.

Reply Good karma+2 votes
pvcf Author
pvcf - - 4,943 comments

actually i found out why crytek load the whole game new.
because of the ressurection bug they have done and, because of a total uneccessary part of code which they almost forget:
if the player dies, they let them really die, also on code :D there must be somewhere a deconstructor for all player variables, gemoetry, registrations, references... all.
just to try to rebuild it one second later :D

maybe its simply a better idea to capture the last Damage which cause then this deconstruction and declare player as dead by keeping it at 0.1/255 health, go to menu as usual and show the load savegame dialouge. this would and will speed up and fix so many thinx like hell.
i have messed today with cryteks quick ingame loader (which they not use, and now i know why :D :D ), just to found out this deconstructor problem.
i'm currently thinking about to recode also the whole player death sequence, which would allow me to have full control over a death cam, death player body, timers and dont having any problems with reconstruction and creating a new playerinstance (even if i have now all problems solved there).

the problem is: the new constructor registers a new _localplayer, but all the stuff like position, angles and so on is registered one second later.
but usually you ask in code if there IS already and finally the _localplayer and proceed then with things, but if then a routine ask for a weaponname from player or position or distance to a object, a enginecrash happens.
this is now finally caputured on all positions, i needed months for.
but its all useless if crytek doesnt would really kill the player and remove the model and physics and all :D
there is no need for ^^

crytek finally (one of the coders, maybe in big pressure), decided instead of fixing this "fast" ingame loader (which still needs a minute or longer the first time), they simply loaded the whole engine and level again with the full creator of all entity instances. this take ages and cause always a small memory leak of about 50-100mb.

i'm actually total sure that i try trhowing this all away and use my own stuff -.-

the way crytek use the loader work for their small levels but not for my big open world maps with 100 times more objects (all, brushes, vegetation, props/entities, players).

Reply Good karma+2 votes
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: