<html>

<head>
<title>loonygames presents: Anatomy of a Video Game</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
a { text-decoration: none; }
a:hover { color:000000;  text-decoration: underline; }


</style>
</head>

<body bgcolor="#FFF4D0" link="#3333FF" vlink="#000000" alink="#000000">
<center>
</center>
<table width="100%" border="0" bgcolor="#3596B3" height="58">
  <tr> 
    <td height="69" width="29%" align="left" valign="top"> 
      <div align="left"> <font face="Arial, Helvetica, sans-serif" color="#FFFFFF"><b><i><img src="../../images/logo_new.jpg" width="182" height="63" border="0" usemap="#logoa"> 
        </i></b></font></div>
    </td>
    <td height="69" width="29%" align="center" valign="top"> <center>
<script type="text/javascript"><!--
google_ad_client = "ca-pub-2373963192914918";
/* 468x60 */
google_ad_slot = "3417104156";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</center>
 
    </td>
  </tr>
</table>
<table width="100%" border="0" bgcolor="#3596B3" height="29">
  <tr> 
    <td height="20" width="25%" align="center" valign="middle" bgcolor="#86531A"> 
      <a href="../../../about.1"><font face="Arial, Helvetica, sans-serif" color="#FFFFFF"><b><font size="2">about</font></b></font></a></td>
    <td height="20" width="25%" align="center" valign="middle" bgcolor="#86531A"> 
      <a href="../../../feedback.1"><font face="Arial, Helvetica, sans-serif" color="#FFFFFF" size="2"><b>feedback</b></font></a></td>
    <td height="20" width="25%" align="center" valign="middle" bgcolor="#86531A"> 
      <a href="../../../archives/index.html"><font face="Arial, Helvetica, sans-serif" color="#FFFFFF" size="2"><b>archives</b></font></a></td>
    <td height="20" width="25%" align="center" valign="middle" bgcolor="#86531A"> 
      <b><a href="../../../submissions/index.html"><font color="#FFFFFF" face="Arial, Helvetica, sans-serif" size="2">submissions</font></a></b></td>
  </tr>
</table>
<div align="center"> <br>
</div>
<table width="100%" border="0">
  <tr> 
    <td width="72%"> 
      <h5><b><font face="Arial, Helvetica, sans-serif">//<a href="../../../index.html"><font color="#7C420E">loonygames</font></a>://<a href="../index.html"><font color="#7C420E">issue 
        2.8</font></a>://<a href="index.html"><font color="#7C420E">Anatomy of a 
        Video Game</font></a>://1, <a href="index2.php"><font color="#7C420E">2</font></a>, 
        <a href="index3.php"><font color="#7C420E">3</font></a><a href="index2.php"><font color="#7C420E"></font></a>, 
        <a href="index4.php"><font color="#7C420E">4</font></a><a href="index4.php"><font color="#7C420E"></font></a>, 
        <a href="index5.php"><font color="#7C420E">5</font></a>, <a href="index6.php"><font color="#7C420E">6</font></a><a href="index6.php"><font color="#7C420E"></font></a>, 
        <a href="index7.php"><font color="#7C420E">7</font></a>, <a href="index8.php"><font color="#7C420E">8</font></a></font></b></h5>
    </td>
    <td align="right" valign="middle" width="28%"> 
      <div align="right"> 
        <h5><a href="http://www.loonygames.com/includes/printme.pl?url=/2.8/feat/&amp;withimages=yes"><img src="../../images/icons/print01.gif" width="27" height="27" align="baseline" border="0" alt="switch to printer-friendly version"></a></h5>
      </div>
    </td>
  </tr>
</table>
<br>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
  <tr> 
    <td align="center" valign="top" width="25%"> 
      <table border="0" width="99%" bgcolor="#D7B582" align="center" bordercolor="#E0E0E0">
        <tr> 
          <td align="LEFT" valign="TOP" width="100%"> <font color="#000000" face="Arial, Helvetica, sans-serif" size="2"> 
            <!--#exec
cgi="/includes/rand_quot.cgi"--> </font> <p><webdog><font face="Arial, Helvetica, sans-serif" size="2" color="#0022A8"><b><font color="#693A0C">What's 
           new today:</font></b></font> 
          
<p><b><font face="Arial, Helvetica, sans-serif" size="2"><a href="../../../index.html" target=""><b><font color="#00025E">New!!!</font></b></a><br></b>
  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!</font></p>

 
<p><b><font face="Arial, Helvetica, sans-serif" size="2"><a href="../../2.15/feat/index.html" target=""><b><font color="#00025E">Livin' 
  With The Sims</font></b></a><br></b>
  theAntiELVIS explores the wild and wacky world that is Will Wright's <b>The Sims</b>, 
  asking the inevitable quesiton, &quot;is <b>The Sims</b> the first step toward a virtual 
  life where everyone is Swedish?&quot;</font></p>
<p><font color="#000000" face="Arial, Helvetica, sans-serif" size="2"><a href="../../2.15/pixel/index.html" target=""><b><font color="#00025E">Pixel 
  Obscura </font></b></a></font><font face="Arial, Helvetica, sans-serif" size="2"><br>
  Josh Vasquez on <b>Omikron: The Nomad Soul</b>.</font></p>
<p><font color="#000000" face="Arial, Helvetica, sans-serif" size="2"><a href="../../rl/index.html" target=""><b><font color="#00025E">Real 
  Life </font></b></a></font><font face="Arial, Helvetica, sans-serif" size="2"><br>
  Check out our newest comic strip, <b>Real Life</b>! Updated daily!</font></p>
<p><font color="#000000" face="Arial, Helvetica, sans-serif" size="2"><a href="../../uf.1" target=""><b><font color="#00025E">User 
  Friendly</font></b></a></font><font face="Arial, Helvetica, sans-serif" size="2"><br>
  Updated daily!</font></p>
<p></webdog> </p>
 
            <p></p>
            <p> </p>
            <p></p>
            <!--#include virtual="/includes/includes/commerce_ssi.htm" --> 
            <!--#include virtual="/includes/includes/art_ssi.htm" --></td>
        </tr>
      </table>
      <br>
      <table width="100%" border="0" bgcolor="#D7B582">
        <tr bgcolor="#D7B582"> 
          <td> 
            <div align="center"> 
              <p align="left"><font size="-1"><font face="Arial, Helvetica, sans-serif" size="2" color="#0022A8"><b><font color="#00025E">Random 
                Feature:</font></b></font> </font> </p>
              <p><!--#exec
cgi="/includes/rand_thumb.cgi"--><i><font face="Arial, Helvetica, sans-serif" size="-2"> 
                </font> </i></p>
            </div>
          </td>
        </tr>
      </table>
      <br>
      <table width="99%" border="0" bgcolor="#D7B582">
        <tr> 
          <td> 
            <div align="center"> 
              <form method="get" action="http://www.google.com/custom" name="">
                <font face="Arial, Helvetica, sans-serif" size="-1"><b><font color="#339900">Search 
                the Archives!</font></b></font> 
               
                 <INPUT TYPE=text name=q size=12 maxlength=255 value="">
 <INPUT type=submit name=sa VALUE="Google Search">
 <INPUT type=hidden name=cof 
VALUE="LW:216;L:http:/home/loonygames/loony.timedoctor.org/content/images/logo1.jpg;LH:55;AH:center;S:http://www.loonygames.com;AWFID:13a298c7abe84fd0;">
<input type=hidden name=domains value="loonygames.com"> 
<input type=hidden name=sitesearch value="loonygames.com">               
</div>
              </form>

              <p align="left"><i> </i></p>
            </div>
          </td>
        </tr>
      </table>
    </td>
    <td width="75%" align="center" valign="top"> 
      <table width="90%" border="0" cellpadding="0" align="center">
        <tr> 
          <td width="50%" valign="top"> 

            <div align="center"> 
              <h5 align="right"><b><font face="Arial, Helvetica, sans-serif" color="#00025E"><img src="../../images/cover2.8_sml.jpg" width="280" height="214" align="left"><loonystart>Vol. 
                2, Issue 8<br>
                January 10, 2000<br>
                </font></b></h5>
              <h5 align="right"><font color="#00025E"><b><font face="Arial, Helvetica, sans-serif"> 
                </font></b></font></h5>
              <div align="center"> 
                <p align="center"><b><font face="Arial, Helvetica, sans-serif" color="#0000FF"><i><font color="#904C10" size="6">Anatomy 
                  of a Video Game</font></i></font></b></p>
                <p align="right"><font face="Arial, Helvetica, sans-serif">An 
                  article by <a href="mailto:jsimpson@ravensoft.com">Jake Simpson</a></font></p>
              </div>
              <script language="JavaScript">

<!--
       function gotoSite(obj)
          {
          var s;
          s=obj.options[obj.selectedIndex].value
                         location.href=s;
          }
// -->

</script>
                   <form>
  <div align="RIGHT">
    <select name="SiteSelector" size="1" language="JavaScript" onchange="gotoSite(this)">
<option value="http://www.loonygames.com/content/2.15/">Jump to an Archived Issue!</option>
<option value="http://www.loonygames.com/content/2.15/">2.15: Livin' With The Sims</option>
<option value="http://www.loonygames.com/content/2.14/">2.14: To the Extreme</option>
<option value="http://www.loonygames.com/content/2.13/">2.13: Not Just a Passing Wind</option>
<option value="http://www.loonygames.com/content/2.12/">2.12: It's Not Easy Being Green</option>
<option value="http://www.loonygames.com/content/2.11/">2.11: Inside Origin Systems</option>
<option value="http://www.loonygames.com/content/2.10/">2.10: Game Networking 101</option>
<option value="http://www.loonygames.com/content/2.9/">2.9: Tell me a Story</option>
<option value="http://www.loonygames.com/content/2.8/">2.8: Anatomy of a Video Game</option>
<option value="http://www.loonygames.com/content/2.7/">2.7: 1999 loonygames Awards</option>
<option value="http://www.loonygames.com/content/2.6/">2.6: PC Fight Club</option>
<option value="http://www.loonygames.com/content/2.5/">2.5: Paul Steed '99</option>
<option value="http://www.loonygames.com/content/2.4/">2.4: Sounds From All Over</option>
<option value="http://www.loonygames.com/content/2.3/">2.3: Kicking Back with a Bear</option>
<option value="http://www.loonygames.com/content/2.2/">2.2: End of the Line</option>
<option value="http://www.loonygames.com/content/2.1/">2.1: American McGee's Alice</option>
<option value="http://www.loonygames.com/content/1.41/">----- Volume 1 -----</option>
<option value="http://www.loonygames.com/content/1.41/">1.41: Put a Little Love...</option>
<option value="http://www.loonygames.com/content/1.40/">1.40: Game Programming...</option>
<option value="http://www.loonygames.com/content/1.39/">1.39: More loonygames @ E3!</option>
<option value="http://www.loonygames.com/content/1.38/">1.38: loonygames at E3!</option>
<option value="http://www.loonygames.com/content/1.37/">1.37: The ReRuns Issue</option>
<option value="http://www.loonygames.com/content/1.36/">1.36: Inside Raven Software</option>
<option value="http://www.loonygames.com/content/1.35/">1.35: Waking Graeme Devine</option>
<option value="http://www.loonygames.com/content/1.34/">1.34: Writing the Game</option>
<option value="http://www.loonygames.com/content/1.33/">1.33: Totally Tribal</option>
<option value="http://www.loonygames.com/content/1.32/">1.32: Under His Skin</option>
<option value="http://www.loonygames.com/content/1.31/">1.31: The Glory of G.O.D.</option>
<option value="http://www.loonygames.com/content/1.30/">1.30: Chillin' w/Jason Hall</option>
<option value="http://www.loonygames.com/content/1.29/">1.29: Extreme Annihilation</option>
<option value="http://www.loonygames.com/content/1.28/">1.28: Adventures in ASCII</option>
<option value="http://www.loonygames.com/content/1.27/">1.27: Serious Brass Ones</option>
<option value="http://www.loonygames.com/content/1.26/">1.26: Two Programs...</option>
<option value="http://www.loonygames.com/content/1.25/">1.25: The Unreal Cliffy B!</option>
<option value="http://www.loonygames.com/content/1.24/">1.24: Gimme Your Money!</option>
<option value="http://www.loonygames.com/content/1.23/">1.23: Old Crusty Gamers</option>
<option value="http://www.loonygames.com/content/1.22/">1.22: Bugs!</option>
<option value="http://www.loonygames.com/content/1.21/">1.21: 2001</option>
<option value="http://www.loonygames.com/content/1.20/">1.20: Can't Please Everyone</option>
<option value="http://www.loonygames.com/content/1.19/">1.19: The Rise and Fall...</option>
<option value="http://www.loonygames.com/content/1.18/">1.18: romuluSngan HoH!</option>
<option value="http://www.loonygames.com/content/1.17/">1.17: A Very Geeky Christmas</option>
<option value="http://www.loonygames.com/content/1.16/">1.16: 5 Years of Doom!</option>
<option value="http://www.loonygames.com/content/1.15/">1.15: Tune Up Your Game!</option>
<option value="http://www.loonygames.com/content/1.14/">1.14: NT + Games = ???</option>
<option value="http://www.loonygames.com/content/1.13/">1.13: Blue and Levelord...</option>
<option value="http://www.loonygames.com/content/1.12/">1.12: When It's Done!</option>
<option value="http://www.loonygames.com/content/1.11/">1.11: Hangin' With John Romero!</option>
<option value="http://www.loonygames.com/content/1.10/">1.10: Still Sick of Games</option>
<option value="http://www.loonygames.com/content/1.9/">1.9: Gettin' Odd with the loonies</option>
<option value="http://www.loonygames.com/content/1.8/">1.8: LAN Parties...</option>
<option value="http://www.loonygames.com/content/1.7/">1.7: The Community Summit</option>
<option value="http://www.loonygames.com/content/1.6/">1.6: DRAW Pardner!</option>
<option value="http://www.loonygames.com/content/1.5/">1.5: Taking Aim at Paul Steed</option>
<option value="http://www.loonygames.com/content/1.4/">1.4: Play Where You Like!</option>
<option value="http://www.loonygames.com/content/1.3/">1.3: *Special Duke Issue*</option>
<option value="http://www.loonygames.com/content/1.2/">1.2: Are You Sick of Games?</option>
<option value="http://www.loonygames.com/content/1.1/">1.1: Chris Taylor Gets Some!</option>

    </select>
  </div>
</form> 
              <p align="right">&nbsp;</p>
              <p align="right">&nbsp;</p>
              <p align="right">&nbsp;</p>
              <p align="left"> <font face="Arial, Helvetica, sans-serif"><i><img src="../../images/letters_new/t.jpg" width="19" height="38" align="left"></i>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 <b>Quake</b> 
                engines - I'm sure we all know what <b>Quake</b> 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 :) </font></p>
              <p align="left"><font face="Arial, Helvetica, sans-serif"> <b><font size="+1">Who 
                I am</font></b></font></p>
              <p align="left"><font face="Arial, Helvetica, sans-serif">My name 
                is Jake Simpson, and I work for <a href="http://www.ravensoft.com">Raven 
                Software</a>. I&#146;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&#146;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 <b>Mortal Kombat </b>and <b>NBA JAM</b>. I worked on several 
                games there, which included <b>Mortal Kombat 3</b>, <b>NBA JAM</b>, 
                <b>WWF Wrestlemania </b>and<b> Revolution X</b>. 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 <a href="mailto:jsimpson@ravensoft.com">jsimpson@ravensoft.com</a>.</font></p>
              <p align="left"><font face="Arial, Helvetica, sans-serif"> <font size="+1"><b>Who 
                I work for</b></font></font></p>
              <p align="left"><font face="Arial, Helvetica, sans-serif">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 <b>Quake</b> 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.</font></p>
              <p align="left"><font face="Arial, Helvetica, sans-serif" size="+1"><b>General 
                Notes on Game development.</b></font></p>
              <p align="left"><font face="Arial, Helvetica, sans-serif">Gone are 
                the days of two kids making a hit game in someone&#146;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&#146;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.</font></p>
              <p align="left"><font face="Arial, Helvetica, sans-serif">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&#146;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.</font></p>
              <p align="left"><font face="Arial, Helvetica, sans-serif"> So let&#146;s 
                get to the juice of the matter, the building blocks of today&#146;s 
                games.</font></p>
              <p align="left"></p>
              <p align="left"></p>
              <p align="left"><font face="Arial, Helvetica, sans-serif"><br></loonystart> 
                </font></p>
              </DIV>
            <div align="center"></DIV>
            <p align="right"><font face="Arial, Helvetica, sans-serif"><a href="index2.php"><font color="#7C420E"><b><font size="+1">Next 
              &gt;&gt;</font></b></font> </a></font></p>
          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<br>
<table width="100%" border="0" bgcolor="#3596B3" height="29">
  <tr> 
    <td height="20" width="25%" align="center" valign="middle" bgcolor="#86531A"> 
      <a href="../../../about.1"><font face="Arial, Helvetica, sans-serif" color="#FFFFFF" size="2"><b>about</b></font></a></td>
    <td height="20" width="25%" align="center" valign="middle" bgcolor="#86531A"> 
      <a href="../../../feedback.1"><font face="Arial, Helvetica, sans-serif" color="#FFFFFF" size="2"><b>feedback</b></font></a></td>
    <td height="20" width="25%" align="center" valign="middle" bgcolor="#86531A"> 
      <a href="../../../archives/index.html"><font face="Arial, Helvetica, sans-serif" color="#FFFFFF" size="2"><b>archives</b></font></a></td>
    <td height="20" width="25%" align="center" valign="middle" bgcolor="#86531A"> 
      <b><a href="../../../submissions/index.html"><font color="#FFFFFF" face="Arial, Helvetica, sans-serif" size="2">submissions</font></a></b></td>
  </tr>
</table>
<table width="100%" border="0" bgcolor="#3596B3" height="29">
  <tr> 
    <td height="20" width="35%"><a href="../../../index.html"><font face="Arial, Helvetica, sans-serif" color="#FFFFFF"><b><i>loonygames</i></b></font></a></td>
    <td height="20" width="65%"> 
      <div align="right"><font face="Arial, Helvetica, sans-serif" color="#FFFFFF"><!--#exec
cgi="/includes/rand_bot.cgi"--></font></div>
    </td>
  </tr>
</table>
<p><i><font face="Arial, Helvetica, sans-serif" size="-2">Credits: Illustration 
  &copy; 2000 <a href="http://www.3dpalette.com/dimension">Durrenberger David 
  (dines)</a>. This article is &copy; 2000 Jake Simpson. All other content is 
  &copy; 2000 loonyboi productions. Unauthorized reproduction is prohibited. So 
  don't do it, or we'll dissect you.</font></i></p>
 <map name="logoa">
  <area shape="rect" coords="52,47,112,59" href="http://www.bluesnews.com">
  <area shape="rect" coords="3,3,179,46" href="../../../index.html">
</map>
</body>
</html>
