Save Games; how do they work?

It’s just math guys.

The word is: Deterministic.

Is there any reason why some games will let you name a save and others wont? I hadn’t thought of the screensave idea but that is always a nice reminder of where you were when you saved, but it would take extra memory.

That’s why I stopped playing The Witcher. It apparently decided to parse the save games when displaying the available list, and getting the list of games available for loading would take over a minute on my computer.

The default state of any feature is “Not Implemented”.

So… delete some saves? You can manually go into the save game folder and clear stuff out you know.

That is really bad and sloppy coding, hopefully even a crappy indie like me wouldn’t be responsible for that. Too many coders now are sloppy, treating memory and CPU like an endless bucket they can never run out of. Even if something runs like lightning on your dev pc, you should always be testing worst cases on minimum spec.

Having said that… Fitting GSB on an iPad has been a nightmare :)

I tried to. I don’t remember what made that not be a good solution. I think it also kept track of the game files in separate file or something.

I assume it was IO issues - probably did something funky pulling the screenshot out of every save file in my directory.

Undoubtedly true, but when I look at replays for other games and see how large those files can get for 20 minute long games with two players and vastly smaller unit counts, you have to have an appreciation for the fact that someone out there can distill a game down to its absolute basics. I’ve spent a lot more time than most gamers watching replays, so I tend to notice these things more often than many other people would.

It also highlights the fact that there is absolutely zero random chance involved in the game, which is something I can respect.

I wonder if LOL Replay (a client-side hack for League of Legends) works like the Supreme Commander example. Since it’s a multiplayer game, it would have to capture the input of all online players but I guess that information should be available on the client since the units have to be drawn on every client.

A replay for a multiplayer game can be just the network data stream saved. So the game be set in “play mode” and use the data as is coming from a real server.

Or, again, it highlights that pseudorandom number generators are inherently deterministic. You just have to store the seed in the savegame file.

One of the downsides of that technique is that it becomes sensitive to engine changes. If you change something in the engine that would affect the gameplay, either old replays wind up going out of sync, or you have to try and keep the engine compatible with the behaviour in all previous versions, which could be hairy depending on how significant the differences are.

You’re an idiot, Warren.

U mad?

I just want to point out that this isn’t all that new. Lots of games handle replays in this manner and have for ages, going all the way back to the NES and likely sooner.

Some do it by having different codepaths for different versions. Most just invalidate replays between patches.