Why do so many games use the documents folder for save files?


Why do so many games use the documents folder for save files?

In: Technology

You have to put it somewhere, and it’s the easy way to do it.

The name for the documents folder is language specific, so you have to ask the OS “What’s the full path to the documents folder?”. Since there’s no such function for saved games specifically, you have to code your own logic for that, and it’ll be somewhat inconsistent with the rest of the system. You’ll get a Japanese system with Japanese folder names, and “Saved Games”.

It’s also a common, well known location that is likely to get backed up by the user if they backup anything, and which can be shared across computers, which can be convenient.

Well, if we think of the most basic data type distinction as being between “applications” and “documents”, save files should clearly be put in the latter category:

* Backups: applications are created by the developer and if your application becomes corrupt then you can install a new copy; documents are created by the user and so need to be backed up regularly.
* Memory: it would be a waste of space to install a separate copy of an application for each of the computer’s users, but each user *will* want their own documents.
* Security: it’s normal for applications to modify documents, but if applications are allowed to modify other applications then that’s a security hazard that could allow viruses to spread.

This bullshit started to happen some years ago. The savegame belongs inonly one place – The gamefolder itself. So when you have extra ssd/hdds for your game you could reinstall your system – repair the installation and you’re good to go. Nowadays you have to goggle if the saves are in documents or way worse %appdata%. There is no logical reason why this happend but it makes no sense at all…maybe thats the reason.

I’ll talk in a Windows-specific context. Been writing Windows applications (including games) for 20 years.

If you are doing things *right*, Microsoft has opinions about where you should save things.

Their first recommendation is you should ask the user to tell you where to save things. However, this isn’t convenient for most games. People don’t want to pause and interact with a dialog to save, and in full-screen games there’s not a good way to display the standard Windows file dialogs. Worse, if users can type any arbitrary location the program has to worry about if they choose a save path where they don’t have permission, that doesn’t exist, that’s on a slow network drive, etc. So most games argue they should not be subject to this recommendation.

In early Windows versions, it was easy and convenient to put save games in the same folder as where the game installed. This eventually became off-limits because it’s better for security purposes to protect access to the Program Files folder.

Around when that happened, Microsoft gave developers a way to ask the Windows machine for the location of a handful of special folders. The important ones for this question are:

* “AppData”
* “Documents”

“AppData” is a location associated with your user account where things the application wants to save but does not want the user to interact with should be stored. This is where programs should put things like settings files or downloaded data files. It’s usually at something like “C:UsersYourUserNameAppDataLocal”, but it can be moved. There’s no default shortcut to it in the File Explorer window, so most people don’t even know it’s there.

“Documents” is your documents folder. Developers are discouraged from dumping files here without permission, but also guided to put files we believe the user will want to interact with there. A lot of people want to be able to back up their save games, so placing them in the Documents folder makes it easy for users to find them.

So it’s really just that this is one of the easy, safe, accessible places to store game saves.