Don’t save game progress in My Documents!

This is a little mini-rant aimed at game developers who poison my otherwise clean and neat user home folder. Stop ruining my attempts at keeping things organized! Each user has a special “Saved Games” folder in Windows intended for storing game data. Game developers erroneously seem to think the “Documents” folder is a better place for it.

Games automatically save their progress and the user’s settings to a usually unconfigurable folder. Many games tend to dump their save files directly into the My Documents folder in the user’s home folder. If you’re like me and try to keep your document folder organized so you can dig through and find your actual documents … this is an annoying experience. It gets even more annoying when they start scattering .log, .tmp, and .oops files amidst your documents in addition to their own save sub-folders.

Some of these games use the Steam Cloud API to synchronize the save files between my computers. Any computer I log in to the Steam game platform on will get the same unwanted files scattered all over the place.

This doesn’t apply to all games. A good portion of all games store their data in the more appropriate AppData/Roaming folder. Other games, however, save progress in their installation directory and other weird places that limit the game to one player per computer. While writing this article, I even found three games that saved progress in the user’s temporary folder (files here are auto-deleted when disk-space gets low).

Windows has a special folder called “Saved Games” in the user home folder intended store game saves. The folder was introduced with Windows Vista. No game developer ever seems to have gotten the memo about that. On my gaming computer with 300+ games installed, the folder is entirely empty. As far as I can tell from looking through backups of previous computers I’ve had; it has been like that for years.

From looking on the StackOverflow developer forums, it looks like Microsoft hasn’t made it all that easy for developers to get the localized path to the Saved Games folder. The folder would also have to be created by the game developer if it’s missing if the game is targeting older versions of Windows. It is absolutely doable, but I believe Microsoft is also to blame for the current messy state of affairs for not providing better APIs for this purpose.

Something that I think would help solve this problem over time, would be for Steam to require developers to store their game data in the correct folder. Unless data for new titles are stored correctly, they could not sync it using the Steam Cloud APIs. Older games would still be an issue, but it would become less of an issue over time.

I used to work around this by storing my documents in a custom folder named Actual Documents. As it starts with the letter A it was listed before the Documents folder in my Home folder and kind of worked out. These days I use multiple user accounts on Windows for privacy and security reasons. This game-save location nonsense is another reason why I use a separate Windows account for gaming.

Those who use Linux should be familiar with the frustrating experience of too many programs dumping their data directly in their home folders instead of putting things where they belong. On Windows, however, this problem seems to be limited to games only. Which is ironic, as games delivered through Steam on Linux (that would be virtually all of them these days) seem to be very good at storing their data in the correct ~/.config/<name> and ~/.local/share/<name> folders. The same games misbehave on Windows.

I hope any game developer who may have read through this will come to their senses and start storing their game data in the proper folder for their next game. Please don’t mess up my well-organized home folder!