An Interview with Tim Sweeney
#1
Posted 15 July 2007 - 07:00 AM
Never the less, Shockingly, less than a day later, despite being very busy at work on the next rendition of the Unreal engine, Mr. Sweeney took the time out of his day to graciously answer my interview questions!
I would like to deeply thank Mr. Sweeney for taking the time to read my e-mail, let alone answer my questions. Mr. Sweeney has given me permission to post the interview online, and I have included the interview below for all to enjoy!
Elig: How has your week been so far?
Mr. Sweeney: Typically busy! Nowadays, I'm doing R&D work in preparation for the next generation of the Unreal engine. Most recently, I've been working on a new compiler for gameplay scripting, aimed at scaling up to multicore PCs. This week, I moved to a new PC with Windows Vista 64-bit and 8 cores, and have been testing some ideas.
Elig: Long, long ago in an interview, you said that in the future video games would be developed much as movies are, with huge budgets and massive teams. It would seem this was a very accurate prediction. What do you now feel about the future of game development?
Mr. Sweeney: Game development teams and budgets have grown immensely. Teams were 1-3 people in 1990, 20-30 people in 2000, and are 50-150 now. At the same time, though, costs have grown faster than game sales, so we can expect the growth rate to taper off in the coming decade. We're also seeing developers start to standardize on practices, using off-the-shelf tools (like Unreal Engine 3), well-understood iterative development approaches (such as SCRUMM), and so on. Like it or not, game development is a mature industry now.
Fortunately, there are still many opportunities for smaller teams and enthusiasts in creating downloadable games, building mods (and often taking them commercial), and developing for handheld devices like the Nintendo DS and Sony PSP.
Elig: You said in the same interview that designing things in 3d should be as fundamentally easy as designing things in ZZT. Do you believe we've made much progress towards that goal?
Mr. Sweeney: We've never achieved that goal, and in retrospect I think it was unrealistic. At a technical level, maybe did achieve it -- back with Unreal 1, I could build a minimal but fun and playable deathmatch level in about an hour, comparable to the time required to build a few rooms in ZZT. But it looked entirely amateur, compared to a level that an artist spent a week on.
Artistically, the gap between professional and amateur work is now immense, as has the time required to create competitive content. Back in the days of ZZT, and of low-res 16-color games, the medium was so limiting that programmer-created artwork and levels were comparable in quality to artist-created artwork. That changed dramatically with 256-color graphics, and then again with 3D. Now, it takes many man-months to create a level for Gears of War with, say, 1 hour of play-time. That's about 1000X more work than a comparable amount of ZZT gameplay.
Elig: How do you feel about the game design process these days?
Mr. Sweeney: I focus on the technology nowadays. My career as a game designer ended with Jill of the Jungle. :-)
Elig's Editorial Note: I had originally included several game design related questions, unsure as to how much game design Mr. Sweeney was involved in these days. Mr Sweeney was nice enough to edit out my game related questions as he does not do much game design these days. Again, thanks goes out to him for that.
Elig: Out of sheer curiosity I must ask, do you poke your head around the ZZT community from time to time? How do you feel about ZZT's community?
Mr. Sweeney: Occasionally. It's amazing to see that people are still building ZZT levels! But, it makes sense, as ZZT is so simple and minimal that you can spend all your time building a fun little game. To build a mod for a 3D game, you need to learn scripting tools, build levels, create artwork, learn a modeling program and build 3D models, and so on.
Elig: How do you go about programming games these days? Is there any particular engine structure or design which you have found beneficial?
Mr. Sweeney: In ZZT, you can see the outlines of many of the things we've done since in Unreal. There's an object-oriented system for managing gameplay objects and their interactions (the gameplay layer), with a scripting language layered on top of it. There's a uniform system for loading and saving data. There's a what-you-see-is-what-you-get editing tool for building levels. There's even a bit of dynamic lighting! :-)
At the highest level, we still use a logical extension of that design. And it's an unusual design compared to what most other game developers have chosen in their own engines. For example, in our scripting system, we implement automatic memory management via garbage collection, which carries a performance cost. We do that because it makes gameplay programming easier and more reliable. Many see this as heresy. But for us, productivity in building games quickly and shipping them is every bit as important as performance.
We still have a what-you-see-is-what-you-get editor, and with Unreal Engine 3 it's once again the same executable as the game. Most game developers use a combination of non-game packages like 3D Studio Max for level-building, and some kludged tools they wrote independent of their game industry.
I believe that's the right structure for an engine, and nowadays a few hundred developers have adopted it as a result of moving to the Unreal Engine.
There are only two design mistakes I regret, and they exist both in ZZT and Unreal. One is the dependence on a monolithic, atemporal binary file format. Especially now with many developers working on a single project, it's desirable to track revisions to each part of each object independently, using source-control tools like Perforce or CVS, and a monolithic file format works against that.
The other flaw is the notion of "levels", which requires special-case code to load and unload them, link them together, and move objects between them while preserving their essential properties. MMO engines have taken this flaw to new extremes, introducing intractable sets of bugs related to objects travelling between level and server boundaries. One would prefer to have a continuous game world and have the engine seamlessly move objects between the various layers of storage (memory, hard disk, network, etc) invisibly to the code.
Elig: What would you say are the most important things you've learned about video game design and programming?
Mr. Sweeney: Two lessons:
1. Iteration: No matter how good you are, you'll never get something right the first time. Writing great code, or building a great level, or shipping a great game all require a constant iterative process of creating, playing, testing, criticizing, and improving. When a product ships that's painful too use, it's seldom because the designers are clueless about usability, it's because they wrote a spec, built the product, and shipped it, without constantly trying it and improving it.
2. Integration: You can't have a bunch of developers build a bunch of stuff in isolation -- software components, game objects, whatever -- and then try to merge them together into some coherent whole. Better to throw it all away and start over. The only big systems that work evolved incrementally from small systems that worked, rather than a conglomeration of components from different places.
The world's most-respected tech companies -- such as Nintendo in creative game development, Apple with consumer products -- have generally mastered this.
Elig: What advice would you give those in the independent game development scene? Do you believe that the days when a programmer without a college degree could enter the industry are over?
Mr. Sweeney: To get an entry-level job in the industry, you need either a degree, or an impressive track record of independent work -- creating a mod for a major modern game, building an open-source project, or whatever. Game development is complex enough that a degree is extremely useful; even if you could get a job without one you are almost certainly better off with it.
If you're a programmer, you don't necessarily need to get a computer science degree. Related technical degrees -- computer engineering, electrical engineering, or mechanical engineering, are every bit as useful.
Elig: Lastly, and this is practically not even a fair question, but it's funny none the less. Any plans on a sort of ZZT 2?
Mr. Sweeney: I've always wanted to build a massive-multiplayer version of ZZT. In other words, a vast interlinked game world built and extended by users using simple ZZT-like tools. Like ZZT, it would be open-ended and community-driven. Players would be able to build their own levels and write scripts for objects, as well as play the game as a character, build up attributes and collect items.
Such a project would tackle all the key technical problems of MMO development without the complexity of a 3D environment. The data required for levels and motion data is also so simple that servers could be run by the community without significant bandwidth expense.
Alas, such a game wouldn't be much of a Gears of War killer. :-) So don't expect it to actually happen. But it would be interesting!
-Tim
I cannot adequetly express my gratitude to Mr. Sweeney for providing such in depth answers, and in such a short period of time! I think his answers were awesome to say the least. Even after the massive success of the Unreal series, he still takes the time out of his day for his ZZT fans. I have to say, I think he's a great guy.
<Mooseka> YES LANCER <b>TALK DIRTY TO ME</b>
<GMCBay> When creating a game, the first thing I do is design the box cover for the special edition collectors DVD. The second thing I do is begin thinking about what will be in the sequel.
<Koji> SOYLENT MILK IS COWS!! D:
<Jotz> you guys have such a mindless disdain for a delicious mint julep! that you're making it not work by thinking that it won't.
<Jotz> Sorry, but I don't think this project is going to succeed like a delicious mint julep! did.
<xicloid> Isn't there anything like "return null"in C?
#2
Posted 15 July 2007 - 07:18 AM

<Malwyn> Yes, yes. Don't worry I'd rather masturbate with broken glass than ask you for help again. :(
#3
Posted 15 July 2007 - 07:34 AM
#4
Posted 15 July 2007 - 08:52 AM
"about the only aisle a guy can walk into in that store and still feel heterosexual is the candy aisle."
"It had a very sinister appearance," Coakley told reporters. "It had a battery behind it, and wires."
#6
Posted 15 July 2007 - 07:47 PM


"I'm a victim of circumstance!" - Curly
"I reject your reality and substitute my own." - Adam Savage
"Why don't you cry me a river, build a bridge, and get over it."
"I see you're drinking 1%, is that because you think you're fat?" - Napoleon Dynamite
"War is Groovy" - some violent hippie
I have about 30 unfinished mzx games, and I plan to keep it that way.
#7
Posted 15 July 2007 - 08:11 PM
Elig, on Jul 15 2007, 01:00 AM, said:
Such a project would tackle all the key technical problems of MMO development without the complexity of a 3D environment. The data required for levels and motion data is also so simple that servers could be run by the community without significant bandwidth expense.
Alas, such a game wouldn't be much of a Gears of War killer. :-) So don't expect it to actually happen. But it would be interesting!
This would be great. Second Life has sort of done this except it's not much of a game and the people there are horrible. Also, I think it would be better as a 2D game. It would make it simpler to create things for it.
#8
Posted 15 July 2007 - 10:00 PM
Seventh Shade, on Jul 15 2007, 12:11 PM, said:
Truth.
#9
Posted 15 July 2007 - 10:39 PM
asiekierka, on Jul 15 2007, 03:34 AM, said:
lol i remember when some people were asking for network capabilities for mzx

#11
Posted 16 July 2007 - 05:45 AM
#12
Posted 16 July 2007 - 04:06 PM
#13
Posted 19 July 2007 - 01:20 AM
i always appreciate hearing his views on game design, mostly because he's just so spot-on. so yeah, congrats on the interview =)
<pyro1588> "welcome to australia, can i help you find what you're looking for?"
<Tox> pyro1588, I'm giving you the most reproachful of glares right now.
--------
Go show those nutty Koreans what us crazy Europeans are made of pirate.gif pirate.gif pirate.gif - Saike
<exophase> The old Commodore strategy of, "Go friggin' bankrupt!"
<wervyn> Go away! I'm writing the same engine I always do!
#14
Posted 21 July 2007 - 08:39 PM
#15
Posted 23 July 2007 - 06:11 AM

koji: SCRUMTRELLESCENT!
#16
Posted 23 July 2007 - 07:26 AM
#17
Posted 23 July 2007 - 12:05 PM
clysm said:
Seiklus the MMORPG!