Here is a little rant, about a pet-peeve of mine. Those of the readers here who own windows boxen and indulge in the habit of PC gaming will probably be able to relate.
By convention most software on windows gets installed into the Program Files folder. There is nothing that enforces this but this is usually how it’s done. So most applications end up having a path that looks something like this:
C:\Program Files\Company Name\Application Name\
There is nothing wrong with that – in fact it keeps things organized and I approve of this convention. It is worth mentioning that non-administrator users do not have write access to the Program Files which is a very good security decision. This precaution means that some random mallware distributing website can’t just cleverly overwrite your applications with it’s own executables.
Of course this also means that an application run by a non-admin user can’t write to it’s own installation folder. This is why Windows provides a seldom mentioned, and often ignored Application Data folder for each user. It is usually located in:
C:\Documents and Settings\Your Username\Application Data\
The sole reason for existence of that folder is to give different applications a user-writable space where they could save their configuration files, temp data and etc. Most of the time however, game designers choose to ignore that folder completely.
When you get home today, do this little experiment – try to figure out where your favorite games keep their saved game files. You should know that anyway for the purpose of backing up, but that’s a whole other story. The games these days usually don’t tell you where thy put your saved data – and rightfully so. It is a low level technical detail that most people (except for us, backup freaks) don’t really care about. Chances are that most of the games you own, save in their installation directory – for example:
C:\Program Files\Company Name\Game Title\Saved Games\
What are the implications of this design choice? Let’s count them together:
- You can’t save game as non-admin
- Any other user on the system can overwrite your saves
- Most games now try to implement some sort of “profile” functionality to allow two or more people to play the same game without mixing their saves and settings – this could be avoided
- If you reinstall the game your saves might get deleted
- Program Files folder will often not be included in backups (why back up tons of binaries?), but your user profile (including the Application Data folder) usually will be
Why not just put the saved games where they should be in the first place – in Application Data? I understand that they often want to keep everything in one place, but this is not the best idea. And it could save them time and money on creating those in-game profile management systems. Let windows deal with user management stuff.
And no, creating a junction that points a given Saved Games folder to some place in my own Application Data is not a viable solution. Or, rather it will work for me as I am the sole user of my machine. But if you share your gaming rig with room-mates or siblings that will just lock them out of the game. Unless of course you all share the same login, which is just plain stupid.
[tags]games, gaming, saved games, program files, application data[/tags]