loonygames presents: Anatomy of a Video Game

about | feedback | archives | submissions

##### //loonygames://issue 2.8://Anatomy of a Video Game://1, 2, 3, 4, 5, 6, 7, 8

#####

What's new today:

New!!!
The archives have been cleaned up, dead links fixed, and the printable versions restored! Also, don't miss the new comments on the main page!

Livin' With The Sims
theAntiELVIS explores the wild and wacky world that is Will Wright's The Sims, asking the inevitable quesiton, "is The Sims the first step toward a virtual life where everyone is Swedish?"

Pixel Obscura
Josh Vasquez on Omikron: The Nomad Soul.

Real Life
Check out our newest comic strip, Real Life! Updated daily!

User Friendly
Updated daily!

Random Feature:

Search the Archives!

##### Vol. 2, Issue 8
January 10, 2000

#####

Anatomy of a Video Game

An article by Jake Simpson

his document is NOT about games design, neither is it a forum to discuss what's good and what's not in video game design. What this lecture IS about is how a video game is implemented. Mostly it will draw upon my PC experience, most specifically with the Quake engines - I'm sure we all know what Quake is and how it is contributing to the decline of western civilization and making us all damn good shots with a grenade launcher. At the end of this document there will be a little bit on how development for the PC is different from Arcade game and Console development. After that, I'll talk about how to get into the games industry a bit, and then we'll talk about perks of the trade. If I'm too technical in this article I apologize. It's designed for those that have little or no experience, just lots of interest And if I'm not technical enough, well email me and I'll be happy to go into more detail :)

Who I am

My name is Jake Simpson, and I work for Raven Software. I’ve been in the games industry for the past 10 or so years, on and off. I started off back home in Blighty working on games for the Commodore 64 home computer, on games like Archon, a couple of machine ports of games, and a James Bond game. I’m just trying to decide if most of you here were even born when that was around. From there I worked on Amiga games and then got badly burnt by a publishing house in England, so I knocked it on the head for a few years and went off and did corporate computing. Man, was that ever boring. I hate wearing a suit. Then, when I came to the country of McDonalds and rollerblading, I was fortunate enough to land a position at Midway Games, famous for Mortal Kombat and NBA JAM. I worked on several games there, which included Mortal Kombat 3, NBA JAM, WWF Wrestlemania and Revolution X. After 6 years there, I moved on to PC work with Raven, where I am now. If you want to contact me, feel free, my email is jsimpson@ravensoft.com.

Who I work for

I work right now for Raven Software, which produces primarily PC games, using id technology as its basis. Effectively, what we do is take the games that id makes, like Quake for instance, strip down the game engine technology, then build a new game, adding substantially to the base that Id has provided to create something new. It sounds like a cop out, but when you work out how long it takes to build a stable game engine from scratch, it does save a lot of time.

General Notes on Game development.

Gone are the days of two kids making a hit game in someone’s bedroom over 6 months. These days there are so many disciplines in a game development process that it takes a team of people usually at least a year to create something worthwhile. For today’s 3D games, you need a texture artist, a 3D modeler, a 3D animator, programmers (obviously) with areas of expertise, like networking, rendering, math, physics etc. And mainly you need someone in control of the whole thing. Then you need the support staff, someone to handle the network, someone to handle the web page, a publisher, marketing, equipment to develop on... and mostly money to pay for it all. Usually a game would take at least a year to produce, without developing new technology for it, or spending much time on Research and development. If you add that in, then development tends to mushroom out to 18 months to 2 years. There are some games that have been in development for over three years as we speak here now.

Generally most code is written in either C or C++, in a modular fashion, with as much black boxing as we can do. This makes modules portable, and also makes for better compartmentalization of programmers. Heavily used routines (for instance vector routines) get put into a separate file for ease of optimization later. Often we’ll spend time going through these routines and hand convert them into assembly for faster processing, although to be honest its getting harder to beat the compiler these days and I think with processors getting much more complicated, with bigger instruction pipelines and more complex code organization this practice will die out soon.

So let’s get to the juice of the matter, the building blocks of today’s games.

Next >>

about | feedback | archives | submissions

loonygames |

Credits: Illustration © 2000 Durrenberger David (dines). This article is © 2000 Jake Simpson. All other content is © 2000 loonyboi productions. Unauthorized reproduction is prohibited. So don't do it, or we'll dissect you.