<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%"> 
      <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.7</font></a>://<a href="index.html"><font color="#7C420E">beaker's bent</font></a>://<a href="index.php"><font color="#7C420E">1</font></a>, 
        2, <a href="index3.php"><font color="#7C420E">3</font></a> </font></b></h5>
    </td>
    <td align="right" valign="top" width="28%"> 
      <div align="right"> 
        <h5><a href="http://www.loonygames.com/includes/printme.pl?url=/2.7/bent/"><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"> 
            <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 1</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 7&nbsp; <br>
                      December 22, 1999&nbsp; </font></b></h5>
                  </td>
                </tr>
              </table>
              <loonystart> 
             
              <p align="right">&nbsp;</p>
              <p align="left"><font face="Arial, Helvetica, sans-serif">Perhaps 
                the most important characteristic of an outdoors environment is 
                lighting. If you make or play computer games, you probably don't 
                get outside enough, but go have a look around on a bright, sunny 
                day. Notice how the well-lit surfaces practically glow, and there 
                is a large contrast between lit areas and shadows? Now go look 
                at most games with outdoors areas - it probably feels like it 
                is overcast, perhaps smoggy, doesn't it? There's a lot of different 
                ways to achieve the proper color for a sunlit scene, and they 
                include light color, the particular painting style of the textures, 
                and consistent shadow direction. I can't even begin to describe 
                all the different approaches, and different ones will work for 
                different projects, but I can say that if it doesn't feel like 
                sunlight at a gut level that means you need to keep working.</font></p>
              <p align="left"></p>
              
            <p align="left"><font face="Arial, Helvetica, sans-serif">I can't 
              even cite a great example of an outdoor game that has good colors 
              and lighting - they usually fail in one way or another. <b>Trespasser</b> 
              didn't quite get the colors and contrast, and almost every &quot;outdoors&quot; 
              <b>Unreal</b> level I've seen takes place at night, because <b>Unreal</b> 
              doesn't offer a &quot;sun&quot; light by default - i.e. you can't 
              put a single light in your level and light everything with it. In 
              fact, all <b>Unreal</b> lights have surprisingly small areas. This 
              is the main reason why <b>Unreal</b> seems so dark all the time 
              - it is fairly capable of rendering large areas, but it is quite 
              incapable of easily lighting an entire large area with a single 
              light source, so you get this look of &quot;spots of light.&quot; 
              We ended up hacking in an extended-range light for our game, but 
              this of course created other problems like certain faces of the 
              world geometry turning black, necessitating a lot of hard work on 
              individual faces to get an overall consistent look. At any rate, 
              if you ever intend any of your outdoor levels to take place in sunlight, 
              don't assume you can just throw a yellow light on them and be done.</font></p>
              <p align="left"></p>
              
            <p align="left"><font face="Arial, Helvetica, sans-serif">Second most 
              important after achieving a sunlit look is to texture the level 
              well. Even if you come up with the perfect grass texture that looks 
              like it is lit by noon sun, you have barely begun to texture your 
              level. Nature is marked by continuous variation, and the large-scale 
              texture repetition which is acceptable for man-made areas just looks 
              wrong for an outdoor area. Case in point is the first level of <b>Wheel 
              of Time</b> - the geometry is fairly natural and realistic given 
              the limitations of the engine, but its looks are shot down when 
              you glance around and realize that there are three colors to the 
              world: grass, dirt, and the rocky hills. <b>Unreal</b> itself is 
              similar, though with even less-natural world geometry.</font></p>
              <p align="left"></p>
              
            <p align="left"><font face="Arial, Helvetica, sans-serif"><b>Unreal</b> 
              is not particularly well suited to the kind of massive texture variation 
              needed to make grass, rock, and dirt look natural and no painted-on, 
              but it is possible to avoid that look. The features of <b>Unreal</b> 
              which work against this include the fact that <b>Unreal</b> likes 
              to combine the individual triangles of its world geometry into larger 
              continuous planes, and only allows level editors to texture to the 
              combined surfaces. In this particular engine, the key is to know 
              how to bring in geometry and maintain the original triangles. <b>Unreal</b> 
              level designers must be even more careful to watch the poly count 
              of their levels when doing this, but it allows texture artists free 
              reign to change textures as often as possible. In other, more outdoor-suited 
              engines, there should be ways to place and layer textures arbitrarily, 
              regardless of the underlying geometry.</font></p>
              <p align="left"></p>
              <p align="left"><font face="Arial, Helvetica, sans-serif">In any 
                case, once the flexibility to change textures as frequently as 
                possible is gained, the problem becomes what the content of those 
                textures should be. The biggest key to natural looks is to pay 
                attention to edges and borders. This should seem obvious, but 
                when you wish to change from one texture to another, you should 
                use a transition that logically blends from one to another. So, 
                for instance, if you have a steep cliff next to a meadow, the 
                bottom edge of the cliff should look like a collection of rocks 
                and long grass, rather than just a single continous generic &quot;rock&quot; 
                texture tiled right down to the grass edge. This even applies 
                to man-made areas, and is one of the reason many FPS levels have 
                a &quot;extruded of a solid material&quot; look.</font></p>
              <p align="left"></p>
              <p align="left"><font face="Arial, Helvetica, sans-serif"></font></p>
              
            <p align="left">
            </loonystart><font face="Arial, Helvetica, sans-serif"> </font> 
            <table width="100%" border="0">
                <tr> 
                  <td width="50%"><font face="Arial, Helvetica, sans-serif"><a href="index.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="index3.php"><font color="#7C420E"><b><font size="+1">Next 
                      &gt;&gt;</font></b></font> </a></font></p>
                  </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; 1999 Dan Zalkus. Beaker's Bent is &copy; 1999 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>
