How to Play System Shock 2 on Windows XP (or later)

System Shock 2

I'm not much for games. Having said that, one of the few games I've played (and enjoyed) is System Shock 2. There's quite a bit of history behind the development (and subsequent death) of this game; it's a fascinating read, if you've got the time. Unfortunately, it was never designed to run on Windows XP and had since gathered dust on my shelf. Occasionally a bit of Internet research would motivate me without any useful answers being forthcoming.

Until I came across this article. In a nutshell, here's what worked for my situation:

First, download the patch. It can be hard to find and requires a little detective work (we can't post it here for legal reasons). Essentially, the patch allows the game to run on Windows 2000. Once applied, you'll find one of two things: Either the game will run briefly and lock up once your character stops moving, or you'll receive the classic, "System Shock 2 has encountered a problem and needs to close" frequently with the shock2.icd file:

Error message

To bypass this, make sure that you're not running the game in compatibility mode for Windows 95/98/2000 and, instead, launch the game as normal. Once you get to the main menu screen, don't do anything else (yet):

main menu

From the main menu screen, ALT-TAB out of the game back to the desktop and launch the Task Manger with CTRL-ALT-DEL.

task manager

Find the process for shock2.icd, right-click on it and choose Set Affinity.

set affinity

This will bring up the Processor Affinity window. Make certain to uncheck all available boxes except for CPU 0. Click OK, close the task manager and ALT-TAB back to the game. By making the game run its process within a single CPU, the game should run correctly.

processor affinity

Hopefully, that's enough to get you pointed in the right direction. If not, take a look at the System Shock 2 Technical FAQ. Good luck!