I won’t be reviewing the game directly due to a cardinal sin that qualifies the game for an automatic RAGE QUIT, strap in, this is gonna get bumpy
Developer: Fair Weather Studios, LLC
Publisher: Fair Weather Studios, LLC
Release date: 21 Sep, 2017
It’s a shame because this is actually a really good game, but putting saves into the *registry*? Oh dear. Oh dear oh dear.
I could talk about the fact that dialog choices lead you into totally different missions, or that equipment makes a real difference to units, or that you can actually build a fleet that lasts from one mission to the next, all of these things set the stage for a genuinely interesting (though not envelope breaking) game that feels like what Sid Meier’s Starships could have, and probably should have been.
But I can’t in good conscience do so. Why? Because this game will real-time save to the one place in Windows where doing so is actively dangerous to the stability of the system if heavens forbid the game crashes. The Registry.
In windows, the Registry was a bodge, it’s still a bodge, it’s a bodge that’s held together by bodges, hacks and duct tape. It started off as hilariously flimsy in Windows 95 (often necessitating full system rebuilds because entries would corrupt and entirely screw a system up), it got slightly better in Windows 98, then a lot worse in Windows ME (system lifespan was down to 6 months due to cruft and registry issues). Windows XP solved a lot of the problems not by fixing the registry but by replacing the filesystem and kernel upon which the registry stood. Moving things off of the ancient and unreliable FAT/FAT32 systems and onto the somewhat less accident prone NTFS filesystem and NT kernel. Probably because Microsoft figured that trying to persist with the win9x kernel was going to be a mammoth waste of everyone’s time and it was just better to stick to the one kernel that actually worked as opposed to the unreliable piece of excreta that kept bluescreening every time someone sneezed.
The registry, however, is still a sin. It’s still a horrible mess that can leave orphan entries when an uninstall isn’t clean, it can leave mismatched file dependencies when programs argue with each other, it can still cause crashes because the OS gets in a tangle as to what it should be doing and the registry has bad instructions. It’s vulnerable to corruption but much less so these days not because the registry is in any way more stable but because everything around it is that much less prone to breakage.
So here’s the thing you don’t do with the registry. Note – This is merely one example of a potential pool of many sins, but it’s one that I feel is worth highlighting because initially when Unity was released to the world it was used regularly as a web app, and for some inane reason rather than store personalised data as a cookie or in the browser cache it offered the option to dump data to, you guessed it, the registry.
You don’t use it as a place to store save games. Particularly not autosaves which will get messed around with at random times.
You don’t use it as a place to store stuff that will change constantly and therefore require the computer to keep changing elements of the registry.
The registry doesn’t *like* being messed with on an ongoing basis. It likes it when you write a big lump of data to it and then it gets read from on an ongoing basis. Occasional writes, many reads. That is the way of things because you won’t wreck the registry whilst reading from it, but it’s eminently possible to mess it up if you’re constantly writing to the damnable thing.
Now there’s an ongoing discussion about this mess here and whilst the developers acknowledge the concern it causes, they do not seem to be prioritizing this as a “RIGHT NOW” matter. That prevents me from recommending this game to anyone who values their operating system or people who don’t fancy the idea of a possible happy-fun-time with the Windows repair tools.
Verdict: When the developers sort out an actual save system that isn’t in the registry, this game goes straight up to “Save” status, it’s actually good. Until then?
Response From Developer
So thank you for the information. I’m not sure there is much we can do to address the issue.
First off, we use Unity’s default save system, which not only have I used in many titles across several companies on Steam, but which my peers in the development community all use as well. It is the save system which comes up when you take Unity tutorials on saving, for instance. Across dozens of games and hundreds of thousands of users there has never been a problem, and to the best of my knowledge, thousands of games use this same system.
Secondly, it is not an easy fix. I have been talking with my engineer, and there is essentially no good way to change the save system that would not wipe every existing save. This is in addition to problems for moving the save system that include things like needing to write an encryption method, finding ways for the game to find the game files, handling what happens when the game files get moved or deleted, etc. Even if we desperately wanted to change this it would involve several months of work. Sometimes this is a problem when you have a dev studio that is only two people.
Given that it does not cause problems, would cause us to wipe all current saves, and would be a time consuming and costly fix there is not much chance that we will be able to address his concerns. I suggest he start looking into every Unity game he plays to find out how common of an issue this would be for him.
I really want to do what I can to address problems players have. This is one that caught me off guard as I personally have been using this save system in games for over 5 years without issue, and have been part of some much larger companies that use it as well.
Fair Weather Studios
Final Word From Hobbes
It’s not Unity’s default save system, you actively have to select an option to get it to save into the registry. As has been mentioned in the Unity dev forums this is the difference between using playerprefs and using System I/O.