<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>://<a href="index.php"><font color="#7C420E">1</font></a>, 
        <a href="index2.php"><font color="#7C420E">2</font></a>, 3, <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"> 

              <table width="98%" border="0">
                <tr> 
                  <td width="55%"> 
                    <div align="left"> 
                      <p><b><font face="Arial, Helvetica, sans-serif" color="#0000FF"><i><font color="#904C10" size="3">Anatomy 
                        of a Video Game</font></i></font></b><br>
                      <div align="right"> <font face="Arial, Helvetica, sans-serif" size="-1">By 
                        <a href="mailto:jsimpson@ravensoft.com">Jake Simpson</a></font></div>
                    </div>
                  </td>
                  <td width="45%" align="right" valign="top"> 
                    <h5 align="right"><b><font face="Arial, Helvetica, sans-serif" color="#00025E">Vol. 
                      2, Issue 8 <br>
                      January 10, 2000&nbsp; </font></b></h5>
                  </td>
                </tr>
              </table>
              <loonystart>
              <h5 align="center"><img src="images/room.gif" width="484" height="192"></h5>
              <p align="left"> <font face="Arial, Helvetica, sans-serif">If the 
                bad guy is in room 3, and you are in room 1, then you can&#146;t 
                see the bad guy, and he can&#146;t see you. However, since it&#146;s 
                all modeled in the computer, it knows where you are, and thus 
                can tell the bad guy &#147;He&#146;s in room 1, go get him&#148;. 
                This is cheating at the worst level. The computer has more information 
                than you do, so it becomes unbeatable. The challenge is to limit 
                what the bad guy can see and hear, so he can only respond to that 
                stimulus. </font></p>
              <p align="left"><font face="Arial, Helvetica, sans-serif">So given 
                these conditions, it isn&#146;t that hard to write code to deal 
                with the decisions a bad guy can do. If he sees you, he shoots 
                at you, if you shoot back, he decides to either run away, duke 
                it out, or find some cover to shoot at you from. What happens 
                if you run away? Well, lets make him follow you. Now we run into 
                the next big problem. Path following. If, as in slide 3, I meet 
                up with this guy in room 1, and I run from him into room 3, how 
                does he track me? Doing this in a convincing manner is the hardest 
                thing currently in games to get right. There are a number of approaches 
                to doing this, some more expensive in processor time than others, 
                and some more accurate than others. Here a couple of them.</font></p>
              <p align="left"><font face="Arial, Helvetica, sans-serif">Map markers. 
                This is the system we used in <b>Heretic II</b>. Markers were 
                placed in the map all within line of site of each other. Bad guys 
                followed a direct line from one marker to the next, thereby navigating 
                the world. This also has the advantage of allowing information 
                regarding the world, such as doors, holes and so on to be embedded 
                within the markers, allowing the bad guys to leap chasms, and 
                open doors at will. The downside is that these markers have to 
                be placed in each map that bad guys inhabit.</font></p>
              <p align="center"><img src="images/marker.gif" width="445" height="174"></p>
              <p align="left"> </p>
              <p align="left"><font face="Arial, Helvetica, sans-serif">Way point. 
                Similar to the marker system, the bad guys themselves drop markers 
                in the world every 10 seconds, to create a kind of &#145;bread 
                crumbs&#146; path. The down side here is that initial forays into 
                unseen area&#146;s mean some wall bumping before there are enough 
                way points to successfully navigate the world. Plus, with each 
                bad guy dropping these markers, you seen end up with a ton of 
                them.</font></p>

              <p align="left"><font face="Arial, Helvetica, sans-serif">The last 
                method is the most successful, which involves real world cognizance. 
                IE doing traces in the world to find out where walls are, where 
                the floor is, what obstacles are in the way and so on, and making 
                real choices about what to do next. This is EXTREMELY expensive 
                on processor time, but is the only &#145;real&#146; solution to 
                the problems of path finding. We do have a new system we are working 
                on, but I can&#146;t go into details at this time, mainly because 
                no one has explained it to me yet.</font></p>
              <p align="left"></p>
              <p align="left"></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">
                <p align="left"><font face="Arial, Helvetica, sans-serif"> </font><font face="Arial, Helvetica, sans-serif"> 
                  </font></p>
              </div>
              <table width="100%" border="0">
                <tr> 
                  
                <td width="50%"><font face="Arial, Helvetica, sans-serif"><a href="index2.php"><font color="#7C420E"><b><font size="+1">&lt;&lt;Prev</font></b></font> 
                  </a></font></td>
                  <td width="50%"> 
                    <div align="center"> 
                      <p align="left"></p>
                      <p align="left"></p>
                    </div>
                    
                  <p align="right"><font face="Arial, Helvetica, sans-serif"><a href="index4.php"><font color="#7C420E"><b><font size="+1">Next 
                    &gt;&gt;</font></b></font> </a></font> 
                </td>
                </tr>
              </table>
    
            </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>
