Twenty years ago most computer games were either text based, or used low resolution sprites and sound effects that consisted of various tones and lengths of bleeping.
Producing the code to pick up your key presses and move a sprite across your screen accordingly was a straightforward job, as was drawing the sprites in the first place. Games were completed in a matter of weeks or even days by small groups of programmers working out of their attics and garages.
But as the power of our computers increases, so too do the expectations of gamers. In these days of 3D accelerated graphics and digital surround sound, the code needed to make your character move around believably in a detailed three dimensional world can take months to write, and cost a small fortune to develop. And that's before you even start producing the final content that the gamer will see and hear when they play the game...
Start Your Engines
Today many companies are deciding that it just isn't economical to develop games from the ground up, and are licensing the behind-the-scenes code that drives the game, known as the "engine", from other companies.
American McGee, currently working with Rogue on a third person shooter based around the story of Alice in Wonderland, told us that "the task of trying to build a fully functional 3D game engine from the ground up is not one that we were capable of undertaking, so our only real choice was to find an existing engine that gave us all the flexibility and functionality that we were looking for".
Many developers are finding themselves in the same position, unable to develop a game engine because of lack of money, lack of time, or simply because they don't have enough programmers capable of the increasingly difficult job of designing a competitive 3D game engine from scratch.
As Glen Dahlgren of Legend Entertainment explained, "By building your own technology, you run the risk of falling behind the technology curve, and you are going to be using a first-generation engine that will probably have trouble holding its own against second or third generation tech already available."
The solution is to go to companies that provide ready-made engines as a basis which can then be modified and extended as required.
One of the leading 3D game engines at the moment is the Unreal engine, produced by Tim Sweeney and his team of programmers at Epic Games. As well as powering Epic's own games, Unreal and Unreal Tournament, the engine has also been licensed by a number of other companies.
Warren Spector of Ion Storm Austin, who have been using the Unreal engine in the first person RPG Deus Ex, told us that they picked the engine because "Unreal was easily the best combination of performance and price available when we were in pre-production".
"It boasted a terrific toolset for designers to work with and seemed like it would be easily extensible. We knew we would be adding a lot of stuff to whatever engine we licensed (and we knew we didn't want to build something from scratch) so it had to be easily modified."
"Eventually, we added a conversation system, a bunch of 2D interface screens, new ways of dealing with weapons and objects, radically expanded AI capabilities, a realtime lip-syncing system that rocks hard. Just a bunch of stuff. Unreal provided a solid base from which to start."
The other main contender at the moment is the Quake 3 engine from id Software, a company which is no stranger to engine licensing. According to former id designer John Romero, they licensed the engine from one of their Commander Keen series of platform games way back in 1991!
The graphics engine from their hit shareware game Wolfenstein 3D was adapted for use in Apogee's Blake Stone and Raven's Shadow Caster in the mid 1990s, and since then they have licensed all of their engines to other companies as well as producing their own games based on them. Doom became Heretic and Hexen, Quake formed the basis of Hexen II and Half-Life, and the Quake 2 engine has been used in Kingpin, Heretic II, Soldier of Fortune, Sin, and Daikatana amongst others.
Having worked on Soldier of Fortune, Heretic II and Voyager : Elite Force, Raven's Jake Simpson is no stranger to working with id technology, and describes their latest engine as "pretty damn cool".
"There is a ton of experience and experimentation in [Quake 3] that saves us so much time it's unbelievable - the shader system alone is worth the price of the engine."
"Of course, it's missing a ton of stuff we are used to as well, like save games, and the whole single player infrastructure that is present in Quake 2. But then we are paid to expand the engine, so that's what we've done."
Of course, there are problems with using any off-the-shelf game engine, and Quake 3 certainly has its fair share of them, as Jake admits.
"The lack of big outside areas is something we have to come to grips with - Unreal Tournament and Tribes certainly make the most of this type of thing. Also, there are some other drawbacks that aren't readily apparent, since the way that Quake 3 is designed circumvents these problems. You don't know they are there until you try to do something out of the ordinary."
"Carmack is nothing if not pragmatic. He makes his engines to play the games he wants to produce, not the ones we want to, so sometimes we have to delve in and modify lots of stuff."
This echoes a comment made by a programmer at 3D Realms, who had been working on Duke Nukem Forever and was frustrated to discover that the Quake 2 engine that they had licensed was good for making one game with, and that game was Quake 2.
The company shocked many people by ditching the Quake 2 engine in 1998 and instead turning to Epic's Unreal engine for their new Duke Nukem game. This was despite them having impressed journalists with the game at E3 just weeks earlier, and having already paid up a significant cash advance to id for the rights to use the engine.
The engine's inflexibility apparently wasn't the main reason behind this decision though. Scott Miller of 3D Realms told us that "quite simply the Quake engines do not handle large outdoor scenes well, and we needed this ability to create many of the Duke Nukem Forever levels".
Not everybody runs into the limitations of the engines though, and American McGee, himself a veteran of id Software, told us that "in the case of Alice and the Quake 3 engine we aren't really finding that using someone else's engine is creating significant design limitations".
"At this point I can't really point out any real disadvantage in the decision we've made. Perhaps as we get further into the project..."
Although engine licensing is very much a sideline for id Software, it is certainly a profitable one - licensing the Quake 3 engine costs somewhere in the region of $500,000 per game, plus royalties!
Already the Quake 3 engine is being used in several games - "American McGee's Alice", "Heavy Metal : FAKK2", "Return To Castle Wolfenstein", "The World Is Not Enough" and "Voyager : Elite Force". Given that id spends next to nothing on marketing or supporting the engine, it's almost certain that they are making more profit from licensing the engine to other companies than they are from selling copies of "Quake 3 Arena", their own game based on the engine.
In fact, Monolith are so convinced that engine licensing is a viable business in itself that they have recently created a whole new company, LithTech Inc, to design, develop, license and support their LithTech engine.
One of the many companies that has licensed the LithTech engine is Third Law, which is using it to develop KISS : Psycho Circus. David Namaksy told us that "Monolith's commitment to developer support and continuous upgrades until our game is released was very important [in deciding to license the engine]. It's like having our own dedicated engine team working on the game!"
One time id co-founder John Romero's latest company, Ion Storm, has licensed both the Quake and Unreal engines, and according to him the level of support that you get for an engine "really depends on the company".
"Licensing an engine from id you almost get no help at all, and there's no documentation for it. That's not fun. If you licensed an engine from Monolith, or licensed the Unreal engine from Epic, those guys have really really great support."
There can be other problems with licensing as well. Raven started work on Voyager : Elite Force before Quake 3 Arena was released, and delays in the development of id's game led to problems for Raven.
"Trying to hit a moving target is never fun", Jake Simpson told us. "We expected the engine to be done long before it was, and this definitely had an impact on our delivery dates too, not least of which is that we can't release too close to the Quake 3 product."
"We got to a point in the process where most of the Quake 3 engine was done, rendering pipeline wise, and so when we got [source code] updates we simply cut and pasted those changes that we wanted into the code base we had."
And even when you have a complete engine to work with, much of it will end up being thrown away if you want to make a game that is more than a glorified mission pack. Scott Miller told us "the theory is that the developer who licenses an engine will save development time for their game, having a ready-to-go engine".
"The truth is that if the developer wants to make a true triple-A hit game, they will need to radically upgrade and improve the licensed engine. Half-Life is an example of this, and soon Duke Nukem Forever will be too. A great deal of the engine is our own."
"For the most part, all the original Unreal Tournament code remains", Scott explained. "Our code simply adds to the feature set of the engine."
Or as John Romero put it in his game design workshop at the recent Razer-CPL event in Dallas, "sometimes you just want to license the core part of an engine so you can add all your own stuff".
If you are going to be rewriting large chunks of the engine yourself in the end anyway, you might wonder "why not just start from scratch"?
Jason Kingsley is co-founder of Rebellion, the British company which designed Aliens vs Predator, and which is currently working on a team-based action adventure game titled Gunlok. Both games were based on in-house engines, and Jason told us that "with our own game engine we are free to do what the game needs, not to compromise on the engine that we have bought, and that is by definition second hand".
Xavier Carrillo of Rebel Act Studios agreed, telling us that creating your own game engine from scratch is "more flexible" than licensing one from another company, and that designing your own "you have complete control, and can model the engine depending on your design requirements".
And Jens Matthies, a level designer at Starbreeze currently working on an online first person shooter called Enclave, told us that using your own engine gives developers "the power to effect all aspects of the game".
"If I get an idea for a new feature I can tell Magnus [Starbreeze's lead programmer] about it, and if he approves he will include it. This is a huge advantage for me as a level maker, since it makes pretty much everything possible. It's glorious."
Obviously it's not all good news though. As Xavier told us, designing your own engine from scratch "involves more programers, and all the work done by the other departments has to be based on the evolution of the engine".
And from a level designer's perspective particularly this is a big problem. Jens explained that working with an engine which is still in development means that "there are always features that you know will be included but still aren't there", which in turn "makes it impossible to actually finish a level until very late in the development" of a game.
Although you can tailor your engine to your own game's needs if you design the entire thing from the ground up, doing so often means that much of the early work on a game has to be scrapped, redesigned or at least recompiled later on in the project.
And that is perhaps the biggest advantage of licensing an existing engine from another company - it gives your content team a (more or less) stable base to work from.
Because the engine has, in most cases, already been used in an existing game, your artists and designers can get straight to work instead of having to wait for the programmers to produce something which is vaguely playable.
And although the sometimes extensive changes that they make to the licensed engine can often still force redesigns, generally the basic features of the engine remain constant enough for the rest of the company to continue work without having to start over from scratch every time.