

Why do games ship with bugs?

People often wonder about how games (from Aspyr and any other developer) end up with bugs in the final shipping version. In some cases, no matter how thoroughly both our internal and external QA test a game, there are some real-world configurations that just cause bugs we never could find in testing. This is normal for all software development, sometimes the only way to find these hard to reproduce bugs is to get a piece of software out to thousands of real world users and get their feedback. Fortunately in almost all cases these types of bugs are minor or only effect a very small subset of users. There are also some minor bugs that we have to ship with even though we know they exist. In this case we carefully weigh how many users they might effect and how serious the bug is before deciding it is something we have to live with. In the case of shipping known bugs, we prefer to only let things through that occur only in rare circumstances (say stacking up every crate in the world and jumping off of them causes the game to crash), or that doesn't impact gameplay (a tree that is supposed to be green shows up blue on some machines). The most more difficult kind of bug happens when from the time we finish QA and development of a game and it shows up in stores, new versions of an OS, video card driver, or even new computer models released. While in some cases Aspyr can test with pre-release versions of new drivers and even new hardware, often we aren't made aware of something being released until it is available for everyone to download or buy.



Civilization® IV Mac was a very particular case of new system software being released after the game had gone final, that led to bugs in the initial version of the game. In this case an update included several new components for both sound and graphics, and some caused conflicts with existing games. This caused a range of issues in Civ® 4 that we've been working hard to fix. While in many cases developers have access to pre-release versions of video card & system updates, it can be a balancing act to decide how much to test with each pre-release seed and how much to concentrate on known stable officially released configurations. When it does happen that a bug crops up in the final release of a new computer or system update, the best we can do is work as quickly as possible on a patch to fix any conflicts.



Patches

We've been busily working on a large group of patches that should be released in July and August. These include a Civilization IV Mac patch to address performance and sound issues, a Civ 3 Mac patch that adds Universal support for Intel and several bug fixes, Universal Mac versions of Rollercoaster® Tycoon 3, Jedi Knight 2, and Jedi Academy, an update for Tiger Woods® 2005 Mac that fixes a conflict with the latest version of QuickTime, and an update for Call of Duty® 2 Mac to bring it up to the latest PC version 1.3.