bdcribbs wrote:
That is odd, because when it was happening to me (which it hasn't since build 16) it did not corrupt my data. If I restarted the game I'd continue at the start the next level.
Okay, here is a little under-the-hood explanation:
DROD writes saved games, demos, player settings, etc. to a database. In order to make things fast, the database caches the writes in memory. It doesn't write them to disk immediately. This is nice because it allows us to hide away the saving process so the player can concentrate on the game. If we wrote to disk immediately for all saved games, there would be a 2 or 3 second pause every time you stepped on a checkpoint or moved to a new room.
Occasionally, we transfer the cached writes to disk ("
flushing"
). I think we do this several places in the editor, one or two places in the regular game, and always right before you exit.
If the game crashes during flushing, you are likely to end up with a corrupted database because only part of the cached writes will make it to disk.
If the game crashes at other times, the cached writes are simply lost. It is the same as going back in time to the point just after the previous flush. When this happens, you lose data, but in a clean way.
Sounds bad to say it, but I *wish* I could get the thing to crash for me again.
It doesn't sound bad at all. The bug is still there and needs finding.
-Erik
____________________________
The Godkiller - Chapter 1 available now on Steam. It's a DROD-like puzzle adventure game.
dev journals |
twitch stream |
youtube archive (NSFW)