DF Retro: why Resident Evil 2 on N64 is one of the most ambitious console ports of all time
How two CDs were crammed on to one 64MB cart.
With game-makers and publishers building almost all of their games with multiple console platforms in mind, it's worth remembering that things used to be very, very different. Titles used to launch on bespoke arcade platforms before being ported to home consoles, and when hardware like the original PlayStation arrived, titles were specifically built around its strengths. Direct ports to other systems rarely worked owing to massive hardware differences, with some developers opting to create entirely new games instead. But when it came to the N64 port of Resident Evil 2, Angel Studios - now Rockstar San Diego - went for a different approach. It aimed to overcome the N64's most profound limitations, delivering an uncannily accurate port of the original PlayStation release.
On the face of it, an N64 conversion of Resident Evil 2 shouldn't be a problem. After all, at the nuts and bolts level, the action consists of fairly simple 3D characters and objects overlaid on a series of pre-rendered 2D backdrops. An invisible mesh creates the boundaries of the 3D space, ensuring that the characters sit correctly within the environments, while moving through the levels is achieved simply by flipping from one screen to the next once you hit the boundary - there's no scrolling here.
But what sounds simple in theory becomes massively more complex when you look at the implementation. Resident Evil 2 for PlayStation shipped on two CDs. It's true that there's commonality is some of the data between the two discs, but the bottom line is that just one CD offers Capcom the luxury of 700MB of storage. That's plenty for the game's 2D backgrounds, its 15 minutes of full-motion video plus its 200 minutes of sample-driven soundtrack - on top of other in-game audio, including character voices. The N64 version has to somehow contain all of this data within one 64MB cartridge - less than 10 per cent of the storage available on one of Resident Evil 2's CDs. Additionally, even if the storage situation could be resolved, N64 doesn't have any hardware-accelerated video decompression - something Capcom utilised extensively in the PlayStation game.
Piece by piece, Angel Studios tackled the challenges in bringing Resident Evil 2 to the N64, and the end result - though quite different in some regards - still holds up nicely when compared to the PlayStation original. Indeed, in some respects it delivers technically improved solutions that utilise the strengths of the N64 hardware, and it even offers support for the extra memory delivered by Nintendo's Expansion Pack. Some might even say that it's one of the most impressive conversions in the history of console gaming.
Replicating PlayStation's full-motion video was perhaps the most challenging daunting challenge. With its lack of cartridge space and bespoke hardware decompression technology, the developers developed their own tools and methods for compressing the data into an acceptable form. Video data was first converted from RGB to YCbCr using chroma subsampling to reduce chroma to a fraction of its size while only halving the luminance. Bitrate was varied per clip - sequences with lots of motion were encoded with a higher bitrate while low motion scenes could make do with a reduced bitrate.
The frame-rate of the videos was halved from 30fps to 15fps - interpolation then is used to make up the difference which improves fluidity. The resolution of the clips was reduced, and the N64 RCP was used to scale the image to full-screen - this also saved on storage space. Further tricks were also deployed, with Angel using the equivalent to variable frame-rate in today's video encoding: still scenes relied on frame holding (why encode multiple frames with the same content?) and audio was carefully synced to frames.
Every possible nip and tuck were made to find the right balance and deliver acceptable results - and 'acceptable' perfectly sums up the final quality. It's plainly obvious that Nintendo 64's video clips fall short of the original PlayStation version. The brightness is halved, the reliance on motion interpolation reduces fluidity, resolution is lower and compression lossier - all of these things are evident and yet, it works. Angel managed to fit the full 15 minutes worth of full-motion video on this cartridge - something that no other developer had achieved.
Bespoke solutions for background and object rendering were also deployed. This version of Resident Evil 2 is wholly unique - while most of the other ports are more or less based on the PlayStation version, the N64 port handles things differently. It takes advantage of the system's Z-buffer when it comes to depth calculation, for instance, while characters feature entirely new textures designed to fit within the constraints of the system, complete with bilinear filtering. The overall detail level is slightly reduced compared to PlayStation, but N64 users did get the benefit of the system's hardware anti-aliasing.
Background resolution is reduced across the board with the system basically stretching and filtering assets to fill the screen. What's curious about this, however, is that framebuffer resolution varies based on whether you use the Expansion Pack or not. Without the expansion pack, the game's framebuffer seems to remain locked at 320x240 throughout the game. The artwork is generally of a lower resolution and the eight by eight compression artefacts visible as a result of its JPEG-like compression are super-obvious, but it works. However, with the Expansion Pack plugged in, the game varies its frame buffer resolution on a per-scene basis.
By varying the resolution, however, the game switches output modes constantly. Within the first few scenes, the game bounces between 240p and 480i output five or six times. This is seamless on a CRT television lending the game a sharper, higher resolution appearance when in 480i but, when playing with today's line doublers and scalers, this is a real problem as it can take time to switch resolutions. Basically, this version of the game is just barely playable on an OSSC and completely unplayable on a Framemeister.
But how does it compare visually to PlayStation? Well, it's impressive but, once again, there are visible corners cut. Additional compression artefacts are visible as a result of the conversion and compression while detail is lost in other scenes due to reduction in asset size. There were rumours that the N64 version featured higher resolution backgrounds and this can be true in terms of what is drawn to the framebuffer, but the source artwork is reduced across the board. PlayStation simply features more detail all around.
But honestly, despite this, Resident Evil 2 still looks attractive on N64 and without a direct comparison, it holds up well. And the plus side, character model rendering is slightly improved - at least in some ways. The N64's anti-aliasing feature, which is a hardware function, smooths out edges on character models leading to less visible shimmering.
The audio is perhaps the most impressive thing about this port. Resident Evil 2 uses voice acting for each of its cutscenes and features a wealth of original music with a vast array of bespoke samples all designed for PlayStation's dedicated audio chip. N64 lacks such a chip and, in fact, its sound libraries seem to have been rather limited - and even Angel Studios struggled to find a solution, leading them to collaborate with celebrated developer Factor 5, working directly with legendary music composer Chris Huelsbeck and two further team members.
Huelsbeck helped develop a sound system known as Mus for Nintendo 64 and the Game Boy. This sample-based system allowed developers to define their own unique sound samples while working in real-time with a Windows application. The PlayStation already has support for this style of music playback and many games rely on samples rather than streaming digital audio and Chris Huelsbeck's Mus system was capable of very much the same thing on Nintendo 64. He managed to increase the quality of the samples slightly over the original while perfectly reproducing the PlayStation soundtrack. Mus even supports Dolby Surround offering improved spatial awareness in the right setup - developers were free to license this provided they met certain requirements.
Of course, while the soundtrack is completely intact, the same cannot be said of the sound effects and dialogue. Once again, this comes down to lack of space - there is only so much that can be done here. Voices are compressed and played back at a lower rate, with a more muffled delivery but, while the quality is reduced, the fact that we have this much spoken dialogue in a Nintendo 64 title on top of the full-motion video is just remarkable.
Angel also introduced a small series of gameplay changes too. The N64 version features a second, reworked control scheme allowing direct movement with the analogue stick as opposed to tank controls. It works supremely well to the point where it's borderline game-breaking. You can also adjust the violence level and blood colour, there is an item randomiser which varies item placement on different playthroughs and a selection of documents known as the EX Files designed to fill new players in on what has happened in the series while teasing elements related to Resident Evil 0. That's right, Resident Evil 0 was originally in development for Nintendo 64 with a release date set for one year after the release of RE2 - but as we know now, this never came to pass and was instead moved to Nintendo GameCube.
This was achieved in just 12 months by nine full-time developers working from C code that more closely resembled assembly code, while struggling with comments written in Japanese. Bearing in mind how many ports of this era ended up being complete remakes, or different games entirely owing to hardware differences, it's tremendous to see just how close Angel Studios got in replicating the PlayStation experience for owners of the Nintendo system. Plenty of other ports exist, of course, from PC to GameCube to Dreamcast, but all of them had the storage and processing grunt to make the conversion viable - but to get this game looking this good on Nintendo 64 required something special.
So, what's the best way of playing RE2 today? The PC version with Gemini's Classic Rebirth mod is one viable way forward. Rebirth adds full support for higher resolutions beyond what the original game could support, and it fixes Windows compatibility issues and adds X-input support for modern gamepads, it translates everything to English, fixes colour space conversion issues in the background art and corrects some bugs in the original. Not only that, but this version eliminates loading almost entirely. Transitions between screens are now instantaneous while you can skip every loading door. This makes playing through the game extremely fun and simple. The only downside is the combination of ultra high res characters and original low resolution backgrounds - not a problem if gaming on a CRT, but I suspect that's off the table for most users.
And this makes the GameCube version an interesting choice. It has the same resolution disparity, but the homebrew tool Swiss can force any resolution you like - and by selecting 240p, the high res character models get super-sampled down to match the background art resolution, giving a smoother, more consistent look.
But perhaps the best is yet to come. Announced years ago, Resident Evil 2 is finally receiving the full remake treatment. It feels like a proper mix of classic Resident Evil with RE4 style gameplay. It's fully 3D and appears to have been expanded greatly. More of Racoon city is explorable now and everything is seamless. On top of that, it runs at 60 frames per second and showcases Capcom's latest RE engine at its best. Rest assured that we'll be covering this one in plenty of depth when it launches at the end of next month.