253
[AnotherSection]
Key3=Value3
Key4=Value4
Key5=Value5
The XML format is another common choice for confi gurable game op-
tions fi les.
- Compressed binary fi les. Most modern consoles have hard disk drives in
them, but older consoles could not aff ord this luxury. As a result, all
game consoles since the Super Nintendo Entertainment System (SNES)
have come equipped with proprietary removable memory cards that
permit both reading and writing of data. Game options are sometimes
stored on these cards, along with saved games. Compressed binary fi les
are the format of choice on a memory card, because the storage space
available on these cards is oft en very limited. - The Windows registry. The Microsoft Windows operating system pro-
vides a global options database known as the registry. It is stored as a
tree, where the interior nodes (known as registry keys) act like fi le fold-
ers, and the leaf nodes store the individual options as key-value pairs.
Any application, game or otherwise, can reserve an entire subtree (i.e., a
registry key) for its exclusive use, and then store any set of options with-
in it. The Windows registry acts like a carefully-organized collection of
INI fi les, and in fact it was introduced into Windows as a replacement
for the ever-growing network of INI fi les used by both the operating
system and Windows applications. - Command line options. The command line can be scanned for option set-
tings. The engine might provide a mechanism for controlling any option
in the game via the command line, or it might expose only a small sub-
set of the game’s options here. - Environment variables. On personal computers running Windows, Linux,
or MacOS, environment variables are sometimes used to store confi gu-
ration options as well. - Online user profi les. With the advent of online gaming communities like
Xbox Live , each user can create a profi le and use it to save achievements,
purchased and unlockable game features, game options, and other in-
formation. The data is stored on a central server and can be accessed by
the player wherever an Internet connection is available.
5.5.2. Per-User Options
Most game engines diff erentiate between global options and per-user options.
This is necessary because most games allow each player to confi gure the game
5.5. Engine Confi guration