Top issues for Casual Games in Windows Vista
Update – Sep 20, 2006
Issue 1: Don’t write to the Program Files folder:
The number one issue Oberon has seen with games is that they tend write to the Program Files folder during execution. This is not allowed in the Vista environment. Microsoft does some behind-the-scenes-stuff to keep the games running okay, but there’s really no good reason for programmers to write to this folder anymore.
The primary reason games write to Program Files is for saved games. It’s not surprising, but zero of the games we’ve tested are 100% when it comes to saves.
The current preferred path to save games in is:
This is used by the Microsoft Games (Minesweeper, Chess, etc) prepackaged in Vista.
This alone is a fairly simple fix, but it actually presents a bigger problem…
Issue 2: Another reason to avoid writing to the Program Files folder:
When the game is played on a computer with multiple accounts, the users will not be able to see each other’s save data. What this means is that in order to share anything between user accounts (generally high scores, though there are other forms of cool interactivity) the shared data needs to be saved elsewhere.
The current preferred path to save shared game data in is:
It’s also VERY IMPORTANT that anything that gets stored in this path is set to have the proper Read/Write permissions! In XP, Oberon saw some issues arise where the files were written such that only the owner (user who initially installed the app) had full control over the file. This meant that other users could only read the file, not write to it.
Also keep in mind that writing this sort of information into the Registry is no longer a valid option, as it too is generally protected from writing outside of the current user’s sector.
Issue 3: Final reason to avoid writing to the Program Files folder:
Oberon Games has also seen a lot of writing to the Program Files folder is when the game “unpacks resources” on its first run. This is generally a good idea to make for a smaller download footprint, and then extract the resources once everything is installed. However, this can actually be a small disaster. In Windows Vista, the user doesn’t necessarily have write access to this folder. This can mean one of a few things will happen.
· The game will halt to request elevated permissions (which can get nasty if it’s running in full screen mode already).
· The game will write to the user’s Virtual Store. This means it will write a copy of these files to each user’s Virtual Store!
· The game will hang indefinitely.
The best solution to this problem is to do the unpacking during installation. Depending on who writes the installer (Oberon generally handles this for titles it distributes), this may be more or less of a hassle. Since installation normally happens with elevated permissions anyway, it’s a non-issue to write the data out. Alternatively, if it’s absolutely necessary to do the decompression during execution, the data could be placed in CSIDL_COMMON_APPDATA.
Issue 4: Include Bigger Icons
Windows Vista allows for much larger icons to be displayed. This is particularly important for the Games Explorer where the icons are allowed to be as large as 256x256. High resolution icons must be included in addition to the standard (16x16, 32x32, and 48x48) icons.
Issue 5: The Games Explorer
This seems to be more of an issue for publishers than for independent developers, but it’s worth mentioning. Getting a game to show up in the games explorer requires a few steps (outside the scope of this document.) What’s important is determining the right features to offer in the Games Explorer window. If a game has been rated (by ESRB or its analogs), the rating needs to be assigned to the shortcut, and there are lots of “right-click” shortcuts that show up (such as shortcutting to the Saved Games folder, game’s homepage, etc.)
On a related note, developers can also add command-line support for Saved Games so that the user can simply double-click a Saved Game in Windows to launch it. It’s not clear how frequently this feature will be used, but it’s something to consider.
Initial Draft, Aug 30, 2006, Christopher Casey, Oberon Media
Edited Sept 20, 2006, James Mayo, Oberon Media
Edited for Final submission, Sept 22, 2006, James Mayo, Oberon Media