True Crime: Streets of LA is a generally well-liked open-world game of the post-GTA 3 era. Eventually, the series developed into the excellent 2012 game Sleeping Dogs. But in between those two points lies True Crime: New York City, an overambitious mess of a game with a legendary selection of bugs and glitches. Now, at least, it’s given GameCube emulator devs a way to make Dolphin better.
“Over the course of seven years, developers spent hundreds of hours debugging” a particular crash in True Crime: New York City, as the Dolphin devs explain. Any time you would touch a physics object, the game would crash. The original version on GameCube had bugs, sure, but the game didn’t just crash like that.
The developers eventually learned that TC:NYC was dividing by zero every time one of those physics collisions would happen. You can get a more technical breakdown in the devs’ own words – I’m out of my depth on abstract math – but typically, you don’t want computers dividing by zero. Initially, the devs thought this was a bug with Dolphin itself. In the end, they discovered that this was actually how the game was meant to work.
TC:NYC was initially developed for PlayStation 2, which handles floating point math much differently than the GameCube – in that it handles it at all. The devs who ported the game to GameCube apparently didn’t have the time or budget to rewrite the physics engine in a way Nintendo’s machine could actually understand, so they translated numbers that the GameCube would understand as errors into simpler forms.
“This left us in the awkward position of needing to implement support for Floating Point Exception Handling,” the Dolphin devs explain, something that the emulator creators “never expected to need”.
They worked with the PlayStation 2 emulator folks working on PCSX2 to even understand the issue in the first place, and now there are two solutions to the problem in the latest Dolphin builds. One of them accurately emulates the behaviour of the original hardware, but is “incredibly slow” – the other is essentially a hack, but it lets the game run with reasonable performance.
The funny thing is that, even with all this effort put into making TC:NYC work on Dolphin, the devs still don’t recommend that you play it. “We at the Dolphin team highly recommend that casual users do not play True Crime: New York City in Dolphin or on GameCube/Wii at all. Period. The GameCube version has tons of serious problems, including reports that it could outright corrupt your memory card and cause you to lose all of your save data.”
The world of old games is a wondrous, terrifying place.