<HTML>

  <title>loonygames Feature: The Rise and Fall of the Hobbyist Game Programmer</title>
<body bgcolor="#FEFFEC" link="#000000" vlink="#000000">
<div align="CENTER">
  <div align="CENTER">
    <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>
  </div>
  <div align="CENTER">
    <table border="0" width="600">
      <tr> 
        <td width="261" height="105"><img src="../../images/next_logo_sml.jpg" width="251" height="94" usemap="#map" border="0"> 
        </td>
        <td width="92" height="105" align="LEFT" valign="MIDDLE"> 
          <p><font face="Arial, Helvetica, sans-serif" size="-1">- <a href="../index.html">Contents</a><br>
- <a href="../../../about.1">About</a><br>
            - <a href="../../../submissions/index.html">Submissions</a><br>
            - <a href="../../../feedback.1">Feedback</a><br>
            - <a href="../../archives/index.html">Archives</a></font></p>
        </td>
      </tr>
    </table>
  </div>
  <table border="0" align="CENTER" width="600">
    <tr> 
      <td width="172" height="936" align="LEFT" valign="TOP"> 
        <table border="0" width="172">
          <tr> 
            <td height="1194" align="LEFT" valign="TOP"> 
              <p><font color="#0000FF"><b><font face="Arial, Helvetica, sans-serif" color="#0000CC">volume 
                1, issue 19</font></b></font></p>
              <p><font color="#0000FF"><b><font face="Arial, Helvetica, sans-serif" color="#0000CC"> 
                </font></b></font></p>
              <p>  <p><font face="Courier New, Courier, mono"><b><font color="#339900" face="Arial, Helvetica, sans-serif">Today 
                in loonygames:</font></b></font></p>

<P><font color="#000000" face="Arial, Helvetica, sans-serif" size="-1">New!!</font><font face="Arial, Helvetica, sans-serif" size="2"> The Archives have been cleaned up, fead links fixed, and printable versions restored! Also, don't miss the new comments <a href="../../../index.html">on the front page</a>!</font></p>
              
<P><font color="#000000" face="Arial, Helvetica, sans-serif" size="-1"><a href="../../2.15/feat/index.html" target="">Livin' 
  With The Sims</a></font><font face="Arial, Helvetica, sans-serif" size="2">: 
  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="-1"><a href="../../2.15/pixel/index.html" target="">Pixel 
  Obscura</a></font><font face="Arial, Helvetica, sans-serif" size="2">: Josh 
  Vasquez on <b>Omikron: The Nomad Soul</b>.</font></p>
<P><font color="#000000" face="Arial, Helvetica, sans-serif" size="-1"><a href="../../rl/index.html" target="">Real 
  Life</a></font>: <font face="Arial, Helvetica, sans-serif"> <font size="-1">Check 
  out our newest comic strip, Real Life! Updated daily!</font></font></p>
<P><font color="#000000" face="Arial, Helvetica, sans-serif" size="-1"><a href="../../uf.1" target="">User 
  Friendly</a></font>: <font face="Arial, Helvetica, sans-serif"> <font size="-1">Updated 
  daily!</font></font></p>


</p>
              
              <p><font face="Arial, Helvetica, sans-serif" size="-1"><b><font color="#339900">Related 
                Links:</font></b></font></p>
              <p><font face="Arial, Helvetica, sans-serif" size="-1"><a href="http://www.loonygames.com/current/cotc/">Code 
                on the Cob</a>:Chris Hargrove's ongoing programming tutorial series. 
                A must read for the would-be programmer.</font></p>
              
              <p><font face="Arial, Helvetica, sans-serif" size="-1"><b><a href="http://www.berda.com/loonygam.htm">T-Shirts</a>: 
                </b>Stylin' loonygames t-shirts from Berda Compugrafix!</font></p>
              <p><font face="Arial, Helvetica, sans-serif" size="-1"><b><a href="../../../artwork.1">Artwork</a>: 
                </b>Hey, dig the artwork on <b>loonygames</b>? We're selling some 
                of the original art.</font></p>
              <p><!--#include virtual="/includes/shooters.htm" --></p>
              <p><font face="Arial, Helvetica, sans-serif" size="-1"><b><font color="#339900">Feedback:</font></b></font></p>
              <p><font face="Arial, Helvetica, sans-serif" size="-1">You've got 
                an opinion...voice it! Drop a line to our <a href="../../../feedback.1">Feedback</a> 
                column...you could end up with a free T-Shirt!</font></p>
              <p><font face="Arial, Helvetica, sans-serif" size="-1"><b><font color="#339900">Random 
                Feature :</font></b></font></p>
               
<p align="CENTER"><img src="../../images/thumbs/mouth.jpg" width="89" height="110" align="MIDDLE" border="0"></p><p><font face="Arial, Helvetica, sans-serif" size="-1"><a href="../../2.15/mouth/index.html">From the Mouth of Madness</a>: Our loony editor's take on all the latest news.</font></p>

              <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>

            </td>
          </tr>
        </table>
      </td>
      <td width="428" height="936" align="LEFT" valign="TOP"> 
        <p align="center"><font face="Arial, Helvetica, sans-serif" size="+3" color="#0022A8">The 
          Rise and Fall of the Hobbyist Game Programmer<font size="+1"></font></font></p>
        <p align="LEFT">&nbsp;</p>
        <p align="RIGHT"><font color="#804000"><b><font face="Arial, Helvetica, sans-serif">By 
          <a href="mailto:jhague@dadgum.com">James Hague</a> </font></b></font></p>
        <p align="RIGHT"> 
          <script language="JavaScript">

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

</script>
        </p>
        <p><font face="Arial, Helvetica, sans-serif">When the next wave of hobbyist 
          computers came along--the 16-bit Amiga and Atari ST--there was an immediate 
          reaction to the increase in complexity. Programmers wondered why Atari's 
          official development kit contained a huge stack of documents. And they 
          wondered why the first wave of development systems weren't integrated 
          and couldn't reside entirely in memory, even though the amount of RAM 
          had increased by eight times.</font></p>
        <p><font face="Arial, Helvetica, sans-serif">Rapidly, much of the complexity 
          was done away with. Most game programmers realized that Atari's operating 
          system, with it's several layers and GUI on top, could be ignored and 
          the machine was simple at its core. In the Amiga camp the same thing 
          happened, even though Commodore tried to integrate all the nifty hardware 
          features into the OS. As one well-known Amiga programmer put it, "all 

          you need is the Hardware Reference Manual," making all the other volumes 
          of Amiga documentation seem frivolous exercises in over-engineering.</font></p>
        <p><font face="Arial, Helvetica, sans-serif">Now the PC had been around 
          throughout most of the lives of all these systems, first appearing in 
          1981. It wasn't until around 1990 that it started moving to the forefront 
          of gaming.</font></p>
        <p><font face="Arial, Helvetica, sans-serif">The 1990-1992 period in PC 
          game development was an odd one. Even though they were a decade old, 
          it was still surprisingly difficult to learn to use many of their features. 
          Sound card and timer programming were two issues I remember. Even after 
          pouring through the best bookstores I could find, I came up empty handed. 
          There were a few treasured bits of code on Usenet and SIMTEL that gave 
          away the secrets.</font></p>
        <p><font face="Arial, Helvetica, sans-serif">The best example of this 
          was Michael Abrash's famous--and well-written--articles on "Mode X" 
          that appeared in Dr. Dobb's Journal in 1991. At that time, the VGA standard 
          was already four years old, having been introduced with the PS/2 machines 
          in 1987, and yet very few people had ever seen the official VGA documentation 
          or even knew where to find it.</font></p>
        <p><font face="Arial, Helvetica, sans-serif">Mode X had two core features: 
          a custom resolution of 320x240 and a special way of accessing VGA memory 
          called "chain4." In many ways, the first was the interesting and tricky 
          one (resulting in square pixels), while enabling the second one was 
          simply a matter of sending values to two or three documented ports--a 
          feature that was designed into VGA cards from the beginning. But it 
          was the chain4 concept that sent shockwaves through the game programming 
          community. Apparently, almost no one knew about it until that point. 
          Imagine if it had taken four years to discover what a register was for 
          on the Commodore 64!</font></p>
        <p><font face="Arial, Helvetica, sans-serif">Those times were also times 
          of rising complexity. A 320x200 VGA screen had 64K of memory, yet with 
          an 8 MHz ISA bus it was only possible to update a fraction of the screen 
          every frame and still run at the coveted 60 frames per second of earlier 
          machines (the common speed of most Atari 800 and C64 games). Different 
          makes of sound cards--each with its own hard to find and poor documentation--were 
          appearing. Supporting EGA was still an issue, requiring two sets of 
          graphics routines. Compilers started getting very feature-laden and 
          shipped in twenty pound boxes. DOS extenders were causing the headaches 
          of the day. This complexity was still manageable, but it was getting 
          in the way of creativity, with the primary concern being to deal with 
          all the nonsense and actually get something working.</font></p>
        <p><font face="Arial, Helvetica, sans-serif">Consider Galactix, a shareware 
          game released in 1991 or 1992 that caused quite a stir among the free 
          game grubbers. Now Galactix wasn't anything special; it was a Galaxian 
          clone, and a fairly weak one at that. But someone had managed to get 
          it finished, VGA graphics and digitized sound and all, so it was one 
          of the best shareware games of its time. It didn't matter that in most 
          ways the gameplay wasn't as good as similar games on the Apple II from 
          a decade earlier, like Threshold and Bandits.</font></p>
        <p><font face="Arial, Helvetica, sans-serif">Shareware in general made 
          those times seem bright for the little guy. Games like Duke Nukem and 
          Wolfenstein 3D were shareware hits, proof the independent hobbyist could 
          still make it big. At the time, though, no one seemed to notice that 
          shareware was being written by full-time professionals and most of the 
          small-time productions were derivative and overlooked. Whereas many 
          games published by Broderbund in the early 80s were written by teenagers 
          working at home after school, releases from Apogee and Epic and id were 
          from programmers on a salary or at least a monthly stipend so they could 
          pay the rent.</font></p>
        <p>&nbsp; </p>
        <p align="RIGHT"><font face="Arial, Helvetica, sans-serif" size="+1">(<a href="index3.php">continued 
          on next page</a>)</font></p>
        <p align="LEFT">&nbsp;</p>
        <p align="RIGHT">&nbsp;</p>
      </td>
    </tr>
  </table>
  </div>
<map name="map">
  <area shape="rect" coords="32,38,226,76" href="../../../index.html" target="_self">
  <area shape="rect" coords="12,79,125,94" href="http://www.bluesnews.com" target="_self">
 
</map>
<table border="0" width="600" align="CENTER">
  <tr> 
    <td><i><font face="Arial, Helvetica, sans-serif" size="-2"><b>Credits:</b> 
      Illustration &copy; 1998 Mike Sanzone. The Rise and Fall of the Hobbyist 
      Game Programmer is &copy; 1998 James Hague. All other content is &copy; 
      1998 <a target="_self" href="http://www.loonyboi.com">loonyboi productions</a>. 
      Unauthorized reproduction is strictly prohibited, dangit.</font></i></td>
  </tr>
</table>
</HTML>
