|
Gamasutra
recently caught up with Epic's Tim Sweeney at the Game Developers
Conference. Here, John McLean-Foreman talks with Sweeney about Unreal
Tournament, his experience at GDC, and his favorite games.
Give
us a quick backgrounder.
I started
at Epic about nine years ago with a little shareware game called Jill
of the Jungle: a little platform game. For the next few years,
I was mostly managing Epic and being the producer on projects, which
wasn't much fun because I'm a programmer at heart. Around 1996, I
started working on Unreal with James Schmalz and Cliff Bleszinski.
That was in development for a long time; that was a three-and-a-half
year project. We all worked on our first major project for the first
time, and learned all the ropes on how to make a 3D game. We also
learned how not to make a 3D game. (laughs) But in the end it all
came together, and Unreal went on to sell really well. After
Unreal, we did Unreal tournament, which shipped in 1999.
We did the Unreal Tournament Playstation 2 version,
and now we've been working on the next generation of the Unreal
technology, and started to work on our next game.
How
well do you think that Unreal has ported over to the PS2?
To PS2
it did okay. With Unreal Tournament, we were aiming to make
a launch title. Really, just get the game up and running and tweaked
for the console, but not really take total advantage of everything
that what possible, given the amount of time there was. So, it ended
up being a good game, it's, I think, the number eight Playstation
2 game right now. But it's not the ultimate console first person shooter
type of game. With our next project, we're really focusing on the
console aspect of it from the very beginning, trying to make a good
game. You know, a good PC game, a good Xbox game, as good a version
on the Playstation 2. I think that kind of approach will, in the long
term, work out a lot better because you can only do so much when you
take a game totally designed for the PC and try to port it over. When
you design it from the ground up, you have a lot more possibilities.
Will
your new engine have any basis in the Unreal engine, or will
it be something that we haven't seen before?
It uses
the existing Unreal technology as a starting point; we've pretty
much redone all of the rendering. We have an all-new polygon pipeline
for rendering extremely high detail, high polygon environments. So,
we've been focusing a lot on, and taking advantage of the new hardware
TnL (Transform and Lighting) cards, and the NV20 [GeForce3], and all
the new pixel shader and vertex shader effects that are possible.
So, from a rendering point of view it's going to look all new and
improved, but a lot of the tools are just incremental improvements.
We spent a lot of time improving the Unreal Editor, but it's the same
basic design. It's the same with the Unreal scripting language.
Some parts of the engine are still very up to date and timely, so
we're not going to spend another year redoing them when we don't have
to.
One
of the things that you've been quoted saying is: "One thing that
people lose sight of when making games is that they forget to put
the fun quality into it."
Yeah,
I guess that's pretty typical. That's a bad thing to do when you're
trying to make a game whose whole point is to be fun.
Especially
when you're programming code, how do you think in terms of fun?
Well,
it depends what you're working on. When you're programming graphics
code you're not thinking of fun, you're thinking of fast frame rate
and beautiful visuals. When you're writing gameplay code, when you're
building levels, when you're doing all of that, you're thinking about
the fun factor. So, different people on the team have different jobs
and different focuses. With the Unreal technology, I've always
been focused on the technology side of things. I mean, I play the
game a lot to make sure I'm enjoying it and everything, but the graphics
algorithms and design don't have much to do with fun.
How
much does the Unreal community affect your decisions on how
to alter the game?
That's
actually been a really huge factor with Unreal Tournament.
With Unreal One, we started out with the design in a vacuum,
and then to our surprise, all these websites started popping up: Unreal
fan sites - interviewing us, showing screen shots, and message boards
talking about the game. We started following them then, but it was
really Unreal Tournament where we made the community our number
one focus. So, we go on the message boards constantly, see what people
are saying about adjusting games, seeing what people were thinking
about our screenshots. We'd invite a lot of webmasters and random
gamers from all over the place over to our office to check out the
game and give us some feedback. Starting with Unreal Tournament,
the community has really been an integral part of our development
process. If the community doesn't love the game, then we're screwed.
Do
you do specific things that get them more involved in the whole process?
Well,
we're really a facilitator. We don't run Unreal websites, we
don't go out and try to start things or anything, but as game developers,
we put a lot of influences into creating good level editing tools,
a good scripting language, and really making those things approachable
by users. We make good documentation for Unreal websites, we
make sure it's out there. Our job there is really just to get the
tools into people's hands. If they don't pick up on it on their own
then there's really nothing we can do to force them.
Have
you ever thought of making an official tutorial for the Unreal Editor?
We do
that kind of stuff now and then, but really, the community has taken
over that. There's hundreds of Unreal editing and scripting
tutorials, and a few of them are really, really good and really detailed.
We even point a lot of our new licensees to these community run web
pages where they have tutorials on how to use the editor, for example.
When we write documentation it's usually the pretty hardcore stuff,
an overview of the Unreal Networking Subsystem for example, rather
than tutorials. We do a lot of in person visits with Unreal
technology licensees, showing them tutorials and stuff.
Everybody
on the team has spent his time developing their stuff, whether they're
a level designer or a programmer or whatever, part of that job includes
documentation - but we don't have a full time writer or anything.
Do
you foresee that you will get back to the storytelling aspects of
Unreal or are you happy with the way that it's going with the
multiplayer community?
Well,
I can't say a lot about our next game, but we're really trying to
mind the best of both worlds. What we got right with Unreal Tournament
was keeping the single player and the multiplayer in the same style
of gameplay. Okay, one has bots, the other has human opponents, but
it's the same game. What we found extremely hard with Unreal One
- we were trying to create a big story driven single player game with
a completely different multiplayer. You know, with deathmatch maps
and everything. We basically created two games, and that took as much
time as creating any other two games. That kind of detracted from
the whole project. It wasn't focused on one type of game or the other,
it was doing both. We got out of that with Unreal Tournament.
Unreal Tournament had very little story other than the one
we made up at the last minute. In the future, what we want to do is
keep the idea that the single player and multiplayer experience are
the same, but really be able to integrate the detailed story with
it, and give the player objectives rather than just: go shoot everybody
on this level. You know, create a more in-depth type of game. Real-time
strategy games have set a very good example there. You're getting
the player involved with the story and not breaking the idea that
single player and multiplayer are fundamentally the same kind of gameplay.
We're not going to make a real-time strategy type of game, but we're
going to learn that lesson from them.
There
are a lot of games that have used your engine, some to greater effect
than others. There is a fine line between what's going to make a story
immersive and what is just going to be too much and/or boring. Have
you learned that yet from watching people who have used your engine?
We always
err on the side of getting the player straight into the gameplay and
not bothering too much with cinematics and things. We'll keep that
kind of philosophy. One thing that I've never liked is in-game cinematics
where you cut out of the game and go in to a movie, and the movie
is prerendered, and it looks a lot better than the gameplay itself.
That jars players and makes them realize: "Gee, the game's rendering
just isn't that good." What we're starting to be able to do now,
especially with the next generation technologies, is do any kind of
cinematics in the game, not just stop gameplay and go to a cinematic,
but integrate it into the story and into the flow of the game. Half-Life
was the first game that really started down that path, but it can
be taken a lot further. That's my view of the ideal: to not rip the
player out of the experience, but to make the story part of the gameplay.
Deus
Ex uses the cutscenes within the Unreal engine,
but there seems to be a random quality to it. If you went back to
watch the same cutscene over again, it would be somewhat different
than the first time.
They
did an amazing job with it. The game has a lot of different plot twists
that have a significant effect on the end result. I don't know if
anybody's seen the whole game because every time you play it you can
do things differently and get different results. They did a great
job with it. So, it depends on the type of game. You really want that
with a roleplaying game, but some games, you tend to have more linear
gameplay going through a set of levels. You know, whatever's appropriate.
When
you are programming, what is the one thing that you try to keep foremost
in your mind?
(Laughs)
The one thing? It's more of a balancing act between all of the different
tradeoffs. There's always the performance aspect of your code: you've
got to get it running fast enough for the gameplay to work well. There's
also the simplicity issue. If you can write something in 10 lines
of code, or 20 lines of code and do it slightly better, it's usually
best to do it in 10 lines and just take the slight penalty for it
because you end up with an enormous amount of code that you have to
deal with every day. Productivity becomes the limiting factor in game
development. No game doesn't ship because the artists were late finishing
their work.
How
do you best find the bugs in your code?
You
want to divide the code up into modules. There's a lot of reasons
for that. One is it's easier to isolate problems. Another is it's
easier to work on a project with multiple people. You can't have a
bunch of programmers editing the same file - it would become a big
mess where nobody remembers exactly what's happening. Our philosophy:
we've always tried to keep the components of the engine clean and
simple.
Does
anyone help you program the core engine and the scripting language?
Do you find it difficult to delegate?
Well,
with Unreal One, I was pretty hardcore about keeping all that
to myself just because, at that point, we only had one other awesome
programmer at Epic: Steve Polge doing all the AI and gameplay code,
me doing all the engine stuff. That worked out okay for Unreal
One, but with UT, we wanted to have a lot more features
and do a lot more stuff. We didn't want to spend three-and-a-half
years developing a game. So, since then we've really learned to work
well with multiple programmers. Nowadays, we have six programmers
working on the engine, and everybody has their piece of the engine.
A lot of other people are helping out with various aspects of the
rendering code and the gameplay code. Everything is really well divided
up. It's not like a master programmer and a bunch of assistants. Everybody,
in their own section of the code, they're the architect, the programmer
and the bug fixer.
Are
you taking any tutorials at the GDC this year?
(Laughs)
I haven't had any time to go into the tutorials. Mostly I'm here,
meeting with guys, showing the technology, talking about stuff, doing
the occasional interview and seminar here and there.
Would
you find anything helpful by going to the seminars?
Yeah,
there are a number of seminars that I'd really be interested in going
to. There are some incredibly smart people here, but there's also
a lot of noise in proportion to that signal. There's definitely a
lot of good stuff to learn here. If you go down to a presentation,
like, there was one on rendering multiple resolution meshes, you know,
level of detail - Stan Melax spent the last few years working on that.
That's way more focused than any of us could afford to put into any
particular task. That kind of knowledge sharing is very useful. Then
there's some marketing guys talking about "how to make your game
sell a million copies," and that's a waste of time. (laughs)
Like any marketing guy knows how to do that.
Do
you think that there is any accuracy to the predictions that the PC
is going to die out?
Well,
I see the PC games business increasing and not decreasing nowadays.
You used to have this fact of life in the PC market, probably 95%
of games don't make a profit - they lose money, and probably 80% of
them just completely bomb, and are gigantic losses for the publishers.
Because you see a lot of crappy games coming out, a lot of clones,
where somebody identifies a great game like Command and Conquer,
and then tries to make a crappy clone with an inexperienced team on
a quarter of the budget. Of course it sucks and nobody buys it. Then
those publishers are the same guys who are saying, "Oh! PC gaming
is dead!" If you look at the guys who are creating the really
good games, you can reliably ship good games and have them sell well
as long as you're smart about it, and you're realistic about your
strengths and limitations.
Apart
from the fact that an inexperienced team worked on them, why do you
think that the majority of the clones are terrible? Do you think that
there are other aspects to it that makes them bad?
Cloning
games fundamentally works sometimes. If you look at any major genre,
there's always at least two games - you could even say that Unreal
One was an attempt to make a Quake clone. The game was
very successful on it's own because it wasn't just a clone, it added
a lot of new features to the genre, some really nice new visual effects,
a lot of new editing tools that the community picked up on… It
was adding a lot of things. You see a lot of clone games come out
now that don't add anything to the genre, and just subtract by not
having as good artwork, and not having as good gameplay, and being
rushed out to market. The PC market has always been sick like that.
If every
publisher was required by law to drop 80% of their games and only
focus on the remaining 20%, I think that you'd see a lot more games
coming out. I think that you'd see the industry sales increase overall
even with far fewer games coming out because those games that do get
completed would be a lot better. But, you know, publishers don't do
it that way. They're always out for the quick buck. Every publisher
has at least one major success, and they say, "Oh wow! Look at
all this money we made from this one game. Now, if we make five more
like it, we'll be making five times more money!" That's the big
thing about the game business: it's not scalable at all. Development
teams aren't scalable. A team that's created one good game isn't going
to be able to split into two teams and create two good games. They're
probably going to be able to create two mediocre games, or something
like that. It's this lack of scalability that nobody seems to realize
and recognize formally. It's very weird because companies like Id
Software have always been focused on staying small, and making a good
game, and have been able to do well repeatedly, game after game after
game. It seems like a lot of companies don't look around and notice
that. They just think: "We can be more profitable by becoming
bigger." Just the opposite happens.
|