Putting the 'role' back in role-playing games since 2002.
Donate to Codex
Good Old Games
  • Welcome to rpgcodex.net, a site dedicated to discussing computer based role-playing games in a free and open fashion. We're less strict than other forums, but please refer to the rules.

    "This message is awaiting moderator approval": All new users must pass through our moderation queue before they will be able to post normally. Until your account has "passed" your posts will only be visible to yourself (and moderators) until they are approved. Give us a week to get around to approving / deleting / ignoring your mundane opinion on crap before hassling us about it. Once you have passed the moderation period (think of it as a test), you will be able to post normally, just like all the other retards.

Decline Games Keeping Files in Different Directories

WhiskeyWolf

RPG Codex Polish Car Thief
Staff Member
Joined
Nov 4, 2007
Messages
14,813
Hmm, maybe that's something from the shitty Unity rather than the game?
Either way God-Save-Us-All if that shit comes with every Unity game.
 

Turjan

Arcane
Joined
Mar 31, 2008
Messages
5,047
Skyrim keeps identically named INI files in both C:\User\Documents\My Games\Skyrim and the game folder. You'd think the one you're supposed to mess with is the one in the game folder because that's where you dump all your modding shit, but it's the one in Documents.
That's because the folder in "My Documents" gets read after the one in the installation directory, which overwrites the information in file in the installation directory. It's neat if you want to experiment with different settings and accidentally choose some that screw up the game. In that case, you can just delete the file in Documents and the game uses the one in the installation directory instead. You can put a version there of which you know that it works.

While I don't mind having game files in different locations and see this often more as a boon, I loathe games that put stuff into unspecified locations on my C drive. I don't have space there.
 

Burning Bridges

Enviado de meu SM-G3502T usando Tapatalk
Joined
Apr 21, 2006
Messages
27,562
Location
Tampon Bay
The problem is that there is no standard way of doing it, resulting in endless searching in "Documents and Settings" and it's gazillion of subfolders. Keeping programs and user data separate is a superior principle btw. It's just that the implementation sucks, and we would be better off without it. I take a game anyday that is xcopy deployed, has all settings in text files to edit, and stores saves in a folder "saves".
 

Turjan

Arcane
Joined
Mar 31, 2008
Messages
5,047
Keeping programs and user data separate is a superior principle btw.
Indeed. Makes up for much easier automatic backups, too. There's no need to backup the program installation, but for saves and individual config files, I appreciate easy backup.
 

Karmapowered

Augur
Joined
Jun 3, 2010
Messages
512
I have never seen any advantage to separating user generated content (like save games, or mods) from the game folder itself.

In the case that I had the attention of some (aspiring?) game developpers stopping by, here is my take on the question.

Presenting the issue

1/ SAVE GAMES

Last time I checked, a save game is pretty useless without its executable.
-> there's no point in storing it in a central repository, like "My Documents", %USERPROFILE% or %APPDATA%, except to frustrate the user

If I don't have the game installed, I probably don't want to keep save games either.
-> their total can amount for some games to several hundreds of MB, if not GB in size (see Total War games).

Whenever I re-install the game, I prefer to start from a fresh slate, since I don't necessarily never remember where to pick up from a previous save game.
-> this also avoids the confusion with associated patches & mods that I might no longer have, or want.

If I really want to keep save games, a simple "uninstall game with the save games Y/N?" suffices.

2/ MODS

I keep archived (not yet installed) mods in their own folder, so that the state of the game doesn't affect them.

Once installed, I consider mods as part of the game.
-> if I uninstall the game, I want to uninstall/delete the mods that go with it.

Modding the game should be done in a subfolder of the game folder itself. Whoever decided that it was a good idea to use "My Documents" (hello "NWN2", "DA:O", etc.) or worse %APPDATA% (hello "Battle for Middle Earth", "Sins of a Solar Empire", etc.) to store user-modded content has never had any consideration for people who like to keep their OS healthy (and backuped).

3/ OTHER FILES

If you add to the above mess that some games like to hide :

  • config files
  • game documentation (manuals)
  • screenshots
  • their own run-time environment
  • their own version of system/language libraries
  • uninstall files (hello %PROGRAMFILES%\InstallShield crap)

in equally obscure and oftentimes non-sensical locations, it's no wonder that over-payed MS certified consultants still manage to multiply and feed themselves at the end of the day.

Before you ask, yes, I have heard of security considerations, "home" directories and "user profiles", since I was nurtured on NeXT/HP-UX even before I knew what a PC was. Thank you very much.

Sometimes, I have to pop up a Virtual Box just to keep my sanity, and have to wonder if it's not simpler on Linux + Wine or Mac + Bootcamp.

Solving the issue

  • <game folder>
  • <game folder>\<config>
  • <game folder>\<docs>
  • <game folder>\<mods>
  • <game folder>\<savegames>
  • <game folder>\<screenshots>

Registry values are kept clean, in reasonable numbers, and ideally removed with the uninstall.

The only stuff which should go elsewhere are :

  • system libraries (DirectX, OpenGL, PhysX, etc.)
  • language libraries (C++, Python, etc.)
  • popular run-time environments (Java, DOSbox, RPGmaker, etc.)
 

sea

inXile Entertainment
Developer
Joined
May 3, 2011
Messages
5,698
I like games using My Documents for that stuff, as it's easy to find and all in one place, but I don't like games that use both Documents and Users for storing stuff. I really don't get why anyone does that. It just gets confusing.

It is better to have frequently modified data go into a non-admin folder, and Documents fits the bill. This means that you don't need an admin account to save your game. Believe it or not, a lot of people do keep UAC on and do have non-admin accounts for their kids and other family members. Also means that if you uninstall the game then (theoretically) your saves and configs will be left intact.
 

ChristofferC

Magister
Joined
Aug 12, 2009
Messages
3,515
Location
Thailand
Only thing that bothers me about it is that there is no standard way of doing it. Every game puts its stuffies in different places.
 
Joined
Jan 7, 2012
Messages
14,368
Saving config files and savegame information to my documents is fine, assuming that there is a link from the game folder to the save folder so I can naturally find it without randomly searching everywhere. And if your savegames are more than 10 MB then your quicksave/autosave needs to be a rolling queue so that there aren't 1000 different saves when I need at most 5. Looking at you, The Witcher and every Paradox strategy game ever. Playing your game shouldn't require more drive space than windows itself takes up.

Saving large amounts of game data, patches, mods, downloaded shit to my documents is NOT fine. I simply don't have room on my C:\ drive. Used to be I could move My Documents to another drive, but now that's not really an option when my C:\ is the only SSD.

Appdata needs to fucking die. You might as well rename this folder to "My Documents but hidden to protect you from being able to see stuff we don't want you to see" folder.
 

Turjan

Arcane
Joined
Mar 31, 2008
Messages
5,047
Saving large amounts of game data, patches, mods, downloaded shit to my documents is NOT fine. I simply don't have room on my C:\ drive. Used to be I could move My Documents to another drive, but now that's not really an option when my C:\ is the only SSD.
Why is that? Uusally, that's only an issue on initial start-up of the game, which can take a bit longer if it needs to read files from a non-SSD, but every reload is quick.
 

Regvard

Arcane
Joined
Apr 17, 2012
Messages
1,070
Location
Gormenghast
I like games using My Documents for that stuff, as it's easy to find and all in one place, but I don't like games that use both Documents and Users for storing stuff. I really don't get why anyone does that. It just gets confusing.

It is better to have frequently modified data go into a non-admin folder, and Documents fits the bill. This means that you don't need an admin account to save your game. Believe it or not, a lot of people do keep UAC on and do have non-admin accounts for their kids and other family members. Also means that if you uninstall the game then (theoretically) your saves and configs will be left intact.

Devs could just make the default installation location outside Program Files folder, something like c:games etc. and that would solve the UAC issue. Since people using UAC tend to think that their games consist entirely of it's desktop shortcut and are unlikely to care where their files are.

Location of your save file and config is irrelevant to keeping it after installation, and offering an option to do so in installation folder was the norm until a few years ago, unless you go ahaead and delete the folder manually afterwards.
 
Joined
Jan 7, 2012
Messages
14,368
Saving large amounts of game data, patches, mods, downloaded shit to my documents is NOT fine. I simply don't have room on my C:\ drive. Used to be I could move My Documents to another drive, but now that's not really an option when my C:\ is the only SSD.
Why is that? Uusally, that's only an issue on initial start-up of the game, which can take a bit longer if it needs to read files from a non-SSD, but every reload is quick.

Because moving the My Documents folder moves a lot more than just the saves for one game.
 

Turjan

Arcane
Joined
Mar 31, 2008
Messages
5,047
Because moving the My Documents folder moves a lot more than just the saves for one game.
Well, that's the reason behind moving it, isn't it? Stuff in "My Documents" is usually accessed very rarely, so there's no reason to have it on the SSD. I looked, and my "My Document" folder is about 40 GB. No way that fits on the SSD. Also, everything in there gets automatically backed up to the NAS. That's much more convenient than having to look through countless folders and select single subfolders out of them for backup.

I'm aware that this is an ideal situation that I describe here. My preferred method would be for games to have all their installation files wherever I specify and then saves and config files and mods in "My Documents". That would make life much easier. The main problem is the inconsistency.
 

Burning Bridges

Enviado de meu SM-G3502T usando Tapatalk
Joined
Apr 21, 2006
Messages
27,562
Location
Tampon Bay
I have never seen any advantage to separating user generated content (like save games, or mods) from the game folder itself.

In the case that I had the attention of some (aspiring?) game developpers stopping by, here is my take on the question.

Presenting the issue

1/ SAVE GAMES

Last time I checked, a save game is pretty useless without its executable.
-> there's no point in storing it in a central repository, like "My Documents", %USERPROFILE% or %APPDATA%, except to frustrate the user

If I don't have the game installed, I probably don't want to keep save games either.
-> their total can amount for some games to several hundreds of MB, if not GB in size (see Total War games).

Whenever I re-install the game, I prefer to start from a fresh slate, since I don't necessarily never remember where to pick up from a previous save game.
-> this also avoids the confusion with associated patches & mods that I might no longer have, or want.

If I really want to keep save games, a simple "uninstall game with the save games Y/N?" suffices.

Some interesting suggestions, and well organized, too. But you raise several points which impose a little too much.

1. Save games are not worthless without the executable. People should be able to exchange or archive them, just like their word documents.

2. Not all savegames are hundreds of megabytes big. It's commonplace though, and disc space is still often a consideration. But the time investment is normally more important. Moreover people store audio, image and movie files which often require as much or much more disk space, so this is completely up to the person.

3. People may or may not prefer to start from scratch. They could be like you or they could want to pick up and complete long games like Arcanum once in a while, over several years. And both totally makes sense.

2/ MODS

I keep archived (not yet installed) mods in their own folder, so that the state of the game doesn't affect them.

Once installed, I consider mods as part of the game.
-> if I uninstall the game, I want to uninstall/delete the mods that go with it.

Modding the game should be done in a subfolder of the game folder itself. Whoever decided that it was a good idea to use "My Documents" (hello "NWN2", "DA:O", etc.) or worse %APPDATA% (hello "Battle for Middle Earth", "Sins of a Solar Empire", etc.) to store user-modded content has never had any consideration for people who like to keep their OS healthy (and backuped).

You lost me there somewhat but I would subscribe when you write that mods should be within the game structure. They are game data after all.

There are many different approaches to modding games and all have drawbacks.
Jonesofts Mod Enabler is a relatively simple way to manage mods, and it works well if there are not too many cross dependencies, differences and alternative setups. If there are many mods which change a lot of data, it can be better to have different installations of the game folder.

Theoretically it would be ideal to fully store only the game, and patches, updates, mods etc as byte differences, but when I have seen such functions in patchers they did not work that well. They can cut down the file size dramatically, but can also be very slow and unable to work with even the slightest different version.

3/ OTHER FILES

If you add to the above mess that some games like to hide :

  • config files
  • game documentation (manuals)
  • screenshots
  • their own run-time environment
  • their own version of system/language libraries
  • uninstall files (hello %PROGRAMFILES%\InstallShield crap)
in equally obscure and oftentimes non-sensical locations, it's no wonder that over-payed MS certified consultants still manage to multiply and feed themselves at the end of the day.

Before you ask, yes, I have heard of security considerations, "home" directories and "user profiles", since I was nurtured on NeXT/HP-UX even before I knew what a PC was. Thank you very much.

Sometimes, I have to pop up a Virtual Box just to keep my sanity, and have to wonder if it's not simpler on Linux + Wine or Mac + Bootcamp.

Solving the issue

  • <game folder>
  • <game folder>\<config>
  • <game folder>\<docs>
  • <game folder>\<mods>
  • <game folder>\<savegames>
  • <game folder>\<screenshots>
Registry values are kept clean, in reasonable numbers, and ideally removed with the uninstall.

The only stuff which should go elsewhere are :

  • system libraries (DirectX, OpenGL, PhysX, etc.)
  • language libraries (C++, Python, etc.)
  • popular run-time environments (Java, DOSbox, RPGmaker, etc.)

Your structure is ok for most situations but there will be others where it is not flexible enough. I actually prefer similar structures in my programs, but it could be a huge pitfall to make a structure too simple, and then set it in stone.

The ultimate problem is that Windows and it's file systems are not suitable for a really universal data structure. There are benefits if program and user data is kept separate. Theoretically it provides easier backups and program updates, as well as more application safety. But if the structure is chaotic the benefits quickly outweigh the usefulness. Moreover many games are not able to read save games from older versions, so archiving these files from a clean structure will be a complete waste of time. In these case the only reliable method to make backups is a brute force approach, a full, monolithic copy of a working instance of the whole game. The same works best with mods, too, in practical terms.

Lastly there exists only one hasssle free way to keep a working Windows, and backup all important data, that I know: To create image files of whole partitions or folders, before they stop working, get infected with malware, etc. This produces redundant, but reliable backups for the cost of some extra $$ (disk space).
 

Karmapowered

Augur
Joined
Jun 3, 2010
Messages
512
But you raise several points which impose a little too much.

Fair enough.

My point was not so much to impose a structure as to state (among other people here) that the current one (or lack thereof) is a mess, and provide one that would work for me.

I'll leave it as an exercice to the reader/game developper to gather and synthesize all the feedback here.

Jonesofts Mod Enabler

Yup, I am using that one too. It's one of the reasons I was petioning for the subfolder system for mods.

A structure like NWN would suit me perfectly, for all games. Coupled to that tool, one could create different installations of the game, mod and switch between them with ease.

I am amazed it isn't used more widely (last time I checked I couldn't find any homesite for it).

Your structure is ok for most situations but there will be others where it is not flexible enough. I actually prefer similar structures in my programs, but it could be a pitfall to make a structure too simple, and then set it in stone.

Honestly, I didn't mean to come out as some kind of zealot with my post, preaching my needs and wants and ignoring others'. As I said however,

I have never seen any advantage to separating user generated content (like save games, or mods) from the game folder itself.

Present me with benefits, and you might very well convince me. So far, I must admit I see none.

The problem is that Windows and it's file systems are not suitable for a really universal data structure. There are benefits if program and user data is kept separate. Theoretically it provides easier backups and program updates, as well as more application safety. But if the structure is chaotic the benefits outweigh the usefulness.

You're correct.

I used to be a strong proponent of uncoupling system/user data, but I have never seen it work as intended on Windows, even in corporate environments.

At home, I simply try to reach a consensus with my computer where :

  • I want to know where my important data is (so that I can easily and efficiently reach it, use it and duplicate it for safety)
  • I want to be able to restart from a clean slate with the minimum hassle (during a reinstall or upgrade)
  • if I decide to play, I want to play, not hunt for (intentionally or not) obfuscated folders or files
 

Jashiin

Arcane
Joined
Mar 28, 2012
Messages
1,440
I just wanted to mention the latest heavy offender is SRR, which for some reason - although Steam is installed on a totally different disk, not to mention partition - installs some fucking Unity Catch the size of 1,3GB in Appdata. My system partition only has 5GB free space on Windows 7 x64, FFS!

1zb5mkp.jpg


I like the game but... :x:x:x:x:x

Well I'll be ..

Was wondering where the hell my low c: diskspace came from :x
 

Burning Bridges

Enviado de meu SM-G3502T usando Tapatalk
Joined
Apr 21, 2006
Messages
27,562
Location
Tampon Bay


Karmapowered If done right, the major benefit of separating your program and data is that your users can update or modify the program without any consequences to the data. This is important not only for data but for configuration settings, meaning that users can update the game, launch it and the settings are still there. It requires a bit of thinking ahead on the part of the programmer, and discipline to stick with it, but it's worth it. If instead you blindly overwrite their ini's every time the program is updated, your users will be pissed off, and rightly so.

By the way, save games can still be stored in the game folder, it's a possibility. It's only important that they are well organized, completely decoupled and separate from binaries and program data.

I personally prefer xcopy deployed, self contained, simple data driven structures (almost) exactly like the one you describe. This is really not the best or most elegant one, but it's easy to program and can be deployed without much communication.

Where I didn't agree with you was your first points, which I found too subjective. Specifically they downplay the importance people might be giving to their data (savegames), which is a typical programmers mistake.
 

Karmapowered

Augur
Joined
Jun 3, 2010
Messages
512
I like games using My Documents for that stuff, as it's easy to find and all in one place, but I don't like games that use both Documents and Users for storing stuff. I really don't get why anyone does that. It just gets confusing.

In my mind, using %APPDATA% per se makes sense, since it's where configuration data that the player usually will not want to tinker with should be stored (among other stuff). Using %APPDATA% to store data that the player will want to easily reach (like INI files with common settings like the resolution or game options, save games, screenshots and mods) does not.

It is better to have frequently modified data go into a non-admin folder, and Documents fits the bill.

I keep "My Documents" for stuff like media (video, music, images) or office documents (spreadsheets, text files). I am not too keen on inflating such valuable and portable content with various binary files, textures, model files or temporary save games which are meaningless outside their context, since I back the folder up regularly. It's not the cost of external disks by themselves that matters to me, it's the ever-increasing time that indexing such content takes.

This means that you don't need an admin account to save your game.

If the admin of the machine is someone competent in user profil management, you shouldn't have such issues, UAC or not. This may however depend on the versions of W7 (Vista ?), so allow me just to express my surprise at your experience.

As a personal observation, I think that the practice of installing games in the same place than regular applications ("Program Files") should not be encouraged, but YMMV again.
 

Jashiin

Arcane
Joined
Mar 28, 2012
Messages
1,440
Seriously fuck installing in the first place. Have the game/program bring it's own files and keep it all in the same dir. If the OS needs shit to run it, well it's obvious where it should look right ?
 

Burning Bridges

Enviado de meu SM-G3502T usando Tapatalk
Joined
Apr 21, 2006
Messages
27,562
Location
Tampon Bay
That's called xcopy deploy. It has many advantages but doesn't work well in multi user environments.
 

Severian Silk

Guest
How do things work on Linux? Any better? I've used it a little, but still don't fully understand the file system.
 

Zarniwoop

TESTOSTERONIC As Fuck™
Patron
Joined
Nov 29, 2010
Messages
18,785
Shadorwun: Hong Kong
Yeah, Linux is all about making things LESS confusing :lol:
 

ChristofferC

Magister
Joined
Aug 12, 2009
Messages
3,515
Location
Thailand
On Linux, executables, libraries and static data files are stored under /usr/, global config files are stored under /etc/, global variable data files are stored under /var/ and user specific data is stored in hidden files and directories in your home directory.
 

As an Amazon Associate, rpgcodex.net earns from qualifying purchases.
Back
Top Bottom