<html>

<head>
<title>loonygames presents: Beaker's Bent - game design 'rants</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%" height="49"> 
      <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.13</font></a>://<a href="index.html"><font color="#7C420E">beaker's bent</font></a>://<a href="index.php"><font color="#7C420E">1</font></a>, 
        <a href="index2.php"><font color="#7C420E">2</font></a>, 3</font></b></h5>
    </td>
    <td align="right" valign="top" width="28%" height="49"> 
      <div align="right"> 
        <h5><a href="../../cgi/printme.pl?url=%252F2.13%252Fbent%252F"><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"> 
             </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>
             
            </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><p align="CENTER"><img src="../../images/thumbs/bnl.jpg" width="129" height="107" align="MIDDLE"></p><p><font face="Arial, Helvetica, sans-serif" size="-1"><a href="../../1.13/feat/index.html">Blue & Levelord Get Drunk</a>: Truly the definitive interview with Levelord, Stephen "Blue" Heaslip and the Ritual level designer get drunk and talk about the gaming industry.</font></p>

<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"> 
            <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">Beaker's 
                        Bent: <br>
                        Making the Outdoors - Part 2</font></i></font></b><br>
                      <div align="right"> <font face="Arial, Helvetica, sans-serif" size="-1">By 
                        Rich &quot;<a href="mailto:rich@loonygames.com">Beaker</a>&quot; 
                        Wyckoff</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 13&nbsp; <br>
                      February 25, 2000&nbsp; </font></b></h5>
                  </td>
                </tr>
              </table>
              <loonystart> 
              <p align="right">&nbsp;</p>
             
              
           
            <p align="left"><font face="Arial, Helvetica, sans-serif">Once you 
              are comfortable with the advanced level of editing available in 
              a package like MAX, I recommend getting your hands as messy as possible 
              with your main terrain geometry.  Don’t rely on a fractal seed to 
              generate your whole level – instead refer to directly to real-world 
              terrain as much as possible, through photographs, drawings, and 
              personal visits to geographically interesting areas.  We had some 
              success on Trespasser by starting with a large clay model of the 
              entire island locale of the game, sculpted by our lead artist and 
              then laser-scanned.  Although much of the detail of the sculpture 
              was lost once the scanned mesh was reduced to usable polycounts, 
              it at least gave us a set of existing and fairly believable natural 
              features to work around.  This gave some much-needed direction to 
              the design process (both visual and gameplay – the topic of the 
              next installment).</font></p>
            <p align="left"><font face="Arial, Helvetica, sans-serif">I cannot 
              recommend highly enough studying as much real-world geometry as 
              possible.  Real terrain slopes and rolls in ways that simply will 
              not occur to most level designers working with no reference.  After 
              you work on outdoor levels while studying the real world for a few 
              years, you may find yourself getting fascinated and excited by seemingly 
              simple things like how a rock face and the side of a hill connect.  
              When you start to become wistful about natural features that you 
              can’t reproduce well enough with today’s technology, you’ll really 
              be able to call yourself an outdoor level designer.</font></p>
            <p align="left"><font face="Arial, Helvetica, sans-serif">My words 
              of advice, which may become fairly irrelevant over the next year 
              or two, are for people making outdoor levels in indoor engines.  
              The key to a realistic outdoor area really is the long vista.  To 
              avoid feeling like you are in a bowl or a maze of canyons, there 
              must be spots within a level where the player feels like they can 
              see all the way to the horizon, or can look out across other parts 
              of the level.  Creating a vista that doesn’t drag the framerate 
              down requires careful planning however.  </font></p>
            <p align="left"><font face="Arial, Helvetica, sans-serif">One approach 
              is to use fakery – create a very low detail area, such as a distant 
              river valley, perhaps which the player can not otherwise reach, 
              and allow them to see into it from selected points on the player’s 
              path.  Use geometry for the vista, however, because a mere painting 
              of a distant river valley will almost inevitably be at the wrong 
              resolution, and will seem obviously flat.  For this reason, in fact, 
              geometry in a skybox in Unreal, for instance, is not ideal, because 
              the camera into the skybox is fixed, which almost eliminates a feeling 
              or perspective, although you will get a good parallax effect between 
              your skybox contents and your in-level geometry.</font></p>
            <p align="left"><font face="Arial, Helvetica, sans-serif">If you do 
              not use fake forced-perspective vistas, then you need to be extremely 
              careful what parts of the level you allow the player to look across.  
              Conceal as many high-detail areas as possible – your staircases 
              (natural or human-made), cave/building entrances, platforms for 
              jumping puzzles, etc.  If you know exactly the angles your player 
              will look across the level, you can use mid-sized hills to block 
              off the complicated stuff and they’ll even add interest to the area.  
              If you construct them carefully to be as small as possible, they 
              won’t seem like canyon walls when the player walks past their base, 
              even though they are serving the same purpose.</font></p>
            <p align="left"><font face="Arial, Helvetica, sans-serif">Finally, 
              know your engine’s strengths and limitations.  Some indoor engines 
              just cannot handle large levels with lots of geometry and actors 
              and textures even if you can never see them.  You may want to create 
              a single, large base terrain for your entire level, and split it 
              up into a variety of smaller actual levels, connected by tunnels 
              and tight canyons where you can put loading points.  If you allow 
              the player to look across a location that is technically in another 
              level, just ensure that its major features (textures, trees) are 
              identical or at least very similar to the ones the player passed 
              through from ground level.  This will maintain the player’s belief 
              that they are passing through one continuous space, even though 
              they are passing through load points.</font></p>
            <p align="left"><font face="Arial, Helvetica, sans-serif">There is 
              much, much more to say about geometry building in the outdoors, 
              but hopefully what I’ve covered so far is enough to get beginners 
              started and give experienced outdoor level designers some inspiration 
              and ideas to consider.  Perhaps someday in the future when I’ve 
              managed to work on an outdoor game which is neither cancelled nor 
              a failure, I can return to the topic in some other forum besides 
              Beaker’s Bent, but it’s time to take this column back towards its 
              more-standard topic, game design.</font></p>
            <p align="left"><font face="Arial, Helvetica, sans-serif">So next 
              column, in the final installment of Making the Outdoors, I’ll be 
              tackling the big, hairy issue of design in realistic outdoor spaces.  
              There will hopefully be no two-month delay this time!</font></p>
            <p align="left">&nbsp;</p>
              <p align="left"></p>
              
            <loonystart> 
            <p align="right"><font face="Arial, Helvetica, sans-serif"><i>- Richard 
              &#147;Beaker&#148; Wyckoff is a game designer, not a level designer, 
              damnit</i></font></p>
            <p align="left"><font face="Arial, Helvetica, sans-serif"> </font></p>
            </loonystart> 
            <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>
              </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">  </font></div>
    </td>
  </tr>
</table>
<p><i><font face="Arial, Helvetica, sans-serif" size="-2">Credits: Illustration 
  &copy; 2000 Dan Zalkus. Beaker's Bent is &copy; 2000 Rich Wyckoff. All other 
  content is &copy; 1999 loonyboi productions. Unauthorized reproduction is prohibited, 
  so don't do it or we'll sick our lawyers on you. Muhahahahahahahah. ph3ar our 
  m@d l3gal sk1lz y0.</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>
