Improvements on Save Game Files
[h2]Save Game Atomization[/h2]
When I wrote the save game system, I was actually pretty new to game dev and whatever I came up with was pretty rudimentary. It worked, but not in a resilient way. It's time to pay back the technical debts :)
The game allows player to save up to 10 "sleep slots". Each of these saves are contained in the OldSaves.json as a monolithic save file. It's not resilient to crashes and file corruption. For example, if the game crashes while saving to this file, the entire 10 past saves become unusable. It also makes game saving slow due to having to write 10 saves to disk every time.
In this update, it automatically breaks up the OldSaves.json into 10 individual saves under /OldSaves/ folder. This way, each time you save by sleeping, the game only needs to create the latest save game file and delete the oldest one. It also makes loading a bit faster by not having to load all 10 of them at once. This is particularly apparent when you have progressed further and your saves become larger.
In the upcoming updates I'll also attempt to reduce the size of each save game json file, but I have to make sure the atomization step works well first.
[h2]Other Improvements in 1.88-2[/h2]
- More fixes for German translation (courtesy of sharzul!)
- Grigori in lake Cheko will list the three ammo types that he can convert, to avoid confusion
- Fixed a bug with throwing rocks/grenades/especially the landmine. When you use Hybrid control scheme and try to aim at a place behind you, the explosive will land a bit closer than you want it to be due to the misposition of "origin" the item flies out of your hand.
- There's a rock near the trailer house that allows NPCs to walk through. I moved it to somewhere else.
- You can now buy the radio for "Sound of Music" DLC in Slaughterhouse, if you wanna listen to your own blood-pumping battle music while slaughtering
When I wrote the save game system, I was actually pretty new to game dev and whatever I came up with was pretty rudimentary. It worked, but not in a resilient way. It's time to pay back the technical debts :)
The game allows player to save up to 10 "sleep slots". Each of these saves are contained in the OldSaves.json as a monolithic save file. It's not resilient to crashes and file corruption. For example, if the game crashes while saving to this file, the entire 10 past saves become unusable. It also makes game saving slow due to having to write 10 saves to disk every time.
In this update, it automatically breaks up the OldSaves.json into 10 individual saves under /OldSaves/ folder. This way, each time you save by sleeping, the game only needs to create the latest save game file and delete the oldest one. It also makes loading a bit faster by not having to load all 10 of them at once. This is particularly apparent when you have progressed further and your saves become larger.
In the upcoming updates I'll also attempt to reduce the size of each save game json file, but I have to make sure the atomization step works well first.
[h2]Other Improvements in 1.88-2[/h2]
- More fixes for German translation (courtesy of sharzul!)
- Grigori in lake Cheko will list the three ammo types that he can convert, to avoid confusion
- Fixed a bug with throwing rocks/grenades/especially the landmine. When you use Hybrid control scheme and try to aim at a place behind you, the explosive will land a bit closer than you want it to be due to the misposition of "origin" the item flies out of your hand.
- There's a rock near the trailer house that allows NPCs to walk through. I moved it to somewhere else.
- You can now buy the radio for "Sound of Music" DLC in Slaughterhouse, if you wanna listen to your own blood-pumping battle music while slaughtering