Forum Overview
::
Shadowrun
::
it's probably something fundamental to the way they implemented it
[quote name="jeep"]I think they did this in c# but I don't know that as well as some other languages. If you made a game in java (pretty similar to c#) and implemented save from memory from the very beginning it's no big deal. If you tried to do it much later it would be a little tougher unless you'd used object serialization from day one which most developers seem to think is unnecessary effort [i]until they are like oh shit I forgot I needed to have saves for this software I'm making which I just now realized is a video game[/i]. In this case, based on what they've said publicly, they had a constraint early on: they can not permit their assets to be "cracked" and redistributed, only reworked through their editor (this was a requirement from Microsoft, who owns the digital IP). So the core adventure file has the default version of every object that will appear in that adventure, and every time you reload the game it reloads the info and asset stuff from the file in a default, unmodified state, then applies scripted mods to each item/object/character. Grabbing shit off a disk is easy, modifying it on the fly is a little more work, so they did the easy thing there and made the save always spawn from the start of the level when no creature has: combat damage, status effects, current position (only default starting position). Adding a save anywhere feature means collecting all those things as offsets from objects in memory, and then later loading them from disk back into the right recreated objects and applying those effects. If every object is serialized (just means numbered here, I have no idea if you do this for a living) or they used an entity system that numbers everything no matter what, this is an easier task, because you can make a map of the objects by serial and then match them back up later. They used Unity for this which I thought had an entity system in it by default but I haven't cracked it open to look so I don't know that for sure. Basically they made a game whose target audience is adult software engineers and then told them some basic software shit can't be done. That it is not a trivial task means either someone is shitty at coding or...basically that's it. They made a shitty decision before or they are simply not competent to fix it now. Basically no matter what kind of excuse they come up with the game isn't big enough to make it insurmountable for a competent software engineer. Now to me the feature of "save anywhere" is so critical you fucking solve it step one and it's worth any amount of effort to make it work perfectly, but I also know how to write data to and then read it back from a file, or even two separate files if I have to, so maybe I'm not the best judge of difficulty there.[/quote]