When you play a big game, you may notice it has a configuration tool that lets you change graphical and audio settings and maybe even input settings and other options. These tools are handy for editing such settings without loading the game. Why would you want one? Simple. You want to make sure users can fix any problems they have with the game.
Now, how would you make such a tool? What options would you expect it to have?
My thoughts were that I may make an Adobe Air standalone app for a game's launcher. It could then execute the game as an external application. All settings data would be stored in either a database file (SQLite) or a text file (XML). I'm still not certain what options I would include, though. maybe resolution options and various game-specific settings. Any thoughts?
Your reasoning is spot on, for example the user might set the game to a resolution that his/her monitor does not support. Having the settings/config dialog outside the game makes it possible to change the resolution to a working one easily.
As to what options it should have: Everything you think the user should be able to change, the more you expose the better. Keep in mind that users also expect options in the actual game, things like gamma and volume are hard to change when you dont see/hear the immediate changes.
And definitely store it in a readable text file, that way users can examine it and make manual changes if they so wish (Custom resolutions come to mind for example)
Anything game-specific, such as difficulty, player-name or whatnot, could/should be in-game only.
Custom resolutions should be available by typing them into the program. I think a plain text file leaves too much room for players to break the game accidentally, but then, if they did that, it would be easy to fix. What do you think?
I do not think difficulty settings need to be in-game only. The game should only load from the settings file when the game loads up, though, for technical reasons.
Good point about gamma settings. I am also thinking about DOF and FOV settings. Beyond those settings, I am drawing a blank. XD
Maybe settings for how many of a scenic item spawn at once and how detailed water and textures should be.
Syrsly
Twitch Streamer, Web/Game Developer, & Artist
syrsly.com - contact me for commissions, thanks!
The question is, what are the benefits? How often do you decide to edit settings outside a game? And how often are you angry because you have to end/restart the game because you want to change some `settings?
Sure there are some rare reasons, like when you cant start a game because of some damaged graphic settings, but you could just add a commandline command to launch the app with standard values or save the settings into a readable format xml/ini/txt