From 007’s ‘Q’ Branch

Happy New Year to you all! I have a real New Years treat today, regular (or sporadic) readers will no doubt have noted the high regard I have for some old console games (particularly from my long lost gaming youth days.) Goldeneye is a game that stands out in particular not just for me, but many others. I randomly came across a lengthy piece by Martin Hollis, who was at the time, Head of Software for the Goldeneye (and later Perfect Dark) projects at Rare. His account of the frantic months and years of work which eventually culminated in these masterpieces make for fascinating reading.

So, in the specific case of GoldenEye, and with the benefit of hindsight, the gameplay model was Virtua Cop with a bit of Doom, plus some Mario 64. The theme or setting was (obviously) the Bond universe and particularly GoldenEye. Many of the visual effects and kinetic moments I took from Hard Boiled or other John Woo flicks. Especially, things exploding. Visually, there’s more to that than you might think.

His accounts of the lack of discernable direction or ‘game plan’ for many of the elements speak particularly loudly to me as I am myself now in software development. It is frankly amazing that the project was able to organically mature into the final product given how late in the day some design decisions were ultimately made.

I compiled a list of about 40 gadgets from various Bond films, most of which were modelled, and then Dave and Duncan tried to find levels where we could use them. This is backwards game design, but it worked very well. These models were the game design; there was very little written down on paper. And the models were researched and milked extensively.

Even more incredible was the lack of any real development hardware to properly test their work. Whilst architecturally similar, the SGI Onyx machine they did have was sufficiently different (and underpowered) to make the whole project akin to stumbling blinding along a dirt road at night. From my own coding experiences, it makes me a little edgy if I have been working on a large project (or piece of code) that can’t be compiled or tested until completed. In this situation it is far too easy to make a mistake which could cause untold hours of grief later on. The fact that this lack of ‘comfort zone’ for the majority of the Goldeneye project and not even having the concrete hardware capabilities of the Ultra 64 (later n64) platform until close to completion speaks to the commitment and, frankly, the nerve of the development and management team.

I mentioned we didn’t have an N64 or anything like one. The closest we had was an SGI Onyx or two. Thankfully, as it turned out, the N64 could render triangles much faster than the SGI Onyx. This was shocking as the list price of the Onyx was $250K dollars, and the N64 launched for about 1000th of this price. That’s progress. And it totally saved us, as several of the backgrounds rendered at about 2Hz (2 fps) on the Onyx, without even drawing enemies, objects, or Bond’s gun. My attitude was always, well, if it runs at all on the Onyx, we can probably get it to run at about 30Hz on the final hardware.

As you can no doubt tell from the gushing commentary I am very much in awe of this team’s accomplishment. I can’t recommend highly enough that you read the whole post for yourself.