Unreal
Tournament, released in November 1999, was, in a way, an accident.
After the original Unreal was completed, Epic wanted to follow up the
project with some sort of add-on pack. Unreal multiplayer code was very
poor, so the team felt that an expansion that improved multiplayer would
be ideal. As feature lists grew and patches to Unreal were released,
the add-on turned into a complete and independent game.
Unreal
Tournament has certainly seen a very nontraditional development
cycle, one that I feel would not have succeeded in any other genre.
Ultimately, our decisions paid off, because the game earned more than
five "Game of the Year" awards and is consistently rated in
the top ninetieth percentile in reviews. The online community is producing
excellent expansions and modifications to the game and we feel that
Unreal Tournament will be around for a long time to come.
Early
Development
>A
proper look at the development of Unreal Tournament begins with
the completion of Unreal. The Unreal engine was four years
under development and the team was wearing down. When the game shipped,
it met with a large amount of acclaim, but that positive image was tarnished
over time as hardcore players began to complain about the terrible network
support. The Unreal team was now faced with several more months
of work on the game, essentially to bring it to the point it should
have been at when it was put on shelves.
Early
in the process, plans were discussed to work on an official Epic add-on
to Unreal. The add-on would introduce much-improved network play,
new maps, and probably some new game features. The original ideas for
the add-on were never put on paper and it never had a name. I was hired
by Epic in August 1998 to assist with patching Unreal. Eventually
I started to write new code for the add-on with Steve Polge.
Initial
work on the add-on in early summer 1998 was made difficult by the fact
that Epic was a virtual company. The last year of Unreal's development
took place in Canada, with the U.S.-based Epic team flying back and
forth to work with Digital Extremes in London, Ontario. When Unreal
was finished, no one at Epic wanted to travel anywhere, but at the same
time the team recognized that they needed to move to a central location.
The team decided to relocate all of its employees to Raleigh, N.C.
By September
1998 everyone was together or had a travel plan. Work started to come
together rapidly on the add-on project. Steve Polge had laid the groundwork
for several new game types, including Capture the Flag and Domination.
The level designers had five or six good maps ready for testing. Throughout
sporadic but intense meetings, the team agreed to focus the add-on entirely
on improving the multiplayer aspect of the game with new features and
better net code.
 |
A
close-up shot of the Black Thunder skin on Shane Caudle's Male1
model. This was one of the first new skins developed for Unreal
Tournament.
|
The amount
of content grew and we soon realized we had a much larger project on
our hands than we had originally thought. In November, after meetings
with our publisher GT Interactive, Mark Rein suggested we turn the add-on
into a separate game. Initially, the team opposed the idea. We wanted
to finish the project quickly and move on to something fresh. The promise
of a much higher profit potential, coupled with our recognition of the
state of the project finally led us to agree with GT. In December, the
name Unreal: Tournament Edition was chosen, with "Edition"
subsequently dropped from the title.
A Game
Takes Shape
Epic's
internal structure is extremely liberal, probably the most liberal in
the entire gaming industry. Programmers work on the projects they want
to work on, with major features being assigned to whoever steps forward
to take on the task. Artists work with level designers but are given
significant design freedom. Level designers work on the kinds of maps
they think would be cool. This design philosophy pervaded Unreal
Tournament's development.
In December,
I downloaded a sample of a new Unreal mod under development by
an Australian named Jack Porter. The mod, UBrowser, was a server browser
using a Windows-like GUI. It was impressive, so I showed it to James
Schmalz, lead designer at Digital Extremes, who said, "We need
that, we need to hire this guy." A few weeks later Jack was a part
of the team, expanding his UWindow GUI and reworking Unreal Tournament's
menus to use the system. Jack fit into the team perfectly, bringing
a complete solution for the interface and menus as well as his own independent
programming initiative.
Weekly
meetings infused order into our chaotic corporate structure. Everyone
would debate and yell about what features were cool and what features
sucked. The assignment of major features was largely automatic. Tim
Sweeney worked on improving net code and engine fixes. Steve Polge wrote
the original AI code and focused on adding player orders and other improvements
(in addition to filling out the new game types). Jack had the windowing
system and a lot of menus to work on. Programmer Erik de Neve was in
Europe putting together level-of-detail code as well as experimenting
with next-generation technology. I worked on the single-player game,
game-play features, scoreboards, HUDs, special level actors, tutorials,
and wrote a lot of the game's story and character background content.
The best
features were added entirely by the initiative of individuals. Level
designer Cedric "Inoxx" Fiorentino designed CTF-Face, an extremely
popular Capture the Flag map. I added the Multi-Kill system after a
short discussion with lead designer Cliff Bleszinski sparked the idea,
and Jack implemented decals shortly before we shipped. It was this individual
creativity that ultimately bound the team together. Each new feature
infused everyone with the enthusiasm to add more.
 |
 |
Unreal
Tournament's deathmatch maps were not
constrained to any one particular theme or timeframe.
Cliff Bleszinski's DM-Barricade, shown above, is a
castle floating above a storm, while Pancho Eekels'
DM-Galleon is a massive ship sailing the ocean
|
Once the
first batch of new player models, weapon models, and maps was completed
we realized we had a game quite different from Unreal. Feedback from
the Unreal deathmatch community (including the highly vocal Quake
community's complaints) also drove our designs. Subtle alterations to
player movement and control changed the feel of the game completely.
Some changes in game play - such as whether to enable weapon-stay in
single player - were controversial, so we held polls on popular Unreal
message boards.
Throughout
the spring and summer of 1999, Epic was pursuing contract renegotiations
with GT Interactive. Everyone believed the game could ship at any time,
so development became stop-and-go. We would be in a code lockdown one
week and adding major new features the next. The result of this jarring
development cycle was good and bad. The periods of code lockdown allowed
us more time to play-test and fix bugs, which contributed greatly to
the game's overall polish. On the other hand, it prevented us from adding
many features that would have otherwise been included and it was detrimental
to the morale of the team. We liked working on Unreal Tournament,
but it still felt like old technology to us. The world had seen the
Unreal engine; we were ready to move on.
New
Code, New Features
As it
turned out, though, we had a lot of time to enhance the engine. Unreal
was before its time and a lot of the content and code was rushed by
the need to ship. With Unreal Tournament, the team had a lot
of time to use previously unexplored engine features. Erik de Neve's
level-of-detail code ended up really speeding the game up, giving us
room for beefier characters and more map decorations.
Early
on we experimented with using 16 256¥256 textures per player, but
opted for three or four 256¥256 pieces out of memory considerations.
This quadrupled the detail available to our skin artists for the player
models. Reserving one of the 256¥256 textures for the head alone
allowed us to mix and match body skins with heads, yielding a massive
amount of customization with only a small amount of work. Another one
of the 256¥256 textures was reserved for team color bits, so that
a player skin could encompass all five possible team colors (none, red,
blue, yellow, green) without too much memory use.
Level
design didn't stand still either. Changing from single-player to deathmatch-oriented
design was refreshing for the designers, but not without its unique
challenges. One issue was the task of balancing the number of "hardcore"
maps with "theme" maps. A hardcore map focuses entirely on
layout and game play, while the overall style of the map comes second.
Theme maps, on the other hand, focus on a unifying idea or look and
build from that. For example, the Koos Galleon, designed by Pancho Eekels
of Digital Extremes, is a large sailing ship. It's a very beautiful
level, but focuses on the theme of being a ship more than being a deathmatch
map.
 |
Unreal
Tournament
used from three to four 256x256 textures per model. This allowed
us to focus a lot of detail in the head and face area. Within
the game a player can choose a skin and then swap through several
different faces. This means players on a team can wear identical
armor and clothing but have unique faces.
|
The Unreal
Tournament team decided that mixing the two styles was the best
approach. While most magazine reviews have expressed frustration at
the theme-oriented maps, we didn't want to appeal to only the hardcore
crowd. Including maps that were designed for their look and feel increases
the game's interest to average players who aren't skilled enough at
the game to benefit from hardcore designs. Realism through textures
and architecture is one of the Unreal engine's strengths and
it was critical that we exploit that strength. Ultimately, we shipped
Unreal Tournament with somewhere around 45 to 50 maps, offering
more than enough variety and replay value for everyone.
Another
task we faced was choosing which of Unreal's weapons to keep
and which to ditch. Unreal Tournament has two firing modes which
makes designing a weapon like designing two weapons in one. Unreal's
stinger and dispersion pistol were not needed in Unreal Tournament.
Those weapons were good in Unreal, because a player needed to
start with simple, weak weapons and build up. In Unreal Tournament,
all the weapons had to be equally effective and carefully balanced.
A player good with the minigun needed to be lethal with it. A player
good with the pulse gun needed to be lethal with it. Eventually we settled
on the current load-out, but made quite a few game-play changes to the
weapons that stayed from Unreal. Each weapon was also given a
much more beefed-up look and sound.
An interesting
little anecdote: GT started doing promotion for Unreal Tournament
before the new rocket launcher was finished. They produced a lot of
marketing material with old screenshots showing the eightball launcher
from Unreal. If you look at the gold trophy used in the print ads, you'll
see the characters at the top are holding eightballs, a weapon that
isn't in Unreal Tournament.
In
the End, It All Worked Out
While
the talents and devotion of individual team members created the content,
the overall team spirit tied it together. Unreal Tournament's
design process was often reckless, but the game that resulted is nevertheless
very polished and a hell of a lot of fun. The deathmatch-focused first-person
shooter doesn't need a story, dialogue, or scripted sequences, which
are all features that more or less require an organized design. Had
we applied our hodgepodge design approach to a more focused genre, we
probably would not have had such a successful game. Unreal Tournament
should not be seen as a lesson in how to design a game, but as a lesson
on how to organize a small team of developers.