<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7134270</id><updated>2011-04-21T16:33:50.900-07:00</updated><title type='text'>The Bloggin' Times</title><subtitle type='html'>"The Bloggin' Times" is a new web blog about computers, Windows/Linux programming and adventure games.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dunric.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dunric.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Paul</name><uri>http://www.blogger.com/profile/04792922491931153734</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>27</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7134270.post-112337761394703192</id><published>2005-08-06T18:18:00.000-07:00</published><updated>2005-08-06T18:21:50.993-07:00</updated><title type='text'>The Evolution of HLA Adventure</title><content type='html'>&lt;a href="http://www.geocities.com/dunric/hlaadv.gif"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px;" src="http://www.geocities.com/dunric/hlaadv.gif" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now that &lt;a href="http://members.tripod.com/~panks/hlaadv.html"&gt;HLA Adventure &lt;/a&gt;has been ported to Inform (thanks to Roger Pepitone), I've spent some down time to reflect on the past two years of development. And a lot has gone on in that time!&lt;br /&gt;&lt;br /&gt;The adventure game has evolved from a simple adventure game of 95 rooms and a few quests (version 1.53, May 14, 2003) to one with teleports (version 2.08, May 20, 2003), 197 rooms and 2 more quests (version 2.20, May 20, 2004), 223 rooms with bug fixes (versions 2.32 and 2.40, Nov 25, 2004/ Dec 3, 2004), 249 rooms and grammar/spelling changes (version 3.00, May 27, 2005) and finally to the current release (version 3.20c, Jun 30, 2005).&lt;br /&gt;&lt;br /&gt;The Inform port began with version 3.10 (June 3, 2005) and was completed after version 3.20c (June 30, 2005). The parser in the Inform version is actually a step up from the one I used in the regular HLA port of HLA Adventure.&lt;br /&gt;&lt;br /&gt;I have now ported HLA Adventure for play under Windows, Linux, Commodore 64/128, Apple IIe/IIgs, PalmOS (Palm Pilots), MS-DOS and Macintosh (via Apple/Mac Frotz). I hope to also port the game to the Amiga, TI-85 (graphing calculator), Sinclair ZX Spectrum, TI 99/4A, Tandy Color Computer 2/3, Nokia and the Blackberry.&lt;br /&gt;&lt;br /&gt;Thanks go to Sevag Krikorian, Frank Kotler, Randy Hyde and many, many others for helping during the development of HLA Adventure. I even recall an adventure gaming engine Randy wrote based on HLA Adventure, but I don't know what's come of it. Is that still being developed?&lt;br /&gt;&lt;br /&gt;Anyway, just wanted to reminiscence a bit. :)&lt;br /&gt;&lt;br /&gt;Sincerely,&lt;br /&gt;&lt;br /&gt;Paul Panks (a/k/a "Dunric")&lt;br /&gt;dunric@yahoo.com&lt;br /&gt;Phoenix, AZ&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7134270-112337761394703192?l=dunric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dunric.blogspot.com/feeds/112337761394703192/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7134270&amp;postID=112337761394703192' title='23 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/112337761394703192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/112337761394703192'/><link rel='alternate' type='text/html' href='http://dunric.blogspot.com/2005/08/evolution-of-hla-adventure.html' title='The Evolution of HLA Adventure'/><author><name>Paul</name><uri>http://www.blogger.com/profile/04792922491931153734</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>23</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7134270.post-112131313519051882</id><published>2005-07-13T20:50:00.000-07:00</published><updated>2005-07-13T20:52:15.196-07:00</updated><title type='text'>Wow, it's been awhile since I've posted...</title><content type='html'>...sorry about that. :)&lt;br /&gt;&lt;br /&gt;Anyways, I've updated &lt;a href="http://members.tripod.com/~panks/hlaadv.html"&gt;HLA Adventure&lt;/a&gt; to version 3.25c, and also added a couple of new adventure games on &lt;a href="http://www.geocities.com/dunric/westfront.html"&gt;my main page&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Thanks for being patient.&lt;br /&gt;&lt;br /&gt;Paul&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7134270-112131313519051882?l=dunric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dunric.blogspot.com/feeds/112131313519051882/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7134270&amp;postID=112131313519051882' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/112131313519051882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/112131313519051882'/><link rel='alternate' type='text/html' href='http://dunric.blogspot.com/2005/07/wow-its-been-awhile-since-ive-posted.html' title='Wow, it&apos;s been awhile since I&apos;ve posted...'/><author><name>Paul</name><uri>http://www.blogger.com/profile/04792922491931153734</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7134270.post-110920360492971413</id><published>2005-02-23T16:05:00.000-08:00</published><updated>2005-02-23T16:06:44.930-08:00</updated><title type='text'>Slowly getting better</title><content type='html'>I was in the ICU for up to 3 days a week ago, and am slowly getting better. I had a reaction to a medication I was taking, as it caused something called Dystonia (muscle rigidness).&lt;br /&gt;&lt;br /&gt;I will post about adventure games in the coming days. Stay tuned!&lt;br /&gt;&lt;br /&gt;Paul&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7134270-110920360492971413?l=dunric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dunric.blogspot.com/feeds/110920360492971413/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7134270&amp;postID=110920360492971413' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/110920360492971413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/110920360492971413'/><link rel='alternate' type='text/html' href='http://dunric.blogspot.com/2005/02/slowly-getting-better.html' title='Slowly getting better'/><author><name>Paul</name><uri>http://www.blogger.com/profile/04792922491931153734</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7134270.post-110142514263112878</id><published>2004-11-25T15:24:00.000-08:00</published><updated>2004-12-04T17:51:14.726-08:00</updated><title type='text'>New version of 'HLA Adventure' released! :)</title><content type='html'>&lt;img src="http://www.geocities.com/dunric/hlaadv.gif"&gt;&lt;br /&gt;A new version of 'HLA Adventure' has just been released! :)&lt;br /&gt;&lt;br /&gt;This is update version 2.32, compiled on November 25, 2004.&lt;br /&gt;&lt;br /&gt;Additions to 'HLA Adventure' in version 2.32 include:&lt;br /&gt;&lt;br /&gt;o - 26 additional rooms&lt;br /&gt;o - 7 new items/monsters&lt;br /&gt;o - 2 new quests&lt;br /&gt;o - some minor bug/error fixes&lt;br /&gt;o - other additions/improvements&lt;br /&gt;&lt;br /&gt;There are two versions of HLA Adventure: one for Windows and the other for Linux (tested on Fedora Core 3). You can download HLA Adventure at the following URL:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://members.tripod.com/~panks/hlaadv.html" target="_blank"&gt;http://members.tripod.com/~panks/hlaadv.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Please direct all bug reports and/or suggestions to me at:&lt;br /&gt;&lt;br /&gt;&lt;a href="mailto:dunric@yahoo.com"&gt;dunric@yahoo.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Happy Adventuring! :)&lt;br /&gt;&lt;br /&gt;Sincerely,&lt;br /&gt;&lt;br /&gt;Paul Allen Panks [a/k/a "Dunric"]&lt;br /&gt;&lt;a href="mailto:dunric@yahoo.com"&gt;dunric@yahoo.com&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7134270-110142514263112878?l=dunric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dunric.blogspot.com/feeds/110142514263112878/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7134270&amp;postID=110142514263112878' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/110142514263112878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/110142514263112878'/><link rel='alternate' type='text/html' href='http://dunric.blogspot.com/2004/11/new-version-of-hla-adventure-released.html' title='New version of &apos;HLA Adventure&apos; released! :)'/><author><name>Paul</name><uri>http://www.blogger.com/profile/04792922491931153734</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7134270.post-109239510367211292</id><published>2004-08-13T04:02:00.000-07:00</published><updated>2004-08-18T19:47:27.333-07:00</updated><title type='text'>Corrections: "The Rosetta Star"</title><content type='html'>"The Rosetta Star" has undergone at least five manuscript revisions since May of 2004:&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://my.lulu.com/content/69913"&gt;http://my.lulu.com/content/69913&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;The original title of the book was "The Rosetta: a novel". However, I changed the title in early August of 2004 to "The Rosetta Star". It simply sounds a lot better and makes more sense during the context of the story.&lt;br /&gt;&lt;p&gt;&lt;br /&gt;The pages have been increased from a low of 142 to the current page count of 237. The previous edition of"The Rosetta Star" had 157 pages, but the typeface was far too small to read (hence the increase in fontsize). This makes the book far more readable.&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Here are the updated details on "The Rosetta Star":&lt;br /&gt;&lt;p&gt;&lt;br /&gt;The Rosetta Star&lt;br /&gt;by &lt;a href="http://www.lulu.com/dunric"&gt;Paul Panks&lt;/a&gt;&lt;br /&gt;Category: &lt;a class="home" href="/category/1"&gt;Books&lt;/a&gt; &gt; &lt;a class="home" href="/category/1581"&gt;Religion &amp;amp; Spirituality&lt;/a&gt; &gt; &lt;a class="home" href="/category/1584"&gt;Christianity&lt;/a&gt;&lt;br /&gt;ISBN: 1-4116-1074-1&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Description: Two years after The Rosetta, a star is born. John had often wondered about his life. Now was his chance! Would he be reunited with his daughter? His "Pale Blues Eyes"? An exciting story unfolds as John searches for the truth across time! (237 pages)&lt;br /&gt;Copyright Year: © 2004&lt;br /&gt;Language: English&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7134270-109239510367211292?l=dunric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dunric.blogspot.com/feeds/109239510367211292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7134270&amp;postID=109239510367211292' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/109239510367211292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/109239510367211292'/><link rel='alternate' type='text/html' href='http://dunric.blogspot.com/2004/08/corrections-rosetta-star.html' title='Corrections: &quot;The Rosetta Star&quot;'/><author><name>Paul</name><uri>http://www.blogger.com/profile/04792922491931153734</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7134270.post-109142184284656357</id><published>2004-08-08T19:41:00.000-07:00</published><updated>2004-08-18T19:48:41.653-07:00</updated><title type='text'>My new books are now available!</title><content type='html'>I have finally published four of my books! I spent *years* working on&lt;br /&gt;four books (in addition to programming games). Thus, I wanted to&lt;br /&gt;share them with everyone here.&lt;br /&gt;&lt;br /&gt;My books are:&lt;br /&gt;&lt;br /&gt;1. The Rosetta Star (&lt;a href="http://my.lulu.com/content/69913"&gt;http://my.lulu.com/content/69913&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;2. The Rosetta: a novel (&lt;a href="http://my.lulu.com/content/55400"&gt;http://my.lulu.com/content/55400&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;3. Hallowed Whispers (&lt;a href="http://www.lulu.com/content/69364/"&gt;http://www.lulu.com/content/69364/&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;4. Light Years Beyond Reality (&lt;a href="http://www.lulu.com/content/69372/"&gt;http://www.lulu.com/content/69372/&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;All four of these books are simply amazing! But don't take my word&lt;br /&gt;for it...visit my online store:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://my.lulu.com/dunric"&gt;http://my.lulu.com/dunric&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I have priced all of my books to be affordable, and they also include&lt;br /&gt;downloadable versions (if you'd prefer an e-book format). Please let&lt;br /&gt;me know via email what you like best about my books!&lt;br /&gt;&lt;br /&gt;&lt;a href="mailto:dunric@yahoo.com"&gt;dunric@yahoo.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Paul&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7134270-109142184284656357?l=dunric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dunric.blogspot.com/feeds/109142184284656357/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7134270&amp;postID=109142184284656357' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/109142184284656357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/109142184284656357'/><link rel='alternate' type='text/html' href='http://dunric.blogspot.com/2004/08/my-new-books-are-now-available.html' title='My new books are now available!'/><author><name>Paul</name><uri>http://www.blogger.com/profile/04792922491931153734</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7134270.post-108950394496420359</id><published>2004-07-10T16:58:00.000-07:00</published><updated>2004-12-04T17:50:11.523-08:00</updated><title type='text'>Text Adventure Data Structures</title><content type='html'>&lt;img src="http://www.geocities.com/dunric/esotera.gif" height="304" width="488"&gt;&lt;br /&gt;I wrote this article awhile back, and wanted to share it &lt;br /&gt;with everyone here. This article discusses text adventure &lt;br /&gt;data structures, and the article applies to all computers &lt;br /&gt;with a Microsoft-compatible BASIC interpreter.&lt;br /&gt;&lt;br /&gt;"Text Adventure Structures"&lt;br /&gt;By: Paul Panks (dunric@yahoo.com)&lt;br /&gt;July 11, 2004&lt;br /&gt;&lt;br /&gt;Since the mid-1970s, attempts have been made to write&lt;br /&gt;text adventures using a variety of methods. Zork (to&lt;br /&gt;use an early example) was originally written at M.I.T.&lt;br /&gt;on a PDP series mainframe (using an obscure&lt;br /&gt;programming language known as MUDDLE). Zork was then&lt;br /&gt;translated into FORTRAN IV by unknown persons, and by&lt;br /&gt;1979 Infocom was formed to sell Zork to the computer&lt;br /&gt;industry at large.&lt;br /&gt;&lt;br /&gt;The fact that Zork was plainly inspired from the&lt;br /&gt;original Adventure by Will Crowther and Don Woods&lt;br /&gt;suggested that adventure games were appealing enough&lt;br /&gt;to stick around for awhile.&lt;br /&gt;&lt;br /&gt;By the time Zork took off, smaller memory personal&lt;br /&gt;computers were becoming commonplace. And so many&lt;br /&gt;people took it upon themselves to write adventure game&lt;br /&gt;drivers to fit an entire adventure game into a limited&lt;br /&gt;amount of RAM. People like Scott Adams and David&lt;br /&gt;Malmberg developed adventure games based on the&lt;br /&gt;two-word parser of the original Adventure.&lt;br /&gt;&lt;br /&gt;The structure of a text adventure is essentially the&lt;br /&gt;same today. You have several key components, including&lt;br /&gt;the parser and data structures. The parser can be a&lt;br /&gt;simple (or complex) routine. It is essentially&lt;br /&gt;responsible for breaking down small sentences into&lt;br /&gt;individual words useful to the computer. Once matched&lt;br /&gt;against an array of data within the data structures&lt;br /&gt;themselves, the computer then branches to specific&lt;br /&gt;subroutines in order to effectively process the&lt;br /&gt;inputed data.&lt;br /&gt;&lt;br /&gt;Data structures (on the other hand) rely both on&lt;br /&gt;numerical and alphanumerical data. Since data&lt;br /&gt;structures are almost entirely made up of a word list,&lt;br /&gt;the computer adventure can convert each word or phrase&lt;br /&gt;into a number used by the parser. So one can have an&lt;br /&gt;almost limitless word list consisting of verbs, nouns,&lt;br /&gt;adjectives and common phrases.&lt;br /&gt;&lt;br /&gt;Just what does a parser or data structure look like?&lt;br /&gt;While a parser can vary wildly from one adventure to&lt;br /&gt;the next, data structures are more or less the same&lt;br /&gt;across all adventure games.&lt;br /&gt;&lt;br /&gt;A very simple two-word parser might look like this:&lt;br /&gt;&lt;br /&gt;100 v=0:n=0:ne$="":n$="":n2$="":v$="":v2$="":pr=0:pt=0:&lt;br /&gt;nm=0:bz=0:FOR X=1 TO 10:wd$(x)="":NEXT x:INPUT A$:pt=1:&lt;br /&gt;nm=0:D$=A$:FOR a=1 TO LEN(D$)&lt;br /&gt;101 IF MID$(D$, a, 1)=" " THEN A$=MID$(D$,pt,a-pt):pt=a+1:&lt;br /&gt;nm=nm+1:wd$(nm)=A$&lt;br /&gt;102 NEXT a:nm=nm+1:a$=MID$(D$,pt,a-pt):wd$(nm)=A$&lt;br /&gt;103 v$=wd$(1):n$=wd$(2):IF wd$(3)="and" OR wd$(3)="then" &lt;br /&gt;THEN v2$=wd$(4):n2$=wd$(5):co=1&lt;br /&gt;104 IF wd$(3)="in" OR wd$(3)="from" OR wd$(3)="to" THEN &lt;br /&gt;v$=wd$(1):ne$=wd$(2):pr=1:bz=1&lt;br /&gt;&lt;br /&gt;What lines 100 through 105 accomplish is to break the&lt;br /&gt;sentence into individual words, and then assign each&lt;br /&gt;of those words into a string array -- wd$(nm). "nm"&lt;br /&gt;equals the number of words entered in this case. The&lt;br /&gt;parser also allows from complex commands, including&lt;br /&gt;PUT and GET FROM (e.g. "put medallion in bag", "get&lt;br /&gt;medallion from bag", "give medallion to hobbit", etc.)&lt;br /&gt;&lt;br /&gt;The next step is to check the entered data against a&lt;br /&gt;word list. This can be accomplished as follows:&lt;br /&gt;&lt;br /&gt;105 v=0:FOR x=1 TO 30:IF v$=vb$(x) THEN v=x&lt;br /&gt;106 NEXT:IF v=0 THEN PRINT"What? Check your verb.":&lt;br /&gt;GOTO 100&lt;br /&gt;107 n=0:FOR x=1 TO 299:IF ne$=no$(x) THEN n=x&lt;br /&gt;108 NEXT:IF n=0 THEN PRINT"Huh? Check your noun.":&lt;br /&gt;GOTO 100&lt;br /&gt;109 ON v GOSUB 120,130,140,150,160,170,180,190,200,210&lt;br /&gt;110 IF co=1 THEN co=0:GOTO 105&lt;br /&gt;111 GOTO 100&lt;br /&gt;&lt;br /&gt;Note Lines 105 and 107. Line 105 assumes the data&lt;br /&gt;table has a total of 30 verbs, and checks it against&lt;br /&gt;the values stored in vb$(x) or v2$. If a match is&lt;br /&gt;found, v is set to x (v=x), and the parser jumps to&lt;br /&gt;Line 106. If a match is not found (v=0), then the&lt;br /&gt;message "What? Check your verb" is printed out and the&lt;br /&gt;parser returns to Line 100.&lt;br /&gt;&lt;br /&gt;Line 107 checks for a valid noun, and assigns n to x&lt;br /&gt;if found (n=x). If not, n=0 and the message "Huh?&lt;br /&gt;Check your noun" is displayed, sending the parser back&lt;br /&gt;to Line 100.&lt;br /&gt;&lt;br /&gt;Line 109 branches off to verb subroutines based on the&lt;br /&gt;value stored in v (ON v GOSUB...). In my own verb&lt;br /&gt;table, I set my verbs as follows:&lt;br /&gt;&lt;br /&gt;1 - Go&lt;br /&gt;2 - Get/Take&lt;br /&gt;3 - Drop&lt;br /&gt;4 - Inventory&lt;br /&gt;5 - look&lt;br /&gt;6 - examine&lt;br /&gt;7 - read&lt;br /&gt;8 - use&lt;br /&gt;9 - climb&lt;br /&gt;10 - light&lt;br /&gt;&lt;br /&gt;Ten verbs should be enough for most adventures,&lt;br /&gt;although with a larger verb list, the adventure game&lt;br /&gt;can become far more playable and interesting.&lt;br /&gt;&lt;br /&gt;Also, note Line 110. IF co equals 1 (IF co=1), then we&lt;br /&gt;set it back to 0 (THEN co=0) and hop back over to&lt;br /&gt;process the input again (to Line 105). This ensures&lt;br /&gt;that if a larger command has been entered -- "get&lt;br /&gt;sword and then go east" -- the parser recognizes it&lt;br /&gt;and works each command separately ("get sword"&lt;br /&gt;followed by "go east"). The advanced Infocom parsers&lt;br /&gt;used in Zork and other adventures utilized such a&lt;br /&gt;parser system. &lt;br /&gt;&lt;br /&gt;Now on to data structures. What do they look like?&lt;br /&gt;Well, they can look like anything you want, so long as&lt;br /&gt;they contain the basis of the adventure game. For the&lt;br /&gt;purposes of this article, I will list a short data&lt;br /&gt;table and explain what each DATA statement means.&lt;br /&gt;&lt;br /&gt;A simple data table might look like this:&lt;br /&gt;&lt;br /&gt;500 DATA"go",1,"get",2,"take",2,"drop",3,"inventory",4,"look"&lt;br /&gt;,5,"examine",6&lt;br /&gt;501 DATA"read",7,"use",8,"climb",9,"light",10&lt;br /&gt;502 DATA"north",99,"south",99,"east",99,"west",99,"up",99,"down",99&lt;br /&gt;503 DATA"lantern",17,"oil",5,"torch",6,"book",12,"food",1,"wine"&lt;br /&gt;,1,"water",2,"well",2,"altar",5,"bible",5&lt;br /&gt;504 DATA"rope",6,"barrels",6,"knapsack",6&lt;br /&gt;505 DATA"ogre",23,"werewolf",18,"villager",2,"clerk",3,"priest"&lt;br /&gt;,5,"bartender",1,"paladin",17,"hobbit",24&lt;br /&gt;506 DATA"goblin",28,"knight",31,"barbarian",29,"dragon",20,"vampire"&lt;br /&gt;,33,"ghost",38,"spider",40&lt;br /&gt;&lt;br /&gt;Lines 500 through 501 list the appropriate verbs&lt;br /&gt;understood by the adventure game. In this instance,&lt;br /&gt;the verbs are followed by the appropriate verb number.&lt;br /&gt;The verb number is important because you can assign&lt;br /&gt;multiple verb names to the same verb number. In the&lt;br /&gt;case of "get" and "take" verbs, this branches to the&lt;br /&gt;same routine simply because both verbs do essentially&lt;br /&gt;the same thing. Such a verb list would allow you to&lt;br /&gt;create an entire dictionary of verbs that are&lt;br /&gt;different words but do much the same action or&lt;br /&gt;actions.&lt;br /&gt;&lt;br /&gt;Lines 502 through 506 contain the noun list used by&lt;br /&gt;the adventure. Each name is again followed by a&lt;br /&gt;number. But this time each number isn't a noun number,&lt;br /&gt;as it was in the above verb list. No, this time we are&lt;br /&gt;actually listing the noun locations for each object.&lt;br /&gt;For example, the lantern is located in room number 17,&lt;br /&gt;the oil in room 5, and the torch in room 6. This may&lt;br /&gt;also relate to monsters throughout the adventure, as&lt;br /&gt;the "ogre" lives in room 23, and the "werewolf" in&lt;br /&gt;room 18.&lt;br /&gt;&lt;br /&gt;This simple data table is very limited, but it can be&lt;br /&gt;used as the starting basis for a more complex&lt;br /&gt;adventure. Also, remember that the player needs to be&lt;br /&gt;able to move about the adventure game. A data table&lt;br /&gt;for moving about the adventure would suffice as well. &lt;br /&gt;&lt;br /&gt;Such a data table might resemble the following:&lt;br /&gt;&lt;br /&gt;507 REM N, S, E, W, U, D&lt;br /&gt;508 DATA0, 2, 0, 0, 4, 0: REM Room 1 (Tavern)&lt;br /&gt;509 DATA1, 7, 3, 5, 0, 0: REM Room 2 (Village Well)&lt;br /&gt;510 DATA0, 0, 0, 2, 0, 0: REM Room 3 (Town Shop)&lt;br /&gt;511 DATA0, 1,10, 0, 0, 1: REM Room 4 (Upstairs Hall)&lt;br /&gt;512 DATA0, 0, 2, 6, 0, 0: REM Room 5 (Village Church)&lt;br /&gt;513 DATA0, 0, 5, 0, 0, 0: REM Room 6 (Storage Room)&lt;br /&gt;514 DATA2, 8, 0, 0, 0, 0: REM Room 7 (In the Forest)&lt;br /&gt;515 DATA7, 9,11,12, 0, 0: REM Room 8 (By a Clearing)&lt;br /&gt;516 DATA8,13, 0, 0, 0, 0: REM Room 9 (On a Bridge)&lt;br /&gt;517 DATA0, 0, 0, 4, 0, 0: REM Room 10(Small Room)&lt;br /&gt;518 DATA0, 0, 0, 8, 0, 0: REM Room 11(By the Lake)&lt;br /&gt;519 DATA0, 0, 8, 0, 0, 0: REM Room 12(By a Boulder)&lt;br /&gt;520 DATA9, 0, 0,14, 0, 0: REM Room 13(By the Castle)&lt;br /&gt;521 DATA0, 0,13,15, 0, 0: REM Room 14(In the Hall)&lt;br /&gt;522 DATA16,0,14, 0, 0, 0: REM Room 15(In the Parlor)&lt;br /&gt;523 DATA0,15, 0, 0, 0, 0: REM Room 16(By the Throne)&lt;br /&gt;&lt;br /&gt;Line 507 is a REM statement that doesn't do anything&lt;br /&gt;remarkable. But what it does list is each cardinal&lt;br /&gt;direction the next DATA statements correspond with. So&lt;br /&gt;the first column of each DATA statement which follows&lt;br /&gt;represents the movement direction of NORTH, while the&lt;br /&gt;second is SOUTH, the third EAST, the fourth WEST, the&lt;br /&gt;fifth UP and the sixth DOWN. Notice that each of these&lt;br /&gt;DATA columns corresponds to a room location number.&lt;br /&gt;Lines 507 through 523 are thus the basis for a&lt;br /&gt;6-directional map for a 16 room adventure game. It can&lt;br /&gt;obviously be expanded to include many more rooms, but&lt;br /&gt;this will suffice for now.&lt;br /&gt;&lt;br /&gt;There is much more to the structure of an adventure&lt;br /&gt;game than either the parser or data tables themselves.&lt;br /&gt;The length of such an explanation is beyond the scope&lt;br /&gt;of this article. However, a storyline and introduction&lt;br /&gt;would help the casual game player to understand what&lt;br /&gt;your adventure game is all about. You might also add&lt;br /&gt;in the ability to talk to game objects (such as the&lt;br /&gt;villager or clerk), face combat with various monsters&lt;br /&gt;(such as the werewolf or barbarian) and handle random&lt;br /&gt;gaming events (such as time, weather, magical rooms,&lt;br /&gt;etc). &lt;br /&gt;&lt;br /&gt;As you can see, the structure of an adventure game&lt;br /&gt;(even the parser and data structures) is fairly&lt;br /&gt;straightforward. Even a novice with little coding&lt;br /&gt;experience can sit down and write a simple text&lt;br /&gt;adventure in as few as three weeks. All it takes is&lt;br /&gt;imagination, a willingness to learn and the ability to&lt;br /&gt;develop a storyline.&lt;br /&gt;&lt;br /&gt;The limits of the imagination (and available RAM) are&lt;br /&gt;the only limitations to what you can accomplish while&lt;br /&gt;writing a text adventure.&lt;br /&gt;&lt;br /&gt;Sincerely,&lt;br /&gt;&lt;br /&gt;Paul Allen Panks&lt;br /&gt;dunric@yahoo.com&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7134270-108950394496420359?l=dunric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dunric.blogspot.com/feeds/108950394496420359/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7134270&amp;postID=108950394496420359' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108950394496420359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108950394496420359'/><link rel='alternate' type='text/html' href='http://dunric.blogspot.com/2004/07/text-adventure-data-structures.html' title='Text Adventure Data Structures'/><author><name>Paul</name><uri>http://www.blogger.com/profile/04792922491931153734</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7134270.post-108873481458123085</id><published>2004-07-01T19:19:00.000-07:00</published><updated>2004-12-04T17:49:53.570-08:00</updated><title type='text'>Some adventure game ideas</title><content type='html'>&lt;img src="http://www.geocities.com/dunric/mys.gif" HEIGHT="296" WIDTH="480" BORDER="1"&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Need an idea for an adventure game? Look around your environment. Or choose from popular culture, especially movies, folk stories and books. Is the old "castle beyond the forest" still cool enough to build a game around? How about humorous stories, such as the search for the Golden Cat? Does the Golden Cat meow? Is it a prized artifact from a lost civilization? Only you can decide such a story!&lt;br /&gt;&lt;p&gt;&lt;br /&gt;A good, basic storyline need not be complicated, either. You might place the player in a spaceship or on Jupiter. How about sending the player out of the Solar System in search of the meaning of life? Or how about a game centered into the human brain, like a synapse moving about the neural pathways within the visual cortex?&lt;br /&gt;&lt;br /&gt;Perhaps you could also write events in the past, such as the Alamo, Tombstone or Gettysburgh (to name a few). Another game scenerio could be the player entering a "tunnel of light" after eating too much at Denny's (sort of like a mysticism event, like an Out-of-Body-Experience). And then there are also the stories about ghosts moving through walls, animals spirits roaming a lone hillside (such as the Nordic Wolves) and other strange things such as The Mothman and Big Foot. The potential storylines are very interesting, to say the least!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7134270-108873481458123085?l=dunric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dunric.blogspot.com/feeds/108873481458123085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7134270&amp;postID=108873481458123085' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108873481458123085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108873481458123085'/><link rel='alternate' type='text/html' href='http://dunric.blogspot.com/2004/07/some-adventure-game-ideas.html' title='Some adventure game ideas'/><author><name>Paul</name><uri>http://www.blogger.com/profile/04792922491931153734</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7134270.post-108855393980097143</id><published>2004-06-29T17:03:00.000-07:00</published><updated>2004-12-04T17:48:57.736-08:00</updated><title type='text'>The 2K Text Adventure Competition officially begins</title><content type='html'>&lt;img src="http://www.geocities.com/dunric/esotera.gif" HEIGHT="128" WIDTH="192" BORDER="1"&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;I am organizing a 1 to 2KB text adventure competition. See below:&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://panks.freeshell.org/advcomp.html"&gt;http://panks.freeshell.org/advcomp.html&lt;/a&gt;&lt;p&gt;&lt;br /&gt;Is it possible to write a text adventure in under 2K&lt;br /&gt;of RAM? Some people have tried, and some have &lt;br /&gt;succeeded.&lt;br /&gt;&lt;p&gt;&lt;br /&gt;I would like to officially announce the formation &lt;br /&gt;of The 1st Annual 1 to 2K Classic Text Adventure &lt;br /&gt;Competition. I will be accepting BASIC, C/C++, &lt;br /&gt;Fortran and Assembly language submissions for &lt;br /&gt;1 to 2K text adventures written for the following &lt;br /&gt;computing platforms: &lt;br /&gt;&lt;p&gt;&lt;br /&gt;Commodore 64/128/+4/Vic-20/PET&lt;br /&gt;Texas Instruments 99/4A&lt;br /&gt;IBM PC/PCJr&lt;br /&gt;Atari 400/800&lt;br /&gt;Apple II/IIe&lt;br /&gt;Sinclair ZX80/ZX81/Spectrum&lt;br /&gt;TRS-80 1/2/3&lt;br /&gt;Color Computer 1/2/3&lt;br /&gt;Acorn&lt;br /&gt;Tomy Tutor&lt;br /&gt;DEC Rainbow&lt;br /&gt;Compucolor I/II&lt;br /&gt;Altair 8800&lt;br /&gt;Bally Astrocade&lt;br /&gt;Atari 2600 VCS&lt;br /&gt;Amstrad CPC/464&lt;br /&gt;Linux&lt;br /&gt;Macintosh&lt;br /&gt;Windows/DOS&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Please submit your 1 to 2K adventure games. The&lt;br /&gt;2K size can be either the source coce, or the&lt;br /&gt;EXE, BIN, OBJ, PRG, ELF or other self-contained,&lt;br /&gt;self-running binary. So you can thus have, say,&lt;br /&gt;a 8K source code listing, so long as the binary &lt;br /&gt;format doesn't exceed 2.9KB of size. You may also &lt;br /&gt;crunch the binary down with a compressing program &lt;br /&gt;such as UPX or Winzip. The competition officially &lt;br /&gt;begins on June 28, 2004, and runs through &lt;br /&gt;September 29, 2004.&lt;br /&gt;&lt;p&gt;&lt;br /&gt;I will post all submissions, regardless of when&lt;br /&gt;they were submitted, and then review them and &lt;br /&gt;post grades on the &lt;a href="http://panks.freeshell.org/advcomp.html"&gt;competition&lt;br /&gt;page&lt;/a&gt; by October 7th.&lt;p&gt;&lt;br /&gt;To help get you started, see my 8KB adventure game,&lt;br /&gt;in BASIC, called &lt;a href="http://panks.freeshell.org/melark.zip"&gt;The Melarkian&lt;/a&gt;.&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Good luck! =)&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Sincerely,&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Paul Allen Panks&lt;br /&gt;&lt;a href="mailto:dunric@gmail.com?Subject=2K Text Adventure Competition :)"&gt;dunric@gmail.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7134270-108855393980097143?l=dunric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dunric.blogspot.com/feeds/108855393980097143/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7134270&amp;postID=108855393980097143' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108855393980097143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108855393980097143'/><link rel='alternate' type='text/html' href='http://dunric.blogspot.com/2004/06/2k-text-adventure-competition.html' title='The 2K Text Adventure Competition officially begins'/><author><name>Paul</name><uri>http://www.blogger.com/profile/04792922491931153734</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7134270.post-108847666304732730</id><published>2004-06-28T19:15:00.000-07:00</published><updated>2004-07-01T19:34:38.636-07:00</updated><title type='text'>A text adventure in only 2 to 4KB of RAM?</title><content type='html'>Adventures have changed over the years, including text adventures. In the 1970's, Zork and Colossal Cave were the top of the line adventure games available. Even many of the Scott Adams titles did well, including &lt;a href="http://www.if-legends.org/~adventure/Adventure_International/Classic.html"&gt;Pirate Cove&lt;/a&gt; (also published in the &lt;a href="http://www.if-legends.org/~aimemorial/"&gt;December 1980 issue of Byte Magazine&lt;/a&gt;). Adventures have been crammed to work on just about every computer around (even the Bally Astrocade &lt;a href="http://www.atarimagazines.com/creative/v9n7/222_Cavern_quest_an_adventur.php"&gt;had a simple text adventure&lt;/a&gt;, in just under 1,800 bytes of RAM). There have been &lt;a href="http://geocities.com/f_ramsberg/mickey_and_the_blot.html"&gt;a few 2K text adventures&lt;/a&gt; released for the Commodore 64, some written in under 2.4K of RAM. &lt;br /&gt;&lt;br /&gt;There was also a 4K text adventure for the Atari 2600 VCS called &lt;a href="http://www.atariage.com/software_page.html?SoftwareLabelID=865"&gt;Dark Mage&lt;/a&gt; (written by Greg Troutman).&lt;p&gt;&lt;br /&gt;And have you seen the &lt;a href="http://www.if-legends.org/~aimemorial/sayyoho198101.html"&gt;one-line text adventure&lt;/a&gt;? See below:&lt;br /&gt;&lt;br /&gt;ONE LINE ADVENTURE&lt;br /&gt;by Phillip Case&lt;br /&gt;&lt;br /&gt;0 CLS:PRINT"ADVENTURE&lt;br /&gt;VISIBLE ITEMS: TREES&lt;br /&gt;OBVIOUS EXITS: EAST WEST&lt;br /&gt;";STRING$(30,"-"):INPUT"TELL ME";A$:IFA$&lt;&gt;"E",0ELSEPRINT@0,"I'M&lt;br /&gt;IN A CAVE.";:PRINT@79,"NOTHING";:PRINT@143,"NONE",;:PRINT@263,""&lt;br /&gt;;:INPUTA$:IFASC(A$)=72ANDMID$(A$,4)="P",PRINT"YOU WIN!!"ELSE0&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7134270-108847666304732730?l=dunric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dunric.blogspot.com/feeds/108847666304732730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7134270&amp;postID=108847666304732730' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108847666304732730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108847666304732730'/><link rel='alternate' type='text/html' href='http://dunric.blogspot.com/2004/06/text-adventure-in-only-2-to-4kb-of-ram.html' title='A text adventure in only 2 to 4KB of RAM?'/><author><name>Paul</name><uri>http://www.blogger.com/profile/04792922491931153734</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7134270.post-108815562449636835</id><published>2004-06-25T02:22:00.000-07:00</published><updated>2004-06-25T02:29:06.486-07:00</updated><title type='text'>A Tiny BASIC Adventure Game?</title><content type='html'>&lt;img src="http://panks.freeshell.org/halite.png" HEIGHT="328" WIDTH="480" BORDER="1"&gt;&lt;p&gt;&lt;br /&gt;I wrote this article on alt.lang.basic and comp.lang.basic.misc, and wanted to share it with PowerBASIC users because I've been trying to convert this game over to Tiny BASIC from a PowerBASIC version I wrote sometime ago (but never released).&lt;br /&gt;&lt;br /&gt;I even received an email from Tom Pittman (one of the many authors of Tiny BASIC in the mid-1970s). He suggested I simulate string use via the USR command (I even tried the INP and PEEK functions, but both failed to do anything useful for my needs).&lt;br /&gt;&lt;br /&gt;See below:&lt;br /&gt;&lt;br /&gt;Tom,&lt;br /&gt;&lt;br /&gt;The main problem is actually two-fold:&lt;br /&gt;&lt;br /&gt;First, there is no way to adequately simulate string input from the user. In Sylvain Bizoirre's MINI-BASIC, this can be semi-accomplished courtesy of GET/INPUT emitting CHR character codes for each letter entered by the user. However, in 8086 Tiny BASIC, a suggested work around to this problem (suggested by Tom Pittman) was to use USR instead. I compiled his version&lt;br /&gt;of Tiny BASIC from the C source. However, I couldn't load or save anything in the editor, and went back to using 8086 Tiny BASIC instead.&lt;br /&gt;                                                                       &lt;br /&gt;A second problem with 8086 Tiny BASIC is the lack of available memory. I've written less than 20% of the game's code, and already 90% of the memory has been exhausted. It would seem that such an adventure as outlined in the previous post would be possible (even in Tiny BASIC), but at the present time I'm wondering if even that assumption is true.&lt;br /&gt;&lt;br /&gt;The workaround I used for my game Dark Forest II is published below (this is just the parser idea I came up with from a lucid dream I had a few years ago):&lt;br /&gt;            &lt;br /&gt;   23 F=0:C=0:A=0:B=0:Y=0:Z=0:J=0:X=1:N=0:COLOR 15,1:PRINT "&gt;";&lt;br /&gt;   24 J=A:GET A:IF A=27 PRINT:PRINT "Thanks for playing!":STOP&lt;br /&gt;   25 IF A=32 B=1:Y=F:PRINT " ";&lt;br /&gt;   26 IF A=8 GOTO 24&lt;br /&gt;   27 IF A=13 A=F:Z=F:GOTO 29&lt;br /&gt;   28 F=F+A:C=C+1:COLOR 11,1:GOTO 32                                   &lt;br /&gt;   29 PRINT:COLOR 15,1:GOTO 100&lt;br /&gt;   30 LOCATE X,C-1:PRINT " ":LOCATE X,C-1:RETURN&lt;br /&gt;   31 IF C&gt;0 F=F-J:LOCATE X,C-1:PRINT " ":LOCATE X,C-1: RETURN&lt;br /&gt;   32 IF A=97 PRINT "a";&lt;br /&gt;   33 IF A=98 PRINT "b";&lt;br /&gt;   34 IF A=99 PRINT "c";&lt;br /&gt;   35 IF A=100 PRINT "d";&lt;br /&gt;   36 IF A=101 PRINT "e";&lt;br /&gt;   37 IF A=102 PRINT "f";&lt;br /&gt;   38 IF A=103 PRINT "g";&lt;br /&gt;   39 IF A=104 PRINT "h";&lt;br /&gt;   40 IF A=105 PRINT "i";&lt;br /&gt;   41 IF A=106 PRINT "j";&lt;br /&gt;   42 IF A=107 PRINT "k";&lt;br /&gt;   43 IF A=108 PRINT "l";&lt;br /&gt;   44 IF A=109 PRINT "m";                                              &lt;br /&gt;   45 IF A=110 PRINT "n";&lt;br /&gt;   46 IF A=111 PRINT "o";&lt;br /&gt;   47 IF A=112 PRINT "p";&lt;br /&gt;   48 IF A=113 PRINT "q";&lt;br /&gt;   49 IF A=114 PRINT "r";&lt;br /&gt;   50 IF A=115 PRINT "s";&lt;br /&gt;   51 IF A=116 PRINT "t";&lt;br /&gt;   52 IF A=117 PRINT "u";&lt;br /&gt;   53 IF A=118 PRINT "v";&lt;br /&gt;   54 IF A=119 PRINT "w";      &lt;br /&gt;   55 IF A=120 PRINT "x";&lt;br /&gt;   56 IF A=121 PRINT "y";&lt;br /&gt;   57 IF A=122 PRINT "z";&lt;br /&gt;   58 GOTO 24&lt;br /&gt;  100 N=0:IF F=555 PRINT "Use abbrev.":GOTO 23&lt;br /&gt;  101 IF F=563 PRINT "Use abbrev.":GOTO 23&lt;br /&gt;  102 IF F=429 PRINT "Use abbrev.":GOTO 23&lt;br /&gt;  103 IF F=451 PRINT "Use abbrev.":GOTO 23&lt;br /&gt;  104 IF F=229 PRINT "Use abbrev.":GOTO 23&lt;br /&gt;  105 IF F=440 PRINT "Use abbrev.":GOTO 23&lt;br /&gt;  106 IF F=110 N=1&lt;br /&gt;  107 IF F=115 N=2&lt;br /&gt;  108 IF F=101 N=3&lt;br /&gt;            &lt;br /&gt;etc...                                                            &lt;br /&gt;&lt;br /&gt;I added up words by their ASCII character value, so that commands as complex as:&lt;br /&gt;&lt;br /&gt;EXAMINE LANTERN&lt;br /&gt;&lt;br /&gt;or&lt;br /&gt;&lt;br /&gt;WIELD BROADSWORD&lt;br /&gt;&lt;br /&gt;could be simulated by adding all the letters together:&lt;br /&gt;&lt;br /&gt;E+X+A+M+I+N+E+ +B+R+O+A+D+S+W+O+R+D  = some number&lt;br /&gt;&lt;br /&gt;An older version of Dark Forest II, as it runs under MINI-BASIC, is listed below:                                                                    &lt;br /&gt;            &lt;br /&gt;    1 COLOR 15,1:CLS:PRINT "Dark Forest II":COLOR 7,1:PRINT "By Paul Panks":PRINT &lt;br /&gt;    2 COLOR 11,1:PRINT "Version 1.32":PRINT:COLOR 15,1 &lt;br /&gt;    3 PRINT "It has been three years since you ventured into the Dark Forest" &lt;br /&gt;    4 PRINT "to slay the evil dragon within. As your legend grew, so did your" &lt;br /&gt;    5 PRINT "notoriety. From far away lands people saught your skills and" &lt;br /&gt;    6 PRINT "unrelenting bravery. You rest on your spoils and set aside" &lt;br /&gt;    7 PRINT "your sword, hoping to forever retire from the blade.":PRINT &lt;br /&gt;    8 PRINT "But recently, wild stories have emerged from the outskirts of town." &lt;br /&gt;    9 PRINT "Stories of vampires haunting the forest, and sucking dry the very" &lt;br /&gt;   10 PRINT "blood of mortal men. Scared and afraid, the villagers have retreated" &lt;br /&gt;   11 PRINT "into the mountains. It is up to you alone to see if such stories are true." &lt;br /&gt;   12 PRINT "For if they are, then your blade may not be useless just yet...":PRINT &lt;br /&gt;   13 COLOR 14,1:PRINT "Press ENTER to begin!" &lt;br /&gt;   14 GET A:IF A=13 GOTO 16 &lt;br /&gt;   15 GOTO 14 &lt;br /&gt;   16 CLS:COLOR 15,1:@(1)=4:@(2)=99:@(3)=4:@(4)=22:@(5)=22:@(6)=-1:@(7)=99:@(8)=1025:@(9)=1028:@(10)=99 &lt;br /&gt;   17 @(11)=1023:@(12)=15:@(13)=1029:@(14)=1023:@(15)=106:@(16)=-1:@(17)=1025:@(18)=1026:@(19)=1026 &lt;br /&gt;   18 @(20)=3:@(21)=8:@(22)=25:@(23)=42:@(24)=34:@(25)=37:@(26)=33:@(27)=15 &lt;br /&gt;   19 @(28)=45:@(29)=47:@(30)=47:@(31)=25:@(32)=29 &lt;br /&gt;   20 R=1:H=275:G=250:E=0:L=0:U=0 &lt;br /&gt;   21 A=0:COLOR 7,1:GOTO 3500 &lt;br /&gt;   22 GOTO 3800 &lt;br /&gt;   23 F=0:C=0:A=0:B=0:Y=0:Z=0:J=0:X=1:N=0:COLOR 15,1:PRINT "&gt;"; &lt;br /&gt;   24 J=A:GET A:IF A=27 PRINT:PRINT "Thanks for playing!":STOP &lt;br /&gt;   25 IF A=32 B=1:Y=F:PRINT " "; &lt;br /&gt;   26 IF A=8 GOTO 24 &lt;br /&gt;   27 IF A=13 A=F:Z=F:GOTO 29 &lt;br /&gt;   28 F=F+A:C=C+1:COLOR 11,1:GOTO 32 &lt;br /&gt;   29 PRINT:COLOR 15,1:GOTO 100 &lt;br /&gt;   30 LOCATE X,C-1:PRINT " ":LOCATE X,C-1:RETURN &lt;br /&gt;   31 IF C&gt;0 F=F-J:LOCATE X,C-1:PRINT " ":LOCATE X,C-1: RETURN &lt;br /&gt;   32 IF A=97 PRINT "a"; &lt;br /&gt;   33 IF A=98 PRINT "b"; &lt;br /&gt;   34 IF A=99 PRINT "c"; &lt;br /&gt;   35 IF A=100 PRINT "d"; &lt;br /&gt;   36 IF A=101 PRINT "e"; &lt;br /&gt;   37 IF A=102 PRINT "f"; &lt;br /&gt;   38 IF A=103 PRINT "g"; &lt;br /&gt;   39 IF A=104 PRINT "h"; &lt;br /&gt;   40 IF A=105 PRINT "i"; &lt;br /&gt;   41 IF A=106 PRINT "j"; &lt;br /&gt;   42 IF A=107 PRINT "k"; &lt;br /&gt;   43 IF A=108 PRINT "l"; &lt;br /&gt;   44 IF A=109 PRINT "m"; &lt;br /&gt;   45 IF A=110 PRINT "n"; &lt;br /&gt;   46 IF A=111 PRINT "o"; &lt;br /&gt;   47 IF A=112 PRINT "p"; &lt;br /&gt;   48 IF A=113 PRINT "q"; &lt;br /&gt;   49 IF A=114 PRINT "r"; &lt;br /&gt;   50 IF A=115 PRINT "s"; &lt;br /&gt;   51 IF A=116 PRINT "t"; &lt;br /&gt;   52 IF A=117 PRINT "u"; &lt;br /&gt;   53 IF A=118 PRINT "v"; &lt;br /&gt;   54 IF A=119 PRINT "w"; &lt;br /&gt;   55 IF A=120 PRINT "x"; &lt;br /&gt;   56 IF A=121 PRINT "y"; &lt;br /&gt;   57 IF A=122 PRINT "z"; &lt;br /&gt;   58 GOTO 24 &lt;br /&gt;  100 N=0:IF F=555 PRINT "Use abbrev.":GOTO 23 &lt;br /&gt;  101 IF F=563 PRINT "Use abbrev.":GOTO 23 &lt;br /&gt;  102 IF F=429 PRINT "Use abbrev.":GOTO 23 &lt;br /&gt;  103 IF F=451 PRINT "Use abbrev.":GOTO 23 &lt;br /&gt;  104 IF F=229 PRINT "Use abbrev.":GOTO 23 &lt;br /&gt;  105 IF F=440 PRINT "Use abbrev.":GOTO 23 &lt;br /&gt;  106 IF F=110 N=1 &lt;br /&gt;  107 IF F=115 N=2 &lt;br /&gt;  108 IF F=101 N=3 &lt;br /&gt;  109 IF F=119 N=4 &lt;br /&gt;  110 IF F=117 N=5 &lt;br /&gt;  111 IF F=100 N=6 &lt;br /&gt;  112 IF N=0 GOTO 114 &lt;br /&gt;  113 GOTO 1997 &lt;br /&gt;  114 COLOR 15,1 &lt;br /&gt;  115 IF F=105 O=R:R=-1 &lt;br /&gt;  116 IF F=1006 O=R:R=-1 &lt;br /&gt;  117 IF F=1006 GOTO 3800 &lt;br /&gt;  118 IF F=105 GOTO 3800 &lt;br /&gt;  119 IF F=1108 IF @(1)=R @(1)=-1:PRINT "Taken.":GOTO 23 &lt;br /&gt;  120 IF F=676 IF @(2)=R @(2)=-1:PRINT "Taken.":GOTO 23 &lt;br /&gt;  121 IF F=790 IF @(3)=R @(3)=-1:PRINT "Taken.":GOTO 23 &lt;br /&gt;  122 IF F=681 IF @(4)=R @(4)=-1:PRINT "Taken.":GOTO 23 &lt;br /&gt;  123 IF F=1002 IF @(5)=R @(5)=-1:PRINT "Taken.":GOTO 23 &lt;br /&gt;  124 IF F=970 IF @(6)=R @(6)=-1:PRINT "Taken.":GOTO 23 &lt;br /&gt;  125 IF F=911 IF @(7)=R @(7)=-1:PRINT "Taken.":GOTO 23 &lt;br /&gt;  126 IF F=670 IF @(8)=R @(8)=-1:PRINT "Taken.":GOTO 23 &lt;br /&gt;  127 IF F=1212 IF @(9)=R @(9)=-1:PRINT "Taken.":GOTO 23 &lt;br /&gt;  128 IF F=1343 IF @(10)=R @(10)=-1:PRINT "Taken.":GOTO 23 &lt;br /&gt;  129 IF F=1431 IF @(11)=R @(11)=-1:PRINT "Taken.":GOTO 23 &lt;br /&gt;  130 IF F=1306 IF @(12)=R @(12)=-1:PRINT "Taken.":GOTO 23 &lt;br /&gt;  131 IF F=1090 IF @(13)=R @(13)=-1:PRINT "Taken.":GOTO 23 &lt;br /&gt;  132 IF F=897 IF @(14)=R @(14)=-1:PRINT "Taken.":GOTO 23 &lt;br /&gt;  133 IF F=985 IF @(15)=R @(15)=-1:PRINT "Taken.":GOTO 23 &lt;br /&gt;  134 IF F=991 IF @(16)=R @(16)=-1:PRINT "Taken.":GOTO 23 &lt;br /&gt;  135 IF F=1335 IF @(17)=R @(17)=-1:PRINT "Taken.":GOTO 23 &lt;br /&gt;  136 IF F=874 IF @(18)=R @(18)=-1:PRINT "Taken.":GOTO 23 &lt;br /&gt;  137 IF F=784 IF @(19)=R @(19)=-1:PRINT "Taken.":GOTO 23 &lt;br /&gt;  138 IF F=1225 IF @(1)=-1 @(1)=R:PRINT "Dropped.":GOTO 23 &lt;br /&gt;  139 IF F=793 IF @(2)=-1 @(2)=R:PRINT "Dropped.":GOTO 23 &lt;br /&gt;  140 IF F=907 IF @(3)=-1 @(3)=R:PRINT "Dropped.":GOTO 23 &lt;br /&gt;  141 IF F=798 IF @(4)=-1 @(4)=R:PRINT "Dropped.":GOTO 23 &lt;br /&gt;  142 IF F=1119 IF @(5)=-1 @(5)=R:PRINT "Dropped.":GOTO 23 &lt;br /&gt;  143 IF F=1087 IF @(6)=-1 @(6)=R:PRINT "Dropped.":GOTO 23 &lt;br /&gt;  144 IF F=1028 IF @(7)=-1 @(7)=R:PRINT "Dropped.":GOTO 23 &lt;br /&gt;  145 IF F=787 IF @(8)=-1 @(8)=R:PRINT "Dropped.":GOTO 23 &lt;br /&gt;  146 IF F=1329 IF @(9)=-1 @(9)=R:PRINT "Dropped.":GOTO 23 &lt;br /&gt;  147 IF F=1460 IF @(10)=-1 @(10)=R:PRINT "Dropped.":GOTO 23 &lt;br /&gt;  148 IF F=1548 IF @(11)=-1 @(11)=R:PRINT "Dropped.":GOTO 23 &lt;br /&gt;  149 IF F=1423 IF @(12)=-1 @(12)=R:PRINT "Dropped.":GOTO 23 &lt;br /&gt;  150 IF F=1207 IF @(13)=-1 @(13)=R:PRINT "Dropped.":GOTO 23 &lt;br /&gt;  151 IF F=1014 IF @(14)=-1 @(14)=R:PRINT "Dropped.":GOTO 23 &lt;br /&gt;  152 IF F=1102 IF @(15)=-1 @(15)=R:PRINT "Dropped.":GOTO 23 &lt;br /&gt;  153 IF F=1108 IF @(16)=-1 @(16)=R:PRINT "Dropped.":GOTO 23 &lt;br /&gt;  154 IF F=1452 IF @(17)=-1 @(17)=R:PRINT "Dropped.":GOTO 23 &lt;br /&gt;  155 IF F=991 IF @(18)=-1 @(18)=R:PRINT "Dropped.":GOTO 23 &lt;br /&gt;  156 IF F=993 IF @(19)=-1 @(19)=R:PRINT "Dropped.":GOTO 23 &lt;br /&gt;  157 IF F=1183 IF @(6)=-1 S=6:GOTO 3900 &lt;br /&gt;  158 IF F=1124 IF @(7)=-1 S=7:GOTO 3900 &lt;br /&gt;  159 IF F=883 IF @(8)=-1 S=8:GOTO 3900 &lt;br /&gt;  160 IF F=1425 IF @(9)=-1 S=9:GOTO 3900 &lt;br /&gt;  161 IF F=1556 IF @(10)=-1 S=10:GOTO 3900 &lt;br /&gt;  162 IF F=1644 IF @(11)=-1 S=11:GOTO 3900 &lt;br /&gt;  163 IF F=1519 IF @(12)=-1 S=12:GOTO 3900 &lt;br /&gt;  164 IF F=1303 IF @(13)=-1 S=13:GOTO 3900 &lt;br /&gt;  170 IF F=1410 IF @(6)=105 @(6)=-1:PRINT "Unwielded.":GOTO 23 &lt;br /&gt;  171 IF F=1351 IF @(7)=105 @(7)=-1:PRINT "Unwielded.":GOTO 23 &lt;br /&gt;  172 IF F=1110 IF @(8)=105 @(8)=-1:PRINT "Unwielded.":GOTO 23 &lt;br /&gt;  173 IF F=1652 IF @(9)=105 @(9)=-1:PRINT "Unwielded.":GOTO 23 &lt;br /&gt;  174 IF F=1783 IF @(10)=105 @(10)=-1:PRINT "Unwielded.":GOTO 23 &lt;br /&gt;  175 IF F=1871 IF @(11)=105 @(11)=-1:PRINT "Unwielded.":GOTO 23 &lt;br /&gt;  176 IF F=1746 IF @(12)=105 @(12)=-1:PRINT "Unwielded.":GOTO 23 &lt;br /&gt;  177 IF F=1530 IF @(13)=105 @(13)=-1:PRINT "Unwielded.":GOTO 23 &lt;br /&gt;  180 IF F=1008 IF @(14)=-1 @(14)=205:PRINT "Worn.":GOTO 23 &lt;br /&gt;  181 IF F=1096 IF @(15)=-1 @(15)=205:PRINT "Worn.":GOTO 23 &lt;br /&gt;  182 IF F=1102 IF @(16)=-1 @(16)=205:PRINT "Worn.":GOTO 23 &lt;br /&gt;  183 IF F=1446 IF @(17)=-1 @(17)=205:PRINT "Worn.":GOTO 23 &lt;br /&gt;  184 IF F=985 IF @(18)=-1 @(18)=205:PRINT "Worn.":GOTO 23 &lt;br /&gt;  185 IF F=895 IF @(19)=-1 @(19)=205:PRINT "Worn.":GOTO 23 &lt;br /&gt;  190 IF F=1231 IF @(14)=205 @(14)=-1:PRINT "Removed.":GOTO 23 &lt;br /&gt;  191 IF F=1319 IF @(15)=205 @(15)=-1:PRINT "Removed.":GOTO 23 &lt;br /&gt;  192 IF F=1325 IF @(16)=205 @(16)=-1:PRINT "Removed.":GOTO 23 &lt;br /&gt;  193 IF F=1669 IF @(17)=205 @(17)=-1:PRINT "Removed.":GOTO 23 &lt;br /&gt;  194 IF F=1208 IF @(18)=205 @(18)=-1:PRINT "Removed.":GOTO 23 &lt;br /&gt;  195 IF F=1118 IF @(19)=205 @(19)=-1:PRINT "Removed.":GOTO 23 &lt;br /&gt;  196 IF F=108 GOTO 21 &lt;br /&gt;  197 IF F=437 GOTO 21 &lt;br /&gt;  198 IF F=1531 IF @(30)=R COLOR 7,1:PRINT "vampire: This is the evil vampire. He has sharp fangs and a deadly gaze!":GOTO 23 &lt;br /&gt;  200 IF F=1531 IF @(1)=R GOTO 4201 &lt;br /&gt;  201 IF F=1531 IF @(1)=-1 GOTO 4201 &lt;br /&gt;  202 IF F=1099 IF @(2)=R GOTO 4202 &lt;br /&gt;  203 IF F=1099 IF @(2)=-1 GOTO 4202 &lt;br /&gt;  204 IF F=1213 IF @(3)=R GOTO 4203 &lt;br /&gt;  205 IF F=1213 IF @(3)=-1 GOTO 4203 &lt;br /&gt;  206 IF F=1104 IF @(4)=R GOTO 4204 &lt;br /&gt;  207 IF F=1104 IF @(4)=-1 GOTO 4204 &lt;br /&gt;  208 IF F=1425 IF @(5)=R GOTO 4205 &lt;br /&gt;  209 IF F=1425 IF @(5)=-1 GOTO 4205 &lt;br /&gt;  210 IF F=1393 IF @(6)=R GOTO 4206 &lt;br /&gt;  211 IF F=1393 IF @(6)=-1 GOTO 4206 &lt;br /&gt;  212 IF F=1393 IF @(6)=105 GOTO 4206 &lt;br /&gt;  213 IF F=1334 IF @(7)=R GOTO 4207 &lt;br /&gt;  214 IF F=1334 IF @(7)=-1 GOTO 4207 &lt;br /&gt;  215 IF F=1334 IF @(7)=105 GOTO 4207 &lt;br /&gt;  216 IF F=1093 IF @(8)=R GOTO 4208 &lt;br /&gt;  217 IF F=1093 IF @(8)=-1 GOTO 4208 &lt;br /&gt;  218 IF F=1093 IF @(8)=105 GOTO 4208 &lt;br /&gt;  219 IF F=1635 IF @(9)=R GOTO 4209 &lt;br /&gt;  220 IF F=1635 IF @(9)=-1 GOTO 4209 &lt;br /&gt;  221 IF F=1635 IF @(9)=105 GOTO 4209 &lt;br /&gt;  222 IF F=1766 IF @(10)=R GOTO 4210 &lt;br /&gt;  223 IF F=1766 IF @(10)=-1 GOTO 4210 &lt;br /&gt;  224 IF F=1766 IF @(10)=105 GOTO 4210 &lt;br /&gt;  225 IF F=1854 IF @(11)=R GOTO 4211 &lt;br /&gt;  226 IF F=1854 IF @(11)=-1 GOTO 4211 &lt;br /&gt;  227 IF F=1854 IF @(11)=105 GOTO 4211 &lt;br /&gt;  228 IF F=1729 IF @(12)=R GOTO 4212 &lt;br /&gt;  229 IF F=1729 IF @(12)=-1 GOTO 4212 &lt;br /&gt;  230 IF F=1729 IF @(12)=105 GOTO 4212 &lt;br /&gt;  231 IF F=1513 IF @(13)=R GOTO 4213 &lt;br /&gt;  232 IF F=1513 IF @(13)=-1 GOTO 4213 &lt;br /&gt;  233 IF F=1513 IF @(13)=105 GOTO 4213 &lt;br /&gt;  234 IF F=1320 IF @(14)=R GOTO 4214 &lt;br /&gt;  235 IF F=1320 IF @(14)=-1 GOTO 4214 &lt;br /&gt;  236 IF F=1320 IF @(14)=205 GOTO 4214 &lt;br /&gt;  237 IF F=1408 IF @(15)=R GOTO 4215 &lt;br /&gt;  238 IF F=1408 IF @(15)=-1 GOTO 4215 &lt;br /&gt;  239 IF F=1408 IF @(15)=205 GOTO 4215 &lt;br /&gt;  240 IF F=1414 IF @(16)=R GOTO 4216 &lt;br /&gt;  241 IF F=1414 IF @(16)=-1 GOTO 4216 &lt;br /&gt;  242 IF F=1414 IF @(16)=205 GOTO 4216 &lt;br /&gt;  243 IF F=1758 IF @(17)=R GOTO 4217 &lt;br /&gt;  244 IF F=1758 IF @(17)=-1 GOTO 4217 &lt;br /&gt;  245 IF F=1758 IF @(17)=205 GOTO 4217 &lt;br /&gt;  246 IF F=1297 IF @(18)=R GOTO 4218 &lt;br /&gt;  247 IF F=1297 IF @(18)=-1 GOTO 4218 &lt;br /&gt;  248 IF F=1297 IF @(18)=205 GOTO 4218 &lt;br /&gt;  249 IF F=1207 IF @(19)=R GOTO 4219 &lt;br /&gt;  250 IF F=1207 IF @(19)=-1 GOTO 4219 &lt;br /&gt;  251 IF F=1207 IF @(19)=205 GOTO 4219 &lt;br /&gt;  252 IF F=1304 IF @(20)=R GOTO 4220 &lt;br /&gt;  253 IF F=1629 IF @(21)=R GOTO 4221 &lt;br /&gt;  254 IF F=1215 IF @(22)=R GOTO 4222 &lt;br /&gt;  255 IF F=1549 IF @(23)=R GOTO 4223 &lt;br /&gt;  256 IF F=1324 IF @(24)=R GOTO 4224 &lt;br /&gt;  257 IF F=1313 IF @(25)=R GOTO 4225 &lt;br /&gt;  258 IF F=1086 IF @(26)=R GOTO 4226 &lt;br /&gt;  259 IF F=1407 IF @(27)=R GOTO 4227 &lt;br /&gt;  260 IF F=1504 IF @(28)=R GOTO 4228 &lt;br /&gt;  261 IF F=1644 IF @(29)=R GOTO 4229 &lt;br /&gt;  262 IF F=1531 IF @(30)=R GOTO 4230 &lt;br /&gt;  263 IF F=1644 IF @(31)=R GOTO 4231 &lt;br /&gt;  264 IF F=1410 IF @(32)=R GOTO 4232 &lt;br /&gt;  270 IF F=1121 IF @(1)=-1 IF L=0 L=1:PRINT "The lantern is now on.":GOTO 23 &lt;br /&gt;  271 IF F=1121 IF @(1)=-1 IF L=1 PRINT "The lantern is already on.":GOTO 23 &lt;br /&gt;  272 IF F=689 IF @(2)=-1 PRINT "No good by itself.":GOTO 23 &lt;br /&gt;  273 IF F=803 IF @(3)=-1 IF R=18 R=14:PRINT "You use rope...":GOTO 21 &lt;br /&gt;  274 IF F=694 IF @(4)=-1 IF R=42 R=43:PRINT "Click! You walk inside...":GOTO 21 &lt;br /&gt;  275 IF F=1015 IF @(5)=-1 IF R=29 H=H+10:PRINT "You fill the bottle with water.":PRINT "You drink it. Ahhhhhhh!":GOTO 23 &lt;br /&gt;  276 IF F=113 PRINT "Thanks for playing!":STOP &lt;br /&gt;  277 IF F=425 GOTO 4300 &lt;br /&gt;  278 IF F=540 GOTO 4400 &lt;br /&gt;  280 IF F=1124 IF R=3 IF @(20)=R N=1:GOTO 5000 &lt;br /&gt;  281 IF F=692 IF R=3 IF @(20)=R N=2:GOTO 5000 &lt;br /&gt;  282 IF F=806 IF R=3 IF @(20)=R N=3:GOTO 5000 &lt;br /&gt;  283 IF F=697 IF R=3 IF @(20)=R N=4:GOTO 5000 &lt;br /&gt;  284 IF F=1018 IF R=3 IF @(20)=R N=5:GOTO 5000 &lt;br /&gt;  285 IF F=986 IF R=3 IF @(20)=R N=6:GOTO 5000 &lt;br /&gt;  286 IF F=927 IF R=3 IF @(20)=R N=7:GOTO 5000 &lt;br /&gt;  287 IF F=686 IF R=3 IF @(20)=R N=8:GOTO 5000 &lt;br /&gt;  288 IF F=1228 IF R=3 IF @(20)=R N=9:GOTO 5000 &lt;br /&gt;  289 IF F=1359 IF R=3 IF @(20)=R N=10:GOTO 5000 &lt;br /&gt;  290 IF F=1447 IF R=3 IF @(20)=R N=11:GOTO 5000 &lt;br /&gt;  291 IF F=1322 IF R=3 IF @(20)=R N=12:GOTO 5000 &lt;br /&gt;  292 IF F=1106 IF R=3 IF @(20)=R N=13:GOTO 5000 &lt;br /&gt;  293 IF F=913 IF R=3 IF @(20)=R N=14:GOTO 5000 &lt;br /&gt;  294 IF F=1001 IF R=3 IF @(20)=R N=15:GOTO 5000 &lt;br /&gt;  295 IF F=1007 IF R=3 IF @(20)=R N=16:GOTO 5000 &lt;br /&gt;  296 IF F=1351 IF R=3 IF @(20)=R N=17:GOTO 5000 &lt;br /&gt;  297 IF F=890 IF R=3 IF @(20)=R N=18:GOTO 5000 &lt;br /&gt;  298 IF F=800 IF R=3 IF @(20)=R N=19:GOTO 5000 &lt;br /&gt;  301 IF F=1220 IF R=3 IF @(20)=R IF @(1)=-1 @(1)=99:G=G+6:GOTO 5100 &lt;br /&gt;  302 IF F=788 IF R=3 IF @(20)=R IF @(2)=-1 @(2)=99:G=G+3:GOTO 5100 &lt;br /&gt;  303 IF F=902 IF R=3 IF @(20)=R IF @(3)=-1 @(3)=99:G=G+5:GOTO 5100 &lt;br /&gt;  304 IF F=793 IF R=3 IF @(20)=R IF @(4)=-1 @(4)=99:G=G+2:GOTO 5100 &lt;br /&gt;  305 IF F=1114 IF R=3 IF @(20)=R IF @(5)=-1 @(5)=99:G=G+2:GOTO 5100 &lt;br /&gt;  306 IF F=1082 IF R=3 IF @(20)=R IF @(6)=-1 @(6)=99:G=G+14:GOTO 5100 &lt;br /&gt;  307 IF F=1023 IF R=3 IF @(20)=R IF @(7)=-1 @(7)=99:G=G+37:GOTO 5100 &lt;br /&gt;  308 IF F=782 IF R=3 IF @(20)=R IF @(8)=-1 @(8)=99:G=G+60:GOTO 5100 &lt;br /&gt;  309 IF F=1324 IF R=3 IF @(20)=R IF @(9)=-1 @(9)=99:G=G+75:GOTO 5100 &lt;br /&gt;  310 IF F=1455 IF R=3 IF @(20)=R IF @(10)=-1 @(10)=99:G=G+142:GOTO 5100 &lt;br /&gt;  311 IF F=1543 IF R=3 IF @(20)=R IF @(11)=-1 @(11)=99:G=G+156:GOTO 5100 &lt;br /&gt;  312 IF F=1418 IF R=3 IF @(20)=R IF @(12)=-1 @(12)=99:G=G+240:GOTO 5100 &lt;br /&gt;  313 IF F=1202 IF R=3 IF @(20)=R IF @(13)=-1 @(13)=99:G=G+52:GOTO 5100 &lt;br /&gt;  314 IF F=1009 IF R=3 IF @(20)=R IF @(14)=-1 @(14)=99:G=G+40:GOTO 5100 &lt;br /&gt;  315 IF F=1097 IF R=3 IF @(20)=R IF @(15)=-1 @(15)=99:G=G+58:GOTO 5100 &lt;br /&gt;  316 IF F=1103 IF R=3 IF @(20)=R IF @(16)=-1 @(16)=99:G=G+36:GOTO 5100 &lt;br /&gt;  317 IF F=1447 IF R=3 IF @(20)=R IF @(17)=-1 @(17)=99:G=G+126:GOTO 5100 &lt;br /&gt;  318 IF F=986 IF R=3 IF @(20)=R IF @(18)=-1 @(18)=99:G=G+30:GOTO 5100 &lt;br /&gt;  319 IF F=896 IF R=3 IF @(20)=R IF @(19)=-1 @(19)=99:G=G+24:GOTO 5100 &lt;br /&gt;  320 IF F=444 IF R=3 IF @(20)&lt;&gt;R PRINT "The clerk isn't here.":GOTO 23 &lt;br /&gt;  321 IF F=444 IF R=3 IF @(20)=R GOTO 5200 &lt;br /&gt;  420 IF F=989 IF @(20)=R N=20:GOTO 5500 &lt;br /&gt;  421 IF F=1314 IF @(21)=R N=21:GOTO 5500 &lt;br /&gt;  422 IF F=900 IF @(22)=R N=22:GOTO 5500 &lt;br /&gt;  423 IF F=1234 IF @(23)=R N=23:GOTO 5500 &lt;br /&gt;  424 IF F=1009 IF @(24)=R N=24:GOTO 5500 &lt;br /&gt;  425 IF F=1095 IF @(25)=R N=25:GOTO 5500 &lt;br /&gt;  426 IF F=771 IF @(26)=R N=26:GOTO 5500 &lt;br /&gt;  427 IF F=1092 IF @(27)=R N=27:GOTO 5500 &lt;br /&gt;  428 IF F=1189 IF @(28)=R N=28:GOTO 5500 &lt;br /&gt;  429 IF F=1329 IF @(29)=R N=29:GOTO 5500 &lt;br /&gt;  430 IF F=1216 IF @(30)=R N=30:GOTO 5500 &lt;br /&gt;  431 IF F=1329 IF @(31)=R N=31:GOTO 5500 &lt;br /&gt;  432 IF F=1095 IF @(32)=R N=32:GOTO 5500 &lt;br /&gt;  950 IF F=555+246 PRINT "Use abbrev.":GOTO 23 &lt;br /&gt;  951 IF F=563+246 PRINT "Use abbrev.":GOTO 23 &lt;br /&gt;  952 IF F=429+246 PRINT "Use abbrev.":GOTO 23 &lt;br /&gt;  953 IF F=451+246 PRINT "Use abbrev.":GOTO 23 &lt;br /&gt;  954 IF F=229+246 PRINT "Use abbrev.":GOTO 23 &lt;br /&gt;  955 IF F=440+246 PRINT "Use abbrev.":GOTO 23 &lt;br /&gt;  998 COLOR 15,1:PRINT "What?":GOTO 23 &lt;br /&gt;  999 STOP &lt;br /&gt; 1997 IF R=46 IF N=6 IF L=0 PRINT "You need the lantern! It's much too dark!":GOTO 23 &lt;br /&gt; 1998 IF R=42 IF N=1 IF L=0 PRINT "It's too dark to move in that direction!":GOTO 23 &lt;br /&gt; 1999 IF R=8 IF N=2 IF L=0 PRINT "It's too dark to move in that direction!":GOTO 23 &lt;br /&gt; 2000 IF R&lt;&gt;1 GOTO 2006 &lt;br /&gt; 2001 IF N=2 R=5 &lt;br /&gt; 2002 IF N=5 R=2 &lt;br /&gt; 2003 GOTO 21 &lt;br /&gt; 2006 IF R&lt;&gt;2 GOTO 2012 &lt;br /&gt; 2007 IF N=3 R=4 &lt;br /&gt; 2008 IF N=6 R=1 &lt;br /&gt; 2009 GOTO 21 &lt;br /&gt; 2012 IF R&lt;&gt;3 GOTO 2018 &lt;br /&gt; 2013 IF N=4 R=5 &lt;br /&gt; 2014 GOTO 21 &lt;br /&gt; 2018 IF R&lt;&gt;4 GOTO 2024 &lt;br /&gt; 2019 IF N=4 R=2 &lt;br /&gt; 2020 GOTO 21 &lt;br /&gt; 2024 IF R&lt;&gt;5 GOTO 2030 &lt;br /&gt; 2025 IF N=1 R=1 &lt;br /&gt; 2026 IF N=2 R=8 &lt;br /&gt; 2027 IF N=3 R=3 &lt;br /&gt; 2028 IF N=4 R=6 &lt;br /&gt; 2029 GOTO 21 &lt;br /&gt; 2030 IF R&lt;&gt;6 GOTO 2036 &lt;br /&gt; 2031 IF N=1 R=7 &lt;br /&gt; 2032 IF N=3 R=5 &lt;br /&gt; 2033 IF N=4 R=39 &lt;br /&gt; 2034 GOTO 21 &lt;br /&gt; 2036 IF R&lt;&gt;7 GOTO 2042 &lt;br /&gt; 2037 IF N=2 R=6 &lt;br /&gt; 2038 GOTO 21 &lt;br /&gt; 2042 IF R&lt;&gt;8 GOTO 2048 &lt;br /&gt; 2043 IF N=1 R=5 &lt;br /&gt; 2044 IF N=2 R=11 &lt;br /&gt; 2045 IF N=3 R=9 &lt;br /&gt; 2046 IF N=4 R=10 &lt;br /&gt; 2047 GOTO 21 &lt;br /&gt; 2048 IF R&lt;&gt;9 GOTO 2054 &lt;br /&gt; 2049 IF N=4 R=8 &lt;br /&gt; 2050 GOTO 21 &lt;br /&gt; 2054 IF R&lt;&gt;10 GOTO 2060 &lt;br /&gt; 2055 IF N=3 R=8 &lt;br /&gt; 2056 GOTO 21 &lt;br /&gt; 2060 IF R&lt;&gt;11 GOTO 2066 &lt;br /&gt; 2061 IF N=1 R=8 &lt;br /&gt; 2062 IF N=2 R=17 &lt;br /&gt; 2063 IF N=3 R=12 &lt;br /&gt; 2064 GOTO 21 &lt;br /&gt; 2066 IF R&lt;&gt;12 GOTO 2072 &lt;br /&gt; 2068 IF N=4 R=11 &lt;br /&gt; 2069 GOTO 21 &lt;br /&gt; 2072 IF R&lt;&gt;13 GOTO 2078 &lt;br /&gt; 2073 IF N=2 R=16 &lt;br /&gt; 2074 GOTO 21 &lt;br /&gt; 2078 IF R&lt;&gt;14 GOTO 2084 &lt;br /&gt; 2079 IF N=3 R=15 &lt;br /&gt; 2080 IF N=6 R=18 &lt;br /&gt; 2081 GOTO 21 &lt;br /&gt; 2084 IF R&lt;&gt;15 GOTO 2090 &lt;br /&gt; 2085 IF N=4 R=14 &lt;br /&gt; 2086 GOTO 21 &lt;br /&gt; 2090 IF R&lt;&gt;16 GOTO 2096 &lt;br /&gt; 2091 IF N=1 R=13 &lt;br /&gt; 2092 IF N=2 R=19 &lt;br /&gt; 2093 GOTO 21 &lt;br /&gt; 2096 IF R&lt;&gt;17 GOTO 2102 &lt;br /&gt; 2097 IF N=1 R=11 &lt;br /&gt; 2098 IF N=2 R=20 &lt;br /&gt; 2099 GOTO 21 &lt;br /&gt; 2102 IF R&lt;&gt;18 GOTO 2108 &lt;br /&gt; 2103 IF N=2 R=21 &lt;br /&gt; 2104 GOTO 21 &lt;br /&gt; 2108 IF R&lt;&gt;19 GOTO 2114 &lt;br /&gt; 2109 IF N=1 R=16 &lt;br /&gt; 2110 IF N=2 R=23 &lt;br /&gt; 2111 GOTO 21 &lt;br /&gt; 2114 IF R&lt;&gt;20 GOTO 2120 &lt;br /&gt; 2115 IF N=1 R=17 &lt;br /&gt; 2116 IF N=2 R=26 &lt;br /&gt; 2117 GOTO 21 &lt;br /&gt; 2120 IF R&lt;&gt;21 GOTO 2126 &lt;br /&gt; 2121 IF N=1 R=18 &lt;br /&gt; 2122 IF N=2 R=27 &lt;br /&gt; 2123 GOTO 21 &lt;br /&gt; 2126 IF R&lt;&gt;22 GOTO 2132 &lt;br /&gt; 2127 IF N=2 R=28 &lt;br /&gt; 2128 GOTO 21 &lt;br /&gt; 2132 IF R&lt;&gt;23 GOTO 2138 &lt;br /&gt; 2133 IF N=1 R=19 &lt;br /&gt; 2134 IF N=3 R=24 &lt;br /&gt; 2135 GOTO 21 &lt;br /&gt; 2138 IF R&lt;&gt;24 GOTO 2144 &lt;br /&gt; 2139 IF N=3 R=25 &lt;br /&gt; 2140 IF N=4 R=23 &lt;br /&gt; 2141 GOTO 21 &lt;br /&gt; 2144 IF R&lt;&gt;25 GOTO 2150 &lt;br /&gt; 2145 IF N=3 R=26 &lt;br /&gt; 2146 IF N=4 R=24 &lt;br /&gt; 2147 GOTO 21 &lt;br /&gt; 2150 IF R&lt;&gt;26 GOTO 2156 &lt;br /&gt; 2151 IF N=1 R=20 &lt;br /&gt; 2152 IF N=2 R=35 &lt;br /&gt; 2153 IF N=3 R=27 &lt;br /&gt; 2154 IF N=4 R=25 &lt;br /&gt; 2155 GOTO 21 &lt;br /&gt; 2156 IF R&lt;&gt;27 GOTO 2162 &lt;br /&gt; 2157 IF N=3 R=28 &lt;br /&gt; 2158 IF N=4 R=26 &lt;br /&gt; 2159 IF N=1 R=21 &lt;br /&gt; 2160 GOTO 21 &lt;br /&gt; 2162 IF R&lt;&gt;28 GOTO 2168 &lt;br /&gt; 2163 IF N=1 R=22 &lt;br /&gt; 2164 IF N=3 R=29 &lt;br /&gt; 2165 IF N=4 R=27 &lt;br /&gt; 2166 GOTO 21 &lt;br /&gt; 2168 IF R&lt;&gt;29 GOTO 2174 &lt;br /&gt; 2169 IF N=4 R=28 &lt;br /&gt; 2170 GOTO 21 &lt;br /&gt; 2174 IF R&lt;&gt;30 GOTO 2180 &lt;br /&gt; 2175 IF N=2 R=34 &lt;br /&gt; 2176 GOTO 21 &lt;br /&gt; 2180 IF R&lt;&gt;31 GOTO 2186 &lt;br /&gt; 2181 IF N=2 R=36 &lt;br /&gt; 2182 GOTO 21 &lt;br /&gt; 2186 IF R&lt;&gt;32 GOTO 2192 &lt;br /&gt; 2187 IF N=2 R=37 &lt;br /&gt; 2188 GOTO 21 &lt;br /&gt; 2192 IF R&lt;&gt;33 GOTO 2198 &lt;br /&gt; 2193 IF N=3 R=34 &lt;br /&gt; 2194 GOTO 21 &lt;br /&gt; 2198 IF R&lt;&gt;34 GOTO 2204 &lt;br /&gt; 2199 IF N=1 R=30 &lt;br /&gt; 2200 IF N=3 R=35 &lt;br /&gt; 2201 IF N=4 R=33 &lt;br /&gt; 2202 GOTO 21 &lt;br /&gt; 2204 IF R&lt;&gt;35 GOTO 2210 &lt;br /&gt; 2205 IF N=1 R=26 &lt;br /&gt; 2206 IF N=3 R=36 &lt;br /&gt; 2207 IF N=4 R=34 &lt;br /&gt; 2208 GOTO 21 &lt;br /&gt; 2210 IF R&lt;&gt;36 GOTO 2216 &lt;br /&gt; 2211 IF N=1 R=31 &lt;br /&gt; 2212 IF N=3 R=37 &lt;br /&gt; 2213 IF N=4 R=35 &lt;br /&gt; 2214 GOTO 21 &lt;br /&gt; 2216 IF R&lt;&gt;37 GOTO 2222 &lt;br /&gt; 2217 IF N=1 R=32 &lt;br /&gt; 2218 IF N=3 R=38 &lt;br /&gt; 2219 IF N=4 R=36 &lt;br /&gt; 2220 GOTO 21 &lt;br /&gt; 2222 IF R&lt;&gt;38 GOTO 2228 &lt;br /&gt; 2223 IF N=4 R=37 &lt;br /&gt; 2224 GOTO 21 &lt;br /&gt; 2228 IF R&lt;&gt;39 GOTO 2234 &lt;br /&gt; 2229 IF N=3 R=6 &lt;br /&gt; 2230 IF N=4 R=40 &lt;br /&gt; 2231 GOTO 21 &lt;br /&gt; 2234 IF R&lt;&gt;40 GOTO 2240 &lt;br /&gt; 2235 IF N=3 R=39 &lt;br /&gt; 2236 IF N=4 R=41 &lt;br /&gt; 2237 GOTO 21 &lt;br /&gt; 2240 IF R&lt;&gt;41 GOTO 2246 &lt;br /&gt; 2241 IF N=3 R=40 &lt;br /&gt; 2242 IF N=4 R=42 &lt;br /&gt; 2243 GOTO 21 &lt;br /&gt; 2246 IF R&lt;&gt;42 GOTO 2252 &lt;br /&gt; 2247 IF N=1 IF @(4)&lt;&gt;-1 PRINT "The door is locked. You need to find a key.":GOTO 23 &lt;br /&gt; 2248 IF N=1 IF @(23)=R COLOR 12,1:PRINT "The warrior stops you.":COLOR 15,1:PRINT "He says,'";:COLOR 11,1:PRINT"You may not pass here!";:COLOR 15,1:PRINT"'":GOTO 23 &lt;br /&gt; 2249 IF N=1 R=43 &lt;br /&gt; 2250 IF N=3 R=41 &lt;br /&gt; 2251 GOTO 21 &lt;br /&gt; 2252 IF R&lt;&gt;43 GOTO 2258 &lt;br /&gt; 2253 IF N=1 R=44 &lt;br /&gt; 2254 IF N=2 R=42 &lt;br /&gt; 2255 GOTO 21 &lt;br /&gt; 2258 IF R&lt;&gt;44 GOTO 2264 &lt;br /&gt; 2259 IF N=1 R=45 &lt;br /&gt; 2260 IF N=2 R=43 &lt;br /&gt; 2261 IF N=4 R=46 &lt;br /&gt; 2262 GOTO 21 &lt;br /&gt; 2264 IF R&lt;&gt;45 GOTO 2270 &lt;br /&gt; 2265 IF N=2 R=44 &lt;br /&gt; 2266 GOTO 21 &lt;br /&gt; 2270 IF R&lt;&gt;46 GOTO 2276 &lt;br /&gt; 2271 IF N=3 R=44 &lt;br /&gt; 2272 IF N=6 R=47:COLOR 7,1:PRINT "You descend the staircase...":COLOR 15,1 &lt;br /&gt; 2273 GOTO 21 &lt;br /&gt; 2276 IF R&lt;&gt;47 GOTO 2282 &lt;br /&gt; 2277 IF N=5 R=46:COLOR 7,1:PRINT "You ascend the staircase...":COLOR 15,1 &lt;br /&gt; 2278 GOTO 21 &lt;br /&gt; 2282 COLOR 15,1:PRINT "What?":GOTO 23 &lt;br /&gt; 3000 PRINT "You are standing in a tavern. A staircase heads" &lt;br /&gt; 3001 PRINT "upstairs to the second floor. The only exit is south." &lt;br /&gt; 3002 GOSUB 4500:PRINT "south, up.":GOTO 22 &lt;br /&gt; 3003 PRINT "You are standing on the second floor in an" &lt;br /&gt; 3004 PRINT "upstairs hallway. A small room lies to the east." &lt;br /&gt; 3005 GOSUB 4500:PRINT "east,west, down.":GOTO 22 &lt;br /&gt; 3006 PRINT "You are standing in a small shop. Commands here" &lt;br /&gt; 3007 PRINT "include 'buy &lt;item&gt;','sell &lt;item&gt;' and 'list'." &lt;br /&gt; 3008 GOSUB 4500:PRINT "west.":GOTO 22 &lt;br /&gt; 3009 PRINT "You are standing in a small room. There isn't much" &lt;br /&gt; 3010 PRINT "here save for a small bed. It looks comfortable." &lt;br /&gt; 3011 GOSUB 4500:PRINT "west.":GOTO 22 &lt;br /&gt; 3012 PRINT "You are walking on a path through the village. A shop" &lt;br /&gt; 3013 PRINT "lies to the east. The path continues west." &lt;br /&gt; 3014 GOSUB 4500:PRINT "north, south, east, west.":GOTO 22 &lt;br /&gt; 3015 PRINT "You are walking on an east-west path heading out" &lt;br /&gt; 3016 PRINT "of town. There is a small barn to the north." &lt;br /&gt; 3017 GOSUB 4500:PRINT "north, east.":GOTO 22 &lt;br /&gt; 3018 PRINT "You are standing in a small barn. It is mostly" &lt;br /&gt; 3019 PRINT "empty (except for some bails of hay)." &lt;br /&gt; 3020 GOSUB 4500:PRINT "south.":GOTO 22 &lt;br /&gt; 3021 PRINT "You are standing before a small artisan well." &lt;br /&gt; 3022 PRINT "The sides of the wall are covered in moss." &lt;br /&gt; 3023 GOSUB 4500:PRINT "north, south, east, west.":GOTO 22 &lt;br /&gt; 3024 PRINT "You are standing in a small cathedral. There are" &lt;br /&gt; 3025 PRINT "several rows of empty pews here. An altar is north." &lt;br /&gt; 3026 GOSUB 4500:PRINT "west.":GOTO 22 &lt;br /&gt; 3027 PRINT "You are standing in a small guild room. A fireplace" &lt;br /&gt; 3028 PRINT "is set into the back wall. Above it rests a mantle." &lt;br /&gt; 3029 GOSUB 4500:PRINT "east.":GOTO 22 &lt;br /&gt; 3030 PRINT "You are on a path just south of a small village." &lt;br /&gt; 3031 PRINT "The path continues south. You notice a house to the east." &lt;br /&gt; 3032 GOSUB 4500:PRINT "north, south, east.":GOTO 22 &lt;br /&gt; 3033 PRINT "You are standing inside a small house. It is neatly" &lt;br /&gt; 3034 PRINT "furnished. Someone obviously lives here." &lt;br /&gt; 3035 GOSUB 4500:PRINT "north, west.":GOTO 22 &lt;br /&gt; 3036 PRINT "You are standing before a bronze statue." &lt;br /&gt; 3037 PRINT "It appears to bare the likeness of King Elrond." &lt;br /&gt; 3038 GOSUB 4500:PRINT "south.":GOTO 22 &lt;br /&gt; 3039 PRINT "You are standing on a branch high atop the forest." &lt;br /&gt; 3040 PRINT "To the east, near the tree center, lies a small hut." &lt;br /&gt; 3041 GOSUB 4500:PRINT "east, down.":GOTO 22 &lt;br /&gt; 3042 PRINT "You are standing inside a small grassroof hut." &lt;br /&gt; 3043 PRINT "There isn't much here at the moment. A table rests nearby." &lt;br /&gt; 3044 GOSUB 4500:PRINT "west.":GOTO 22 &lt;br /&gt; 3045 PRINT "You are walking on a narrow path north of a small bridge." &lt;br /&gt; 3046 PRINT "The path heads north here towards a bronze statue." &lt;br /&gt; 3047 GOSUB 4500:PRINT "north, south.":GOTO 22 &lt;br /&gt; 3048 PRINT "You are walking on a well-lit path. To the south lies" &lt;br /&gt; 3049 PRINT "a dark forest. You notice a tree in the distance to the east." &lt;br /&gt; 3050 GOSUB 4500:PRINT "north, south.":GOTO 22 &lt;br /&gt; 3051 PRINT "You are facing a large oak tree. Low-lying branches extend" &lt;br /&gt; 3052 PRINT "some 8 feet above the ground. Some of them twist downward." &lt;br /&gt; 3053 GOSUB 4500:PRINT "south.":GOTO 22 &lt;br /&gt; 3054 PRINT "You are standing on a stone bridge. The sides are covered" &lt;br /&gt; 3055 PRINT "with hanging vines. A road lies to the south." &lt;br /&gt; 3056 GOSUB 4500:PRINT "north, south.":GOTO 22 &lt;br /&gt; 3057 PRINT "You are walking in a well-lit forest. The undergrowth becomes" &lt;br /&gt; 3058 PRINT "thicker to the south. Trees block passage to the west." &lt;br /&gt; 3059 GOSUB 4500:PRINT "north, south.":GOTO 22 &lt;br /&gt; 3060 PRINT "You are walking in a well-lit forest. To the north stands" &lt;br /&gt; 3061 PRINT "a large oak tree. The branches appear to be aged and twisted." &lt;br /&gt; 3062 GOSUB 4500:PRINT "north, south.":GOTO 22 &lt;br /&gt; 3063 PRINT "You are standing in a small cottage. It is mostly bare" &lt;br /&gt; 3064 PRINT "save for a small bed. The only exit is back south." &lt;br /&gt; 3065 GOSUB 4500:PRINT "south.":GOTO 22 &lt;br /&gt; 3066 PRINT "You are walking on a worn path west of the forest." &lt;br /&gt; 3067 PRINT "To the stone stands an impressive stone bridge." &lt;br /&gt; 3068 GOSUB 4500:PRINT "north, east.":GOTO 22 &lt;br /&gt; 3069 PRINT "You are walking on a worn path. It heads east and west" &lt;br /&gt; 3070 PRINT "across the landscape. You notice a turn up ahead to the west." &lt;br /&gt; 3071 GOSUB 4500:PRINT "east, west.":GOTO 22 &lt;br /&gt; 3072 PRINT "You have reached a narrow, worn path west of the forest." &lt;br /&gt; 3073 PRINT "It heads west towards a large stone bridge." &lt;br /&gt; 3074 GOSUB 4500:PRINT "east, west.":GOTO 22 &lt;br /&gt; 3075 PRINT "You are walking in a well-lit forest. The area is plentiful" &lt;br /&gt; 3076 PRINT "with wildlife. To the west, the forest thins out somewhat." &lt;br /&gt; 3077 GOSUB 4500:PRINT "north, south, east, west.":GOTO 22 &lt;br /&gt; 3078 PRINT "You are walking in a well-lit forest. To the east stands" &lt;br /&gt; 3079 PRINT "a small clearing. You notice a lake just beyond it." &lt;br /&gt; 3080 GOSUB 4500:PRINT "north, east, west.":GOTO 22 &lt;br /&gt; 3081 PRINT "You are standing in a small clearing. The air is fresh here" &lt;br /&gt; 3082 PRINT "as the clouds roll by in the near distance. A lake is east." &lt;br /&gt; 3083 GOSUB 4500:PRINT "north, east, west.":GOTO 22 &lt;br /&gt; 3084 PRINT "You are standing before a small lake. The water is murky" &lt;br /&gt; 3085 PRINT "and green. Light dances off the lake as the sun fades." &lt;br /&gt; 3086 GOSUB 4500:PRINT "west.":GOTO 22 &lt;br /&gt; 3087 PRINT "You have reached a dead end in the green valley. Mountains" &lt;br /&gt; 3088 PRINT "to the north and west restrict passage in either direction." &lt;br /&gt; 3089 GOSUB 4500:PRINT "south.":GOTO 22 &lt;br /&gt; 3090 PRINT "You are standing on a grassy hillside overlooking a green" &lt;br /&gt; 3091 PRINT "valley below. The hill slopes down to the south near a plain." &lt;br /&gt; 3092 GOSUB 4500:PRINT "south.":GOTO 22 &lt;br /&gt; 3093 PRINT "You are standing at the base of a grassy hill. You notice a" &lt;br /&gt; 3094 PRINT "forest to the north, just beside a small clearing." &lt;br /&gt; 3095 GOSUB 4500:PRINT "south.":GOTO 22 &lt;br /&gt; 3096 PRINT "You are walking in a lush, green valley. The grass tickles" &lt;br /&gt; 3097 PRINT "your feet as you move through the field." &lt;br /&gt; 3098 GOSUB 4500:PRINT "east.":GOTO 22 &lt;br /&gt; 3099 PRINT "You are walking in a grassy plain. To the east stands a" &lt;br /&gt; 3100 PRINT "dark forest, shrouded by trees and canopy." &lt;br /&gt; 3101 GOSUB 4500:PRINT "north, east, west.":GOTO 22 &lt;br /&gt; 3102 PRINT "You are standing in a dark forest. There is very little" &lt;br /&gt; 3103 PRINT "light here. To the south, the trees become dark and oppressive." &lt;br /&gt; 3104 GOSUB 4500:PRINT "north, east, west.":GOTO 22 &lt;br /&gt; 3105 PRINT "You are walking in a grassy field. The grass is quite tall" &lt;br /&gt; 3106 PRINT "here and it tickles your ankles. A hillside is directly north." &lt;br /&gt; 3107 GOSUB 4500:PRINT "north, east, west.":GOTO 22 &lt;br /&gt; 3108 PRINT "You are walking in a grassy plain. The sky is a deep blue" &lt;br /&gt; 3109 PRINT "here, as the clouds roll on by in the near distance." &lt;br /&gt; 3110 GOSUB 4500:PRINT "north, east, west.":GOTO 22 &lt;br /&gt; 3111 PRINT "You have reached the eastern limit of this grassy plain." &lt;br /&gt; 3112 PRINT "Further travel east is restricted by purple mountains." &lt;br /&gt; 3113 GOSUB 4500:PRINT "west.":GOTO 22 &lt;br /&gt; 3114 PRINT "You are walking on a path that heads east and west." &lt;br /&gt; 3115 PRINT "Far to the west, beyond some mountains, lies a hulking castle." &lt;br /&gt; 3116 GOSUB 4500:PRINT "east, west.":GOTO 22 &lt;br /&gt; 3117 PRINT "You are walking on an east-west path near the village." &lt;br /&gt; 3118 PRINT "The path continues east and west from here." &lt;br /&gt; 3119 GOSUB 4500:PRINT "east, west.":GOTO 22 &lt;br /&gt; 3120 PRINT "You are walking on a dusty path. It slopes down towards" &lt;br /&gt; 3121 PRINT "the west near a large stone castle. It looks ages old." &lt;br /&gt; 3122 GOSUB 4500:PRINT "east, west.":GOTO 22 &lt;br /&gt; 3123 PRINT "You are facing a large, stone castle just beyond the path." &lt;br /&gt; 3124 PRINT "The drawbridge is up. It is normally guarded." &lt;br /&gt; 3125 GOSUB 4500:PRINT "north, east.":GOTO 22 &lt;br /&gt; 3126 PRINT "You are walking in the main hallway of this castle." &lt;br /&gt; 3127 PRINT "The hallway heads north into a throne room." &lt;br /&gt; 3128 GOSUB 4500:PRINT "north, south.":GOTO 22 &lt;br /&gt; 3129 PRINT "You are walking down a long hallway in the castle." &lt;br /&gt; 3130 PRINT "You notice a small library to the west." &lt;br /&gt; 3131 GOSUB 4500:PRINT "north, south, west.":GOTO 22 &lt;br /&gt; 3132 PRINT "You are facing a golden throne in the castle." &lt;br /&gt; 3133 PRINT "The king is usually sitting here, awaiting the end." &lt;br /&gt; 3134 GOSUB 4500:PRINT "south.":GOTO 22 &lt;br /&gt; 3135 PRINT "You are standing in the castle library." &lt;br /&gt; 3136 PRINT "The shelves are completely empty of any books." &lt;br /&gt; 3137 GOSUB 4500:PRINT "east, down.":GOTO 22 &lt;br /&gt; 3138 PRINT "You are standing in the vampire's lair. You notice a large" &lt;br /&gt; 3139 PRINT "coffin atop a raised platform. It is open." &lt;br /&gt; 3140 GOSUB 4500:PRINT "up.":GOTO 22 &lt;br /&gt; 3500 IF R=1 GOTO 3000 &lt;br /&gt; 3501 IF R=2 GOTO 3003 &lt;br /&gt; 3502 IF R=3 GOTO 3006 &lt;br /&gt; 3503 IF R=4 GOTO 3009 &lt;br /&gt; 3504 IF R=5 GOTO 3012 &lt;br /&gt; 3505 IF R=6 GOTO 3015 &lt;br /&gt; 3506 IF R=7 GOTO 3018 &lt;br /&gt; 3507 IF R=8 GOTO 3021 &lt;br /&gt; 3508 IF R=9 GOTO 3024 &lt;br /&gt; 3509 IF R=10 GOTO 3027 &lt;br /&gt; 3510 IF R=11 GOTO 3030 &lt;br /&gt; 3511 IF R=12 GOTO 3033 &lt;br /&gt; 3512 IF R=13 GOTO 3036 &lt;br /&gt; 3513 IF R=14 GOTO 3039 &lt;br /&gt; 3514 IF R=15 GOTO 3042 &lt;br /&gt; 3515 IF R=16 GOTO 3045 &lt;br /&gt; 3516 IF R=17 GOTO 3048 &lt;br /&gt; 3517 IF R=18 GOTO 3051 &lt;br /&gt; 3518 IF R=19 GOTO 3054 &lt;br /&gt; 3519 IF R=20 GOTO 3057 &lt;br /&gt; 3520 IF R=21 GOTO 3060 &lt;br /&gt; 3521 IF R=22 GOTO 3063 &lt;br /&gt; 3522 IF R=23 GOTO 3066 &lt;br /&gt; 3523 IF R=24 GOTO 3069 &lt;br /&gt; 3524 IF R=25 GOTO 3072 &lt;br /&gt; 3525 IF R=26 GOTO 3075 &lt;br /&gt; 3526 IF R=27 GOTO 3078 &lt;br /&gt; 3527 IF R=28 GOTO 3081 &lt;br /&gt; 3528 IF R=29 GOTO 3084 &lt;br /&gt; 3529 IF R=30 GOTO 3087 &lt;br /&gt; 3530 IF R=31 GOTO 3090 &lt;br /&gt; 3531 IF R=32 GOTO 3093 &lt;br /&gt; 3532 IF R=33 GOTO 3096 &lt;br /&gt; 3533 IF R=34 GOTO 3099 &lt;br /&gt; 3534 IF R=35 GOTO 3102 &lt;br /&gt; 3535 IF R=36 GOTO 3105 &lt;br /&gt; 3536 IF R=37 GOTO 3108 &lt;br /&gt; 3537 IF R=38 GOTO 3111 &lt;br /&gt; 3538 IF R=39 GOTO 3114 &lt;br /&gt; 3539 IF R=40 GOTO 3117 &lt;br /&gt; 3540 IF R=41 GOTO 3120 &lt;br /&gt; 3541 IF R=42 GOTO 3123 &lt;br /&gt; 3542 IF R=43 GOTO 3126 &lt;br /&gt; 3543 IF R=44 GOTO 3129 &lt;br /&gt; 3544 IF R=45 GOTO 3132 &lt;br /&gt; 3545 IF R=46 GOTO 3135 &lt;br /&gt; 3546 IF R=47 GOTO 3138 &lt;br /&gt; 3599 GOTO 22 &lt;br /&gt; 3800 COLOR 15,1:IF @(1)=R PRINT "lantern" &lt;br /&gt; 3802 IF @(2)=R PRINT "oil" &lt;br /&gt; 3803 IF @(3)=R PRINT "rope" &lt;br /&gt; 3804 IF @(4)=R PRINT "key" &lt;br /&gt; 3805 IF @(5)=R PRINT "bottle" &lt;br /&gt; 3806 IF @(6)=R PRINT "dagger" &lt;br /&gt; 3807 IF @(7)=R PRINT "sword" &lt;br /&gt; 3808 IF @(8)=R PRINT "axe" &lt;br /&gt; 3809 IF @(9)=R PRINT "scimitar" &lt;br /&gt; 3810 IF @(10)=R PRINT "longsword" &lt;br /&gt; 3811 IF @(11)=R PRINT "broadsword" &lt;br /&gt; 3812 IF @(12)=R PRINT "battleaxe" &lt;br /&gt; 3813 IF @(13)=R PRINT "cleaver" &lt;br /&gt; 3814 IF @(14)=R PRINT "armor" &lt;br /&gt; 3815 IF @(15)=R PRINT "shield" &lt;br /&gt; 3816 IF @(16)=R PRINT "helmet" &lt;br /&gt; 3817 IF @(17)=R PRINT "gauntlets" &lt;br /&gt; 3818 IF @(18)=R PRINT "cloak" &lt;br /&gt; 3819 IF @(19)=R PRINT "ring" &lt;br /&gt; 3820 COLOR 12,1:IF @(20)=R PRINT "clerk" &lt;br /&gt; 3821 IF @(21)=R PRINT "villager" &lt;br /&gt; 3822 IF @(22)=R PRINT "wolf" &lt;br /&gt; 3823 IF @(23)=R PRINT "warrior" &lt;br /&gt; 3824 IF @(24)=R PRINT "ghost" &lt;br /&gt; 3825 IF @(25)=R PRINT "goblin" &lt;br /&gt; 3826 IF @(26)=R PRINT "elf" &lt;br /&gt; 3827 IF @(27)=R PRINT "hobbit" &lt;br /&gt; 3828 IF @(28)=R PRINT "paladin" &lt;br /&gt; 3829 IF @(29)=R PRINT "skeleton" &lt;br /&gt; 3830 IF @(30)=R PRINT "vampire" &lt;br /&gt; 3831 IF @(31)=R PRINT "sorcerer" &lt;br /&gt; 3832 IF @(32)=R PRINT "dragon" &lt;br /&gt; 3833 IF A=0 GOTO 23 &lt;br /&gt; 3834 COLOR 11,1:IF @(6)=105 PRINT "dagger ";:COLOR 12,1:PRINT "(wielded)" &lt;br /&gt; 3835 COLOR 11,1:IF @(7)=105 PRINT "sword ";:COLOR 12,1:PRINT "(wielded)" &lt;br /&gt; 3836 COLOR 11,1:IF @(8)=105 PRINT "axe ";:COLOR 12,1:PRINT "(wielded)" &lt;br /&gt; 3837 COLOR 11,1:IF @(9)=105 PRINT "scimitar ";:COLOR 12,1:PRINT "(wielded)" &lt;br /&gt; 3838 COLOR 11,1:IF @(10)=105 PRINT "longsword ";:COLOR 12,1:PRINT "(wielded)" &lt;br /&gt; 3839 COLOR 11,1:IF @(11)=105 PRINT "broadsword ";:COLOR 12,1:PRINT "(wielded)" &lt;br /&gt; 3840 COLOR 11,1:IF @(12)=105 PRINT "battleaxe ";:COLOR 12,1:PRINT "(wielded)" &lt;br /&gt; 3841 COLOR 11,1:IF @(13)=105 PRINT "cleaver ";:COLOR 12,1:PRINT "(wielded)" &lt;br /&gt; 3842 COLOR 10,1:IF @(14)=205 PRINT "armor ";:COLOR 13,1:PRINT "(worn)" &lt;br /&gt; 3843 COLOR 10,1:IF @(15)=205 PRINT "shield ";:COLOR 13,1:PRINT "(worn)" &lt;br /&gt; 3844 COLOR 10,1:IF @(16)=205 PRINT "helmet ";:COLOR 13,1:PRINT "(worn)" &lt;br /&gt; 3845 COLOR 10,1:IF @(17)=205 PRINT "gauntlets ";:COLOR 13,1:PRINT "(worn)" &lt;br /&gt; 3846 COLOR 10,1:IF @(18)=205 PRINT "cloak ";:COLOR 13,1:PRINT "(worn)" &lt;br /&gt; 3847 COLOR 10,1:IF @(19)=205 PRINT "ring ";:COLOR 13,1:PRINT "(worn)" &lt;br /&gt; 3850 IF F=105 R=O &lt;br /&gt; 3851 IF F=1006 R=O &lt;br /&gt; 3852 IF F=105 GOTO 23 &lt;br /&gt; 3853 IF F=1006 GOTO 23 &lt;br /&gt; 3860 GOTO 23 &lt;br /&gt; 3900 FOR X=1 TO 19:IF @(X)=105 @(X)=-1 &lt;br /&gt; 3901 NEXT:IF S&gt;0 @(S)=105:PRINT "Wielded." &lt;br /&gt; 3902 S=0:GOTO 23 &lt;br /&gt; 4201 COLOR 7,1:PRINT "lantern: A brass lantern with rusted hinges.":GOTO 23 &lt;br /&gt; 4202 COLOR 7,1:PRINT "oil: A small flask of oil.":GOTO 23 &lt;br /&gt; 4203 COLOR 7,1:PRINT "rope: A coil of rope about 20 feet in length.":GOTO 23 &lt;br /&gt; 4204 COLOR 7,1:PRINT "key: A small wooden key.":GOTO 23 &lt;br /&gt; 4205 COLOR 7,1:PRINT "bottle: A smokey glass bottle.":GOTO 23 &lt;br /&gt; 4206 COLOR 7,1:PRINT "dagger: A small metal dagger.":GOTO 23 &lt;br /&gt; 4207 COLOR 7,1:PRINT "sword: A long metal sword. It has a ruby hilt.":GOTO 23 &lt;br /&gt; 4208 COLOR 7,1:PRINT "axe: A full metal axe with a wrapped hilt.":GOTO 23 &lt;br /&gt; 4209 COLOR 7,1:PRINT "scimitar: A gleaming metal scimitar.":GOTO 23 &lt;br /&gt; 4210 COLOR 7,1:PRINT "longsword: A metal longsword with an opaque hilt.":GOTO 23 &lt;br /&gt; 4211 COLOR 7,1:PRINT "broadsword: A full metal broadsword. It has a diamond hilt.":GOTO 23 &lt;br /&gt; 4212 COLOR 7,1:PRINT "battleaxe: A metal battleaxe. It exudes power!":GOTO 23 &lt;br /&gt; 4213 COLOR 7,1:PRINT "cleaver: A common meat cleaver. Used to chop up steak.":GOTO 23 &lt;br /&gt; 4214 COLOR 7,1:PRINT "armor: A suit of chainlinked metal armor.":GOTO 23 &lt;br /&gt; 4215 COLOR 7,1:PRINT "shield: A crusader shield. It is stained with blood.":GOTO 23 &lt;br /&gt; 4216 COLOR 7,1:PRINT "helmet: A brass helmet.":GOTO 23 &lt;br /&gt; 4217 COLOR 7,1:PRINT "gauntlets: Full metal gauntlets to protect the hands.":GOTO 23 &lt;br /&gt; 4218 COLOR 7,1:PRINT "cloak: An elven cloak. It is brown with a rope tied at the waist.":GOTO 23 &lt;br /&gt; 4219 COLOR 7,1:PRINT "ring: A magical ring of protection. It glows with a bluish hue.":GOTO 23 &lt;br /&gt; 4220 COLOR 7,1:PRINT "clerk: A stout clerk. He looks well-fed.":GOTO 23 &lt;br /&gt; 4221 COLOR 7,1:PRINT "villager: A common villager. He smiles at you briefly before passing.":GOTO 23 &lt;br /&gt; 4222 COLOR 7,1:PRINT "wolf: A wolf from the surrounding forest. He seems content on watching you.":GOTO 23 &lt;br /&gt; 4223 COLOR 7,1:PRINT "warrior: A strong warrior with flowing hair and a trimmed beard.":GOTO 23 &lt;br /&gt; 4224 COLOR 7,1:PRINT "ghost: A translucent ghost. It haunts any abode it can find.":GOTO 23 &lt;br /&gt; 4225 COLOR 7,1:PRINT "goblin: This hideous beast has yellow teeth and an ugly grin.":GOTO 23 &lt;br /&gt; 4226 COLOR 7,1:PRINT "elf: An elf of the surrounding forest.":GOTO 23 &lt;br /&gt; 4227 COLOR 7,1:PRINT "hobbit: A small hobbit with furry feet.":GOTO 23 &lt;br /&gt; 4228 COLOR 7,1:PRINT "paladin: A strong paladin with metal armor. He seems mean.":GOTO 23 &lt;br /&gt; 4229 COLOR 7,1:PRINT "skeleton: A skeleton stained with blood. It looks undead.":GOTO 23 &lt;br /&gt; 4230 COLOR 7,1:PRINT "vampire: A deadly vampire. It cannot stand the sunlight.":GOTO 23 &lt;br /&gt; 4231 COLOR 7,1:PRINT "sorcerer: An evil sorcerer with a magical spellbook. He looks very mean.":GOTO 23 &lt;br /&gt; 4232 COLOR 7,1:PRINT "dragon: A large, winged dragon. It appears to be the last of her species.":GOTO 23 &lt;br /&gt; 4233 GOTO 23 &lt;br /&gt; 4300 COLOR 7,1:PRINT "HELP":PRINT:COLOR 15,1:PRINT "This game is a text adventure. You enter verb-noun word":PRINT "combinations such as the following:":PRINT &lt;br /&gt; 4301 COLOR 11,1:PRINT "get sword":PRINT:COLOR 15,1:PRINT "If the sword is in the room, the player will then pick it up.":PRINT:COLOR 7,1:PRINT "COMMANDS":PRINT &lt;br /&gt; 4302 COLOR 15,1:PRINT "Commands for the game include the following:":PRINT:COLOR 7,1:PRINT "go,get,drop,wield,unwield,wear,remove,use,examine,buy,sell,inventory (or i)," &lt;br /&gt; 4303 PRINT "score,kill,quit.":PRINT:COLOR 15,1:GOTO 23 &lt;br /&gt; 4400 COLOR 15,1:PRINT "You have ";:COLOR 7,1:PRINT H;:COLOR 15,1:PRINT " hit points.":PRINT "You have ";:COLOR 7,1:PRINT G;:COLOR 15,1:PRINT " gold coins." &lt;br /&gt; 4401 PRINT "You also have ";:COLOR 7,1:PRINT E;:COLOR 15,1:PRINT " experience points." &lt;br /&gt; 4402 GOTO 23 &lt;br /&gt; 4499 STOP &lt;br /&gt; 4500 COLOR 15,1:PRINT "Obvious exits: ";:COLOR 14,1:RETURN &lt;br /&gt; 5000 P=0:IF N=1 P=12 &lt;br /&gt; 5002 IF N=2 P=6 &lt;br /&gt; 5003 IF N=3 P=10 &lt;br /&gt; 5004 IF N=4 P=5 &lt;br /&gt; 5005 IF N=5 P=4 &lt;br /&gt; 5006 IF N=6 P=28 &lt;br /&gt; 5007 IF N=7 P=75 &lt;br /&gt; 5008 IF N=8 P=120 &lt;br /&gt; 5009 IF N=9 P=156 &lt;br /&gt; 5010 IF N=10 P=284 &lt;br /&gt; 5011 IF N=11 P=312 &lt;br /&gt; 5012 IF N=12 P=480 &lt;br /&gt; 5013 IF N=13 P=105 &lt;br /&gt; 5014 IF N=14 P=80 &lt;br /&gt; 5015 IF N=15 P=116 &lt;br /&gt; 5016 IF N=16 P=72 &lt;br /&gt; 5017 IF N=17 P=240 &lt;br /&gt; 5018 IF N=18 P=60 &lt;br /&gt; 5019 IF N=19 P=48 &lt;br /&gt; 5020 IF @(N)=99 IF G&gt;P-1 G=G-P:@(N)=-1:COLOR 11,1:PRINT "Purchased. The clerk says,'Thank you for your business.'":GOTO 23 &lt;br /&gt; 5021 IF @(N)=99 PRINT "The clerk says,'You can't afford that.'":COLOR 11,1:PRINT "Cost: ";:PRINT P:COLOR 15,1:PRINT "Gold: ";:COLOR 7,1:PRINT G:COLOR 15,1:GOTO 23 &lt;br /&gt; 5022 PRINT "The clerk says,'I don't sell that here.'":GOTO 23 &lt;br /&gt; 5100 PRINT "The clerk says,'Thank you.'":GOTO 23 &lt;br /&gt; 5200 COLOR 15,1:PRINT "The clerk says,'Here is what we have right now:'" &lt;br /&gt; 5201 COLOR 7,1:IF @(1)=99 PRINT "lantern: 12" &lt;br /&gt; 5202 IF @(2)=99 PRINT "oil: 6" &lt;br /&gt; 5203 IF @(3)=99 PRINT "rope: 10" &lt;br /&gt; 5204 IF @(4)=99 PRINT "key: 5" &lt;br /&gt; 5205 IF @(5)=99 PRINT "bottle: 4" &lt;br /&gt; 5206 IF @(6)=99 PRINT "dagger: 28" &lt;br /&gt; 5207 IF @(7)=99 PRINT "sword: 75" &lt;br /&gt; 5208 IF @(8)=99 PRINT "axe: 120" &lt;br /&gt; 5209 IF @(9)=99 PRINT "scimitar: 156" &lt;br /&gt; 5210 IF @(10)=99 PRINT "longsword: 284" &lt;br /&gt; 5211 IF @(11)=99 PRINT "broadsword: 312" &lt;br /&gt; 5212 IF @(12)=99 PRINT "battleaxe: 480" &lt;br /&gt; 5213 IF @(13)=99 PRINT "cleaver: 105" &lt;br /&gt; 5214 IF @(14)=99 PRINT "armor: 80" &lt;br /&gt; 5215 IF @(15)=99 PRINT "shield: 116" &lt;br /&gt; 5216 IF @(16)=99 PRINT "helmet: 72" &lt;br /&gt; 5217 IF @(17)=99 PRINT "gauntlets: 240" &lt;br /&gt; 5218 IF @(18)=99 PRINT "cloak: 60" &lt;br /&gt; 5219 IF @(19)=99 PRINT "ring: 48" &lt;br /&gt; 5250 COLOR 11,1:PRINT "Gold: ";:PRINT G &lt;br /&gt; 5251 COLOR 15,1:PRINT "The clerk says,'Take your time.'":GOTO 23 &lt;br /&gt; 5500 M=RND(150):M=M+50:IF N&gt;27 M=RND(1200):M=M+300 &lt;br /&gt; 5501 A=1:IF @(14)=205 A=A+14 &lt;br /&gt; 5502 IF @(15)=205 A=A+15 &lt;br /&gt; 5503 IF @(16)=205 A=A+8 &lt;br /&gt; 5504 IF @(17)=205 A=A+4 &lt;br /&gt; 5505 IF @(18)=205 A=A+3 &lt;br /&gt; 5506 IF @(19)=205 A=A+1 &lt;br /&gt; 5507 IF @(29)=R IF N=30 COLOR 15,1:PRINT "The skeleton steps in front!":COLOR 15,1:PRINT "It hisses,'";:COLOR 12,1:PRINT "You may not attack!";:COLOR 15,1:PRINT "'":GOTO 23 &lt;br /&gt; 5510 D=1:IF @(6)=105 D=3 &lt;br /&gt; 5511 IF @(7)=105 D=4 &lt;br /&gt; 5512 IF @(8)=105 D=6 &lt;br /&gt; 5513 IF @(9)=105 D=12 &lt;br /&gt; 5514 IF @(10)=105 D=8 &lt;br /&gt; 5515 IF @(11)=105 D=14 &lt;br /&gt; 5516 IF @(12)=105 D=18 &lt;br /&gt; 5517 IF @(13)=105 D=7 &lt;br /&gt; 5520 I=RND(25):I=I+1 &lt;br /&gt; 5521 COLOR 10,1:PRINT "--------------------" &lt;br /&gt; 5522 COLOR 15,1:PRINT "You attack...       " &lt;br /&gt; 5523 COLOR 10,1:PRINT "--------------------" &lt;br /&gt; 5524 COLOR 15,1:IF I&lt;6 PRINT "Alas, you missed..." &lt;br /&gt; 5525 IF I&gt;5 IF I&lt;10 COLOR 15,1:PRINT "You hit the monster!":M=M-D &lt;br /&gt; 5526 IF I&gt;5 IF I&lt;10 IF D=14 COLOR 13,1:PRINT "Your BROADSWORD glows!":PRINT "The monster is pounded into submission!!!":M=0 &lt;br /&gt; 5527 IF I&gt;5 IF I&lt;10 IF D=18 COLOR 14,1:PRINT "Your BATTLEAXE attacks!":PRINT "The monster is hit hard!!":M=M-100 &lt;br /&gt; 5528 IF I&gt;9 IF I&lt;16 IF @(14)=205 COLOR 14,1:PRINT "Your ARMOR feels warm...":COLOR 7,1:PRINT "You regained partial hit points!":H=H+30 &lt;br /&gt; 5529 IF I&gt;9 IF I&lt;16 IF @(15)=205 COLOR 12,1:PRINT "Your SHIELD shoots a fireball!":COLOR 15,1:PRINT "The shield says,'";:COLOR 11,1:PRINT "Take that, monster!";:COLOR 15,1:PRINT "'":M=M-25 &lt;br /&gt; 5530 IF I&gt;9 IF I&lt;16 COLOR 10,1:PRINT "AMAZING blow! The monster is cut badly!":M=M-50:V=D*3:M=M-V &lt;br /&gt; 5531 IF I&gt;15 IF I&lt;20 COLOR 13,1:PRINT "CRUSHING blow! The monster is smashed into atoms!":M=1 &lt;br /&gt; 5532 IF I&gt;19 COLOR 15,1:PRINT "The monster dodged your attack.":IF N=30 COLOR 11,1:PRINT "The VAMPIRE sinks his teeth into you!":COLOR 12,1:PRINT "You are wounded badly!!!":H=H-250 &lt;br /&gt; 5533 COLOR 15,1:IF M&lt;1 PRINT "The monster died.":PRINT "You killed it.":GOTO 5560 &lt;br /&gt; 5534 I=RND(25):I=I+1 &lt;br /&gt; 5535 COLOR 12,1:PRINT "----------------" &lt;br /&gt; 5536 COLOR 7,1: PRINT "Monster attacks!" &lt;br /&gt; 5537 COLOR 12,1:PRINT "----------------" &lt;br /&gt; 5538 COLOR 15,1:IF I&lt;6 PRINT "Whew! It missed you...":IF @(19)=205 COLOR 14,1:PRINT "Your RING pulsates!":PRINT "The monster is drained of life!":M=M-50:H=H+50 &lt;br /&gt; 5539 IF I&gt;5 IF I&lt;12 PRINT "The monster hit you very hard!":H=H-75:H=H+A &lt;br /&gt; 5540 IF I&gt;11 IF I&lt;20 PRINT "Vicious hit! The monster DESTROYED you!":H=H-150:H=H+A &lt;br /&gt; 5541 IF I&gt;19 COLOR 15,1:PRINT "You dodged the attack..." &lt;br /&gt; 5542 IF H&lt;1 COLOR 15,1:PRINT "Alas, you have died...":COLOR 7,1:PRINT "GAME OVER":COLOR 15,1:STOP &lt;br /&gt; 5543 COLOR 14,1:PRINT "Press ENTER to go on..." &lt;br /&gt; 5544 GET X:IF X=13 GOTO 5546 &lt;br /&gt; 5545 GOTO 5544 &lt;br /&gt; 5546 GOTO 5501 &lt;br /&gt; 5560 E=E+I*2:G=G+I:COLOR 11,1:PRINT "You gained ";I*2;" experience and ";I:PRINT "gold coins. You feel stronger!":H=H+I*4 &lt;br /&gt; 5561 IF I&gt;9 IF I&lt;16 PRINT "You gained a level!":H=H+100:G=G+100:E=E+I*4 &lt;br /&gt; 5562 FOR X=1 TO 19:IF @(X)=1000+N COLOR 7,1:PRINT "You found something on it!":@(X)=R &lt;br /&gt; 5563 NEXT:IF N=30 GOTO 5600 &lt;br /&gt; 5564 @(N)=998:GOTO 23 &lt;br /&gt; 5600 PRINT:COLOR 10,1:PRINT "********************" &lt;br /&gt; 5601 PRINT "* ";:COLOR 14,1:PRINT "Congratulations! ";:COLOR 10,1:PRINT "*" &lt;br /&gt; 5602 COLOR 10,1:PRINT "********************":PRINT:COLOR 15,1 &lt;br /&gt; 5603 PRINT "The dead vampire's corpse lay at your feet. No more will the evil" &lt;br /&gt; 5604 PRINT "of the undead haunt the surrounding village or its people. You have" &lt;br /&gt; 5605 PRINT "successfully vanquished the evil vampire!":PRINT &lt;br /&gt; 5606 COLOR 7,1:PRINT "THE END":STOP &lt;br /&gt;            &lt;br /&gt;It has some bugs, of course, but the game functions without strings and is the first text adventure that I've ever written in a string-deficient BASIC.&lt;br /&gt;&lt;br /&gt;The only restriction being that you cannot use Backspace to correct typing mistakes (both MINI-BASIC and Tiny BASIC lack use of an advanced, completely "alphanumeric" INPUT statement...that is, it can't read letters entered, only numbers...hence the "trick" employed in both games to simulate alphanumeric &lt;br /&gt;input). &lt;br /&gt;&lt;br /&gt;You will find that both games, although small, use clever programming tricks to get around MINI-BASIC/Tiny BASIC limitations. &lt;br /&gt;&lt;br /&gt;And from the original message I posted:&lt;br /&gt;&lt;br /&gt;I'm having difficulty writing a 5k text adventure game in 8086 Tiny BASIC. I was wondering if anyone had any suggestions?&lt;br /&gt;&lt;br /&gt;I've included all of the game data, and source code thus far, below if anyone wants to see what might be done to help make this project manageable.&lt;br /&gt;&lt;br /&gt;I know this is possible on a 3K expanded Vic-20, so why can't it work under 8086 Tiny BASIC as well?           &lt;br /&gt;&lt;br /&gt;See below:&lt;br /&gt;            &lt;br /&gt;"Tiny BASIC Adventure 5k"&lt;br /&gt;By: Paul Panks&lt;br /&gt;&lt;br /&gt;Game Map&lt;br /&gt;--------&lt;br /&gt;25 total rooms&lt;br /&gt;&lt;br /&gt;               2--3&lt;br /&gt;               |&lt;br /&gt;               1  7--5&lt;br /&gt;               |  |&lt;br /&gt;               4--6&lt;br /&gt;               |&lt;br /&gt;    24--25 10--8--9  13--14            &lt;br /&gt;     |         |    /&lt;br /&gt;    23    21  11--12--15&lt;br /&gt;     \     |    |&lt;br /&gt;      22--20   16--18&lt;br /&gt;           |   |&lt;br /&gt;          19--17&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Item Name  Location    Notes&lt;br /&gt;---------------------------------------------&lt;br /&gt;7=LANTERN    ( 101)      On player&lt;br /&gt;8=OIL        (   5)        --&lt;br /&gt;9=SWORD      ( 999)      In Store&lt;br /&gt;10=ROPE      (   3)        --&lt;br /&gt;11=HELMET    (1022)      On Ghost   (1000+22)&lt;br /&gt;12=SHIELD    (  22)        --                             &lt;br /&gt;13=RING      (1023)      On Hobbit  (1000+23)&lt;br /&gt;14=CLOAK     (1021)      On Paladin (1000+21)&lt;br /&gt;15=ARMOR     (1026)      On Knight  (1000+26)&lt;br /&gt;16=BOOK      (  14)        --&lt;br /&gt;17=SCROLL    (  10)        --&lt;br /&gt;18=ORB       (  21)        --&lt;br /&gt;19=CLERK     (   9)        --&lt;br /&gt;20=VILLAGER  (   4)        --&lt;br /&gt;21=PALADIN   (  12)        --&lt;br /&gt;22=GHOST     (  11)        --&lt;br /&gt;23=HOBBIT    (  14)        --&lt;br /&gt;24=GOBLIN    (  17)        --&lt;br /&gt;25=WEREWOLF  (  24)        --&lt;br /&gt;26=KNIGHT    (  19)        --&lt;br /&gt;27=DRAGON    (  25)        --                               &lt;br /&gt;&lt;br /&gt;# Examine Command    Output&lt;br /&gt;------------------------------------------------------------------&lt;br /&gt;7 EXAMINE LANTERN  : This is a brass lantern.&lt;br /&gt;8 EXAMINE OIL      : A flask of oil.&lt;br /&gt;9 EXAMINE SWORD    : It's a strong metal sword.&lt;br /&gt;10 EXAMINE ROPE    : A coil of rope about 10' long.&lt;br /&gt;11 EXAMINE HELMET  : A brass helmet.&lt;br /&gt;12 EXAMINE SHIELD  : An iron shield. It has an eagle on the front.&lt;br /&gt;13 EXAMINE RING    : A simple iron ring.&lt;br /&gt;14 EXAMINE CLOAK   : A fine elven cloak.&lt;br /&gt;15 EXAMINE ARMOR   : Full chainlinked metal armor.&lt;br /&gt;16 EXAMINE BOOK    : This is an ancient book!&lt;br /&gt;17 EXAMINE SCROLL  : The scroll reads: 'The dragon fears the Orb.'&lt;br /&gt;18 EXAMINE ORB     : A mystical Orb of Light. It glows softly!&lt;br /&gt;19 EXAMINE CLERK   : A stout clerk. He looks well fed.&lt;br /&gt;20 EXAMINE VILLAGER: A common villager.                         &lt;br /&gt;21 EXAMINE PALADIN : A strong paladin with flowing hair.&lt;br /&gt;22 EXAMINE GHOST   : A harrowing specter. It appears translucent.&lt;br /&gt;23 EXAMINE HOBBIT  : This curious creature looks odd indeed!&lt;br /&gt;24 EXAMINE GOBLIN  : A hideous goblin. It snarls at you!&lt;br /&gt;25 EXAMINE WEREWOLF: An evil werewolf, with reddish eyes.&lt;br /&gt;26 EXAMINE KNIGHT  : A strong knight. He keep watch nearby.&lt;br /&gt;27 EXAMINE DRAGON  : A winged creature with tough scales and powerful&lt;br /&gt;claws!&lt;br /&gt;------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Source Code thus far:&lt;br /&gt;&lt;br /&gt;&gt;LIST&lt;br /&gt;    10 PRINT&lt;br /&gt;    20 PRINT&lt;br /&gt;    30 PRINT                                                               &lt;br /&gt;    40 PRINT "Tiny BASIC Adventure 5k"&lt;br /&gt;    50 PRINT "By: Paul Panks"&lt;br /&gt;    60 PRINT&lt;br /&gt;    70 R=1&lt;br /&gt;    80 H=100&lt;br /&gt;    90 A=101&lt;br /&gt;   100 B=5&lt;br /&gt;   110 C=999&lt;br /&gt;   120 D=3&lt;br /&gt;   130 E=1022&lt;br /&gt;   140 F=22&lt;br /&gt;   150 G=1023&lt;br /&gt;   160 I=1021&lt;br /&gt;   170 J=1026&lt;br /&gt;   180 K=14&lt;br /&gt;   190 L=10                                                         &lt;br /&gt;   200 M=21&lt;br /&gt;   210 N=9&lt;br /&gt;   220 O=4&lt;br /&gt;   230 P=12&lt;br /&gt;   240 Q=11&lt;br /&gt;   250 S=14&lt;br /&gt;   260 T=17&lt;br /&gt;   270 U=24&lt;br /&gt;   280 V=19&lt;br /&gt;   290 W=25&lt;br /&gt;   300 IF R=1 PRINT "You are standing inside a tavern. The village is&lt;br /&gt;south."&lt;br /&gt;   310 IF R=2 PRINT "You are facing an upstairs hallway. A room lies to&lt;br /&gt;the east of here."&lt;br /&gt;   320 IF R=3 PRINT "You are inside a small room. There is a bed here. The&lt;br /&gt;hallway is west."                                                          &lt;br /&gt;   330 IF R=4 PRINT "You are standing near a stone artisan well. The water&lt;br /&gt;looks mossy green."&lt;br /&gt;   340 IF R=5 PRINT "You are standing inside the backroom of the church.&lt;br /&gt;There are a few barrels     visible here."&lt;br /&gt;   350 IF R=6 PRINT "You are standing near the back of a large church. The&lt;br /&gt;altar is directly north."&lt;br /&gt;   360 IF R=7 PRINT "You are facing a stone altar within the church. A&lt;br /&gt;storage room lies to the      east of here."&lt;br /&gt;   370 IF R=8 PRINT "You are near the outskirts of town. The village&lt;br /&gt;buildings can be seen up ahead  to the north. A sign is here.&lt;br /&gt;   380 IF R=9 PRINT "The path you are on has been obstructed by fallen&lt;br /&gt;trees. The only exit is back  west."&lt;br /&gt;   390 IF R=10 PRINT "You are standing inside a small cottage near the&lt;br /&gt;forest. It looks mostly bare   save for a small fireplace."&lt;br /&gt;   400 IF R=11 PRINT "You are walking down a narrow path within the&lt;br /&gt;forest. Trees are visible in all  directions here."                          &lt;br /&gt;   410 IF R=12 PRINT "You are walking down a narrow path. A large tree is&lt;br /&gt;growing beside the road     nearby."&lt;br /&gt;   420 IF R=13 PRINT "You are standing on a branch atop the forest. A&lt;br /&gt;small thatched roof hut is      east of here."&lt;br /&gt;   430 IF R=14 PRINT "You are standing inside a small thatched roof hut.&lt;br /&gt;There is a table here as wellas a bookshelf."&lt;br /&gt;   440 IF R=15 PRINT "You have reached a small pond near the forest. The&lt;br /&gt;water looks fairly green     and mossy."&lt;br /&gt;   450 IF R=16 PRINT "You are walking down a well-lit path within a large&lt;br /&gt;forest. The path widens to  the south."&lt;br /&gt;   460 IF R=17 PRINT "You stand before a large, hulking castle at the end&lt;br /&gt;of the forest. The draw-    bridge is down."&lt;br /&gt;   470 IF R=18 PRINT "The path ends here near a large boulder. It looks&lt;br /&gt;impassable however."&lt;br /&gt;   480 IF R=19 PRINT "You are walking within the Main Hall of the castle.&lt;br /&gt;Several corridors branch    off here."                                         &lt;br /&gt;   490 IF R=20 PRINT "You are walking down the main hallway of this&lt;br /&gt;castle. A parlor room is directly west of here."&lt;br /&gt;   495 IF R=21 PRINT "You are facing the main throne room. A large throne&lt;br /&gt;is here, encrusted with     gold and jewels."&lt;br /&gt;   500 IF R=22 PRINT "You are within the main parlor room of the castle. A&lt;br /&gt;piano is here, next to an  open doorway."&lt;br /&gt;   505 IF R=23 PRINT "You are through a large doorway near the parlor. It&lt;br /&gt;appears to head into dark-  ness below."&lt;br /&gt;   506 IF R=24 PRINT "You are within the dungeon below the castle. Your&lt;br /&gt;lantern illuminates several   rows of cells."&lt;br /&gt;   507 IF R=25 PRINT "You are facing a lone cell, occupied by a frail old&lt;br /&gt;man. He looks up at you     with sorrowful eyes."&lt;br /&gt;   510 IF A=R PR."lantern"&lt;br /&gt;   511 IF B=R PR."oil"&lt;br /&gt;   512 IF C=R PR."sword"&lt;br /&gt;   513 IF D=R PR."rope"                                                       &lt;br /&gt;   514 IF E=R PR."helmet"&lt;br /&gt;   515 IF F=R PR."shield"&lt;br /&gt;   516 IF G=R PR."ring"&lt;br /&gt;   517 IF I=R PR."cloak"&lt;br /&gt;   518 IF J=R PR."armor"&lt;br /&gt;   519 IF K=R PR."book"&lt;br /&gt;   520 IF L=R PR."scroll"&lt;br /&gt;   521 IF M=R PR."orb"&lt;br /&gt;   522 IF N=R PR."clerk"&lt;br /&gt;   523 IF O=R PR."villager"&lt;br /&gt;   524 IF P=R PR."paladin"&lt;br /&gt;   525 IF Q=R PR."ghost"&lt;br /&gt;   526 IF S=R PR."hobbit"&lt;br /&gt;   527 IF T=R PR."goblin"&lt;br /&gt;   528 IF U=R PR."werewolf"&lt;br /&gt;   529 IF V=R PR."knight"                                                     &lt;br /&gt;   530 IF W=R PR."dragon"&lt;br /&gt;   531 @(11)=2&lt;br /&gt;   532 @(12)=4&lt;br /&gt;   533 @(22)=1&lt;br /&gt;   534 @(23)=3&lt;br /&gt;   535 @(34)=2&lt;br /&gt;   536 @(41)=1&lt;br /&gt;   537 @(42)=8&lt;br /&gt;   538 @(43)=6&lt;br /&gt;   539 @(54)=7&lt;br /&gt;   540 @(61)=7&lt;br /&gt;   541 @(72)=6&lt;br /&gt;   542 @(81)=4&lt;br /&gt;   543 @(82)=11&lt;br /&gt;   544 @(64)=4&lt;br /&gt;   545 @(83)=9                                                   &lt;br /&gt;   546 @(84)=10&lt;br /&gt;   547 @(94)=8&lt;br /&gt;   548 @(103)=8&lt;br /&gt;   549 @(111)=8&lt;br /&gt;   550 @(112)=16&lt;br /&gt;   551 @(113)=12&lt;br /&gt;   552 @(123)=15&lt;br /&gt;   553 @(124)=11&lt;br /&gt;   554 @(133)=14&lt;br /&gt;   555 @(136)=12&lt;br /&gt;   556 @(144)=13&lt;br /&gt;   557 @(154)=12&lt;br /&gt;   558 @(161)=11&lt;br /&gt;   559 @(162)=17&lt;br /&gt;   560 @(163)=18&lt;br /&gt;   561 @(171&lt;br /&gt;=16                                                       &lt;br /&gt;   562 @(174)=19&lt;br /&gt;   563 @(184)=16&lt;br /&gt;   564 @(191)=20&lt;br /&gt;   565 @(193)=17&lt;br /&gt;   566 @(201)=21&lt;br /&gt;   567 @(202)=19&lt;br /&gt;   568 @(204)=22&lt;br /&gt;   569 @(212)=20&lt;br /&gt;   570 @(223)=20&lt;br /&gt;   571 @(226)=23&lt;br /&gt;   572 @(231)=24&lt;br /&gt;   573 @(235)=23&lt;br /&gt;   574 @(242)=23&lt;br /&gt;   575 @(243)=25&lt;br /&gt;   576 @(254)=24&lt;br /&gt;   577 @(604)=4&lt;br /&gt;                                                     &lt;br /&gt;OK&lt;br /&gt;&gt;&lt;br /&gt;            &lt;br /&gt;Note: @(xxx) is attempting to simulate a normal game map array, i.e. "m(x,y)". Example: @(604)=4 is to be later parsed and equivalent to the same as "m(6,4)=4" in Microsoft BASIC. Another example: @(254)=24 should eventually be the same, when parsed properly, as "m(25,4)=24".&lt;br /&gt;&lt;br /&gt;1=north&lt;br /&gt;2=south&lt;br /&gt;3=east&lt;br /&gt;4=west&lt;br /&gt;5=up&lt;br /&gt;6=down                                                            &lt;br /&gt;&lt;br /&gt;So: m(x,y) is actually: m(room, direction)&lt;br /&gt;&lt;br /&gt;Stumbling Blocks&lt;br /&gt;----------------&lt;br /&gt;&lt;br /&gt;1. Too many @(I) arrays (46 or so...only 26 allowed). How will the map for the game work without an array (e.g. "m(x,y)" as in traditional BASIC )?&lt;br /&gt;&lt;br /&gt;2. 8086 Tiny BASIC reports 1,347 bytes left (!!). I'm not even halfway through writing it!&lt;br /&gt;&lt;br /&gt;3. No strings supported. How will the player enter in input? Can I&lt;br /&gt;simulate it through USR or INP functions? In 8086 Tiny BASIC, no less?&lt;br /&gt;&lt;br /&gt;4. Would I be better off using Tiny BASIC v3.0 or 3.1? Do any of the Tiny BASICs support strings or arrays? I've heard Minol 2.0 Tiny BASIC does, but is that available for Windows/DOS?&lt;br /&gt;&lt;br /&gt;I'd really like to write a Tiny BASIC adventure game, but the stumbling blocks I faced when writing a MINI-BASIC version were at least manageable with Sylvain's good use of GET/INPUT emitting an ASCII CHR$ character code for each letter or number entered. Can Palo Alto Tiny BASIC or Tom Pittman's Tiny BASIC emit CHR character codes for INPUTed text?&lt;br /&gt;&lt;br /&gt;I think, for this adventure to be workable, that Tiny BASIC needs to allow at least 8,096 basic bytes free (including the size of the Tiny BASIC interpreter).&lt;br /&gt;&lt;br /&gt;Plus, the ability to mimic Sylvain's method of emitting ASCII CHR$&lt;br /&gt;character codes for either the INPUT or GET commands. In Dark Forest II, available from my page, that's the method I used to at least simulate string input from the user:                                                    &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.geocities.com/dunric/dforest.html"&gt;http://www.geocities.com/dunric/dforest.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Is this project more likely to succeed in Minol 2.0 Tiny BASIC? Or another version of Tiny BASIC with more memory and slightly altered features?&lt;br /&gt;&lt;br /&gt;Sincerely,&lt;br /&gt;&lt;br /&gt;Paul Allen Panks&lt;br /&gt;&lt;a href="mailto:dunric@yahoo.com"&gt;dunric@yahoo.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7134270-108815562449636835?l=dunric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dunric.blogspot.com/feeds/108815562449636835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7134270&amp;postID=108815562449636835' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108815562449636835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108815562449636835'/><link rel='alternate' type='text/html' href='http://dunric.blogspot.com/2004/06/tiny-basic-adventure-game.html' title='A Tiny BASIC Adventure Game?'/><author><name>Paul</name><uri>http://www.blogger.com/profile/04792922491931153734</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7134270.post-108780931417930335</id><published>2004-06-21T02:05:00.000-07:00</published><updated>2004-06-22T22:14:20.046-07:00</updated><title type='text'>Halite, a skeleton adventure game</title><content type='html'>&lt;img src="http://panks.freeshell.org/halite.png" HEIGHT="328" WIDTH="480" BORDER="1"&gt;&lt;br /&gt;&lt;a href="http://www.geocities.com/dunric/halite.html"&gt;Halite&lt;/a&gt; is a small &lt;a href="http://www.ifarchive.org/"&gt;text adventure&lt;/a&gt; game similar to many of my other adventure games written in &lt;a href="http://en.wikipedia.org/wiki/BASIC_programming_language"&gt;BASIC&lt;/a&gt;. However, what makes Halite unique is that it is among the smallest adventure games in terms of program size and data...a mere 20KB combined! &lt;br /&gt;&lt;br /&gt;I wrote Halite as a challenge: could I produce a worthwhile adventure game in barely under 12KB of BASIC code? &lt;br /&gt;&lt;br /&gt;Throwing all frills to the wind, I believe I have achieved such a "minimal" adventure game in a mere 169 lines of BASIC code (not including "Halite.dat", the associated data file used in Halite; that data file is 8KB in length, and 488 lines long). Halite is very similar to my two &lt;a href="http://www.geocities.com/dunric/dforest.html"&gt;Dark Forest&lt;/a&gt; adventure games, which use a similar technique and gameplay style. The Dark Forest games where written in Sylvain Bizoirre's &lt;a href="http://perso.wanadoo.fr/retromatique/MiniBasic/"&gt;Mini-BASIC&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In order to examine the source code, however, you'll need a BASIC interpreter. Examples include: &lt;br /&gt;&lt;br /&gt;QBasic, GW-Basic, PowerBASIC, &lt;a href="http://smallbasic.sourceforge.net/"&gt;SmallBasic&lt;/a&gt;, &lt;a href="http://www.arrakis.es/~ninsesabe/blassic/"&gt;Blassic&lt;/a&gt;, &lt;a href="http://www.rkmath.rikkyo.ac.jp/~kida/ubasic.htm"&gt;UBasic&lt;/a&gt;, &lt;a href="http://www.noktosoft.com/ccbasic/v2.0/"&gt;Cheesecake BASIC&lt;/a&gt;, &lt;a href="http://perso.wanadoo.fr/retromatique/MiniBasic/"&gt;Mini-BASIC&lt;/a&gt;, &lt;a href="http://wxbasic.sourceforge.net/"&gt;wxBASIC&lt;/a&gt;, &lt;a href="https://sourceforge.net/projects/bwbasic/"&gt;Bywater BASIC&lt;/a&gt; or &lt;a href="http://www.nicholson.com/rhn/basic/"&gt;Chipmunk BASIC&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Such an adventure game as &lt;a href="http://www.geocities.com/dunric/halite.html"&gt;Halite&lt;/a&gt; can be used as a skeleton adventure for developing more advanced games. The basic gaming engine of Halite is consistent with &lt;a href="http://www.geocities.com/dunric/games.html"&gt;all of my other adventures&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;What else can be added to Halite? Well, for starters, expanding upon the &lt;a href="http://en.wikipedia.org/wiki/Parser"&gt;game parser&lt;/a&gt; may be a first step in the right direction. The parser only currently understands two-word verb and noun combinations (i.e. "get sword", "wear armor", "wield sword", "remove armor", "unwield sword", "examine lantern", etc.) This is a very limited subset of what could eventually be a much more complex full sentence parser (similar to those &lt;a href="http://www.csd.uwo.ca/Infocom/"&gt;Infocom&lt;/a&gt; introduced with their fantastic &lt;a href="http://www.csd.uwo.ca/Infocom/zork1.html"&gt;Zork trilogy&lt;/a&gt; back in the early 1980s). &lt;br /&gt;&lt;br /&gt;Other additions may include: &lt;br /&gt;&lt;br /&gt;1. More monsters and items/equipment. &lt;br /&gt;2. More rooms, or expanded room descriptions. &lt;br /&gt;3. Additional quests and puzzles. &lt;br /&gt;4. Features such as a saved game function. &lt;br /&gt;&lt;br /&gt;Whatever the choice, adding onto an existing skeleton engine (such as Halite) make sense! &lt;br /&gt;&lt;br /&gt;Although &lt;a href="http://www.geocities.com/dunric/halite.html"&gt;Halite&lt;/a&gt; is fairly complete, an adventure game is never fully complete in the minds of most people. There is always more to add! From ideas in popular culture, to dreams and science fiction, expanding upon a skeleton adventure (such as Halite) requires only an active imagination and a willingness to achieve!&lt;br /&gt;&lt;br /&gt;I also created a new webpage for those who wish to keep up-to-date on my gaming projects. That new page (called "Dunric's World o' Wonder") is &lt;a href="http://www.xanga.com/home.aspx?user=dunric"&gt;located here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7134270-108780931417930335?l=dunric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dunric.blogspot.com/feeds/108780931417930335/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7134270&amp;postID=108780931417930335' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108780931417930335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108780931417930335'/><link rel='alternate' type='text/html' href='http://dunric.blogspot.com/2004/06/halite-skeleton-adventure-game.html' title='Halite, a skeleton adventure game'/><author><name>Paul</name><uri>http://www.blogger.com/profile/04792922491931153734</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7134270.post-108779870933980816</id><published>2004-06-20T23:17:00.000-07:00</published><updated>2004-06-20T23:18:29.340-07:00</updated><title type='text'>Are random numbers truly random?</title><content type='html'>How does High Level Assembly's (HLA's) random number generator differ from traditional BASIC's version? I've long based much of my adventure gaming on random numbers, especially during player/monster fighting. Does seeding a number truly make it random, or only quasi-random?&lt;br /&gt;&lt;br /&gt;Let's say I have a number between 1 and 35. What guarantee do I have that the computer won't habitually (or accidentally) pick the same range of numbers twice? Or the same individual number twice?&lt;br /&gt;&lt;br /&gt;To find out, I wrote a simple QBasic program below:&lt;br /&gt;&lt;br /&gt;1 CLEAR&lt;br /&gt;5 CLS : PRINT "Random Number test"&lt;br /&gt;10 FOR x = 1 TO 10&lt;br /&gt;20 RANDOMIZE TIMER&lt;br /&gt;30 i = INT(RND * 35) + 1&lt;br /&gt;40 PRINT i&lt;br /&gt;45 NEXT x&lt;br /&gt;&lt;br /&gt;The program was run three separate times, with the following results:&lt;br /&gt;&lt;br /&gt;Test #1&lt;br /&gt;Random Number test&lt;br /&gt; 27&lt;br /&gt; 25&lt;br /&gt; 17&lt;br /&gt; 31&lt;br /&gt; 24&lt;br /&gt; 18&lt;br /&gt; 27&lt;br /&gt; 34&lt;br /&gt; 23&lt;br /&gt; 22&lt;br /&gt;&lt;br /&gt;Test #2&lt;br /&gt;Random Number test&lt;br /&gt; 32&lt;br /&gt; 29&lt;br /&gt; 21&lt;br /&gt; 35&lt;br /&gt; 29&lt;br /&gt; 22&lt;br /&gt; 32&lt;br /&gt; 4&lt;br /&gt; 27&lt;br /&gt; 27&lt;br /&gt;&lt;br /&gt;Test #3&lt;br /&gt;Random Number test&lt;br /&gt; 21&lt;br /&gt; 18&lt;br /&gt; 10&lt;br /&gt; 24&lt;br /&gt; 17&lt;br /&gt; 11&lt;br /&gt; 21&lt;br /&gt; 28&lt;br /&gt; 16&lt;br /&gt; 16&lt;br /&gt;&lt;br /&gt;Ah oh...the last two tests repeated the last two sets of numbers not once but TWICE! That's not good! &lt;br /&gt;&lt;br /&gt;Now for the same program in HLA:&lt;br /&gt;&lt;br /&gt;program random;&lt;br /&gt;#include ("console.hhf");&lt;br /&gt;#include ("stdlib.hhf");&lt;br /&gt;#include ("math.hhf");&lt;br /&gt;static&lt;br /&gt;i:int32:=0;&lt;br /&gt;x:int32:=0;&lt;br /&gt;begin random;&lt;br /&gt;console.cls();&lt;br /&gt;stdout.put("Random number test",nl);&lt;br /&gt;start:&lt;br /&gt;add(1,x);&lt;br /&gt;rand.randomize();&lt;br /&gt; rand.urange(1,35);       // pick a random number, 1 through 35&lt;br /&gt;  mov(eax,i);              // move it into i variable&lt;br /&gt;   mov(i,eax);              // set i to eax value&lt;br /&gt;  stdout.put(i,nl);&lt;br /&gt;if(x&lt;10) then&lt;br /&gt; jmp start;&lt;br /&gt;endif;&lt;br /&gt;end random;&lt;br /&gt;&lt;br /&gt;The HLA version gives the following 3 results:&lt;br /&gt;&lt;br /&gt;Test #1&lt;br /&gt;Random number test&lt;br /&gt;29&lt;br /&gt;24&lt;br /&gt;11&lt;br /&gt;19&lt;br /&gt;22&lt;br /&gt;8&lt;br /&gt;27&lt;br /&gt;33&lt;br /&gt;27&lt;br /&gt;28&lt;br /&gt;&lt;br /&gt;Test #2&lt;br /&gt;Random number test&lt;br /&gt;19&lt;br /&gt;4&lt;br /&gt;32&lt;br /&gt;30&lt;br /&gt;23&lt;br /&gt;34&lt;br /&gt;24&lt;br /&gt;20&lt;br /&gt;20&lt;br /&gt;30&lt;br /&gt;&lt;br /&gt;Test #3&lt;br /&gt;Random number test&lt;br /&gt;35&lt;br /&gt;26&lt;br /&gt;29&lt;br /&gt;17&lt;br /&gt;26&lt;br /&gt;18&lt;br /&gt;33&lt;br /&gt;29&lt;br /&gt;19&lt;br /&gt;1&lt;br /&gt;&lt;br /&gt;Some repeats, but not as bad as before.&lt;br /&gt;&lt;br /&gt;Is there a way to truly limit the number of repeats during a set of random number generation? I can foresee a lot of random numbers in my own mind, but they have to be truly, truly random for the random number generator to be doing a good job.&lt;br /&gt;&lt;br /&gt;Any ideas as to why both sets of random number generators seem different in functionality?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7134270-108779870933980816?l=dunric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dunric.blogspot.com/feeds/108779870933980816/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7134270&amp;postID=108779870933980816' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108779870933980816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108779870933980816'/><link rel='alternate' type='text/html' href='http://dunric.blogspot.com/2004/06/are-random-numbers-truly-random.html' title='Are random numbers truly random?'/><author><name>Paul</name><uri>http://www.blogger.com/profile/04792922491931153734</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7134270.post-108772239722318673</id><published>2004-06-20T02:05:00.000-07:00</published><updated>2004-06-20T14:09:31.500-07:00</updated><title type='text'>GMail, circa 1983 (a humorous story)</title><content type='html'>&lt;IMG SRC="http://panks.freeshell.org/bill.png" HEIGHT="233" WIDTH="277" BORDER="2"&gt;&lt;br /&gt;&lt;font color="#FFFFFF"&gt;&lt;h4&gt;Bill Gates checks his email, circa 1983&lt;/h4&gt;&lt;/font&gt;&lt;br /&gt;login: dv16vjax&lt;br /&gt;password: abc123&lt;br /&gt;&lt;br /&gt;Thanks for loggin onto GMail! As of 11/03/1983, we are still in Beta Testing! But APRANet will soon be upgraded to a 16-bit internet, which should happen around the middle of June 1985.&lt;br /&gt;&lt;br /&gt;Gmail version 0.010 running on VAX VMS /66&lt;br /&gt;&lt;br /&gt;Please send Electronic-Mail error reports to: Gmail!ucbvax.UUCP &lt;br /&gt;&lt;br /&gt;Sorry, you have no new Electronic-Mail "dv16vjax!ucbvax.UUCP".&lt;br /&gt;&lt;br /&gt;# gmail&lt;br /&gt;&lt;br /&gt;Welcome to GMail, the new Electronic-Mail service from Time Warner, Inc., a subsidiary of Atari, Inc.&lt;br /&gt;&lt;br /&gt;================&lt;br /&gt;  In the News! &lt;br /&gt;================&lt;br /&gt;&lt;br /&gt;Coming Soon! Check your GMail on your Atari 2600 VCS! Requires a Star Raiders(tm) (Model #: CX2660) Video Game Cartridge and Video Touch Pad (Model #: CX21). Check your local Sears for details!&lt;br /&gt;&lt;br /&gt;HitchHiker's Guide to the Galaxy! New from Infocom and Douglas Adams! Reserve your copy today! For the Commodore 64, IBM PC/PC Jr., Atari 400/800, TRS-80 (Model 1-3) and Apple II/IIe (with at least 48K RAM).&lt;br /&gt;&lt;br /&gt;==========&lt;br /&gt;  Inbox! &lt;br /&gt;==========&lt;br /&gt;&lt;br /&gt;Inbox: You have 0 new Electronic-Email messages, &lt;br /&gt;"dv16vjax!ucbvax.UUCP".&lt;br /&gt;&lt;br /&gt;Older Messages: &lt;br /&gt;&lt;br /&gt;1. Hi! I'm Bill Gates! Do you like BASIC? Then try out GW-Basic Version 3.20 for the IBM PC! Coming in June! 686 Bytes June 1, 1983.&lt;br /&gt;&lt;br /&gt;2. Do you like E.T.? Then try out E.T. The Extra-Terrestrial for the Atari 2600 VCS, already a best seller for the Atari VCS! In all New Mexico Landfills! 484 bytes May 29, 1983.&lt;br /&gt;&lt;br /&gt;3. Hi! I'm Sally! I met you on CompuServe's Chatroom! 982 bytes May 28, 1983.&lt;br /&gt;&lt;br /&gt;4. Where's my Chase the Chuck Wagon cartridge, dork? 384 bytes May 25, 1983&lt;br /&gt;&lt;br /&gt;Logout? Type 'y' for Yes, or 'n' for No. Compatible with all ADM-100 Terminals!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7134270-108772239722318673?l=dunric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dunric.blogspot.com/feeds/108772239722318673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7134270&amp;postID=108772239722318673' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108772239722318673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108772239722318673'/><link rel='alternate' type='text/html' href='http://dunric.blogspot.com/2004/06/gmail-circa-1983-humorous-story.html' title='GMail, circa 1983 (a humorous story)'/><author><name>Paul</name><uri>http://www.blogger.com/profile/04792922491931153734</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7134270.post-108771759585178459</id><published>2004-06-20T00:41:00.001-07:00</published><updated>2004-06-20T00:47:44.983-07:00</updated><title type='text'>GMail: Why everyone wants it</title><content type='html'>&lt;a href="http://gmail.google.com/"&gt;GMail&lt;/a&gt; is the hottest new trend on the internet. Everyone wants GMail, but not everyone is getting an account. &lt;a href="http://www.google.com/"&gt;Google&lt;/a&gt; is still Beta-testing the service, but with more and more invitations available GMail may become much more common in the near future.&lt;br /&gt;&lt;br /&gt;How does one obtain an elusive GMail invitation? Via the &lt;a href="http://www.gmailswap.com/"&gt;Gmail Swap&lt;/a&gt;, a popular website devoted to GMail givers and wanters everywhere. Even &lt;a href="http://www.slashdot.org/"&gt;Slashdot&lt;/a&gt; has posted a story about GMail Swap. And if you have an account on &lt;a href="http://www.blogger.com/"&gt;Blogger.com&lt;/a&gt;, a Gmail invite may just be around the corner.&lt;br /&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7134270-108771759585178459?l=dunric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dunric.blogspot.com/feeds/108771759585178459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7134270&amp;postID=108771759585178459' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108771759585178459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108771759585178459'/><link rel='alternate' type='text/html' href='http://dunric.blogspot.com/2004/06/gmail-why-everyone-wants-it.html' title='GMail: Why everyone wants it'/><author><name>Paul</name><uri>http://www.blogger.com/profile/04792922491931153734</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7134270.post-108754254271651820</id><published>2004-06-18T00:07:00.000-07:00</published><updated>2004-06-18T00:10:07.726-07:00</updated><title type='text'>"Westfront PC: The Trials of Guilder" updated!</title><content type='html'>Version 20.00 of my game "&lt;a href="http://www.geocities.com/dunric/westfront.html"&gt;Westfront PC: The Trials of Guilder&lt;/a&gt;" has just now been released (June 17, 2004).&lt;br /&gt;&lt;br /&gt;The following changes have been made between the last version (19.50) and today's version:&lt;br /&gt;&lt;br /&gt;o - Game plays much faster!&lt;br /&gt;o - Player inflicts more damage during combat with monsters&lt;br /&gt;o - Quests are slightly harder&lt;br /&gt;o - Parser has been tweaked somewhat&lt;br /&gt;o - Some small bugs have been squashed&lt;br /&gt;&lt;br /&gt;This will be the final update to "Westfront PC: The Trials of Guilder" until December 16, 2005, by which time a Linux version of the game shall also be released. Currently, the game functions on Windows 95/98/NT/Me/2000/XP and Windows Server 2003/XP.&lt;br /&gt;&lt;br /&gt;For those interested, "Westfront PC: The Trials of Guilder" is a Public Domain adventure game with over 1,728 rooms, 4 continents, 50 quests, 125 monsters, 90+ items/armor and equipment. Additionally, the Trials of Guilder offers multiple side quests, parlor games, hidden areas and other items of interest throughout the game.&lt;br /&gt;&lt;br /&gt;&gt;&gt;&gt;&gt;&gt;&gt; Visit the "Westfront PC" website by &lt;a href="http://www.geocities.com/dunric/westfront.html"&gt;clicking here&lt;/a&gt;. &lt;&lt;&lt;&lt;&lt;&lt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7134270-108754254271651820?l=dunric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dunric.blogspot.com/feeds/108754254271651820/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7134270&amp;postID=108754254271651820' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108754254271651820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108754254271651820'/><link rel='alternate' type='text/html' href='http://dunric.blogspot.com/2004/06/westfront-pc-trials-of-guilder-updated.html' title='&quot;Westfront PC: The Trials of Guilder&quot; updated!'/><author><name>Paul</name><uri>http://www.blogger.com/profile/04792922491931153734</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7134270.post-108733200824128247</id><published>2004-06-15T13:36:00.000-07:00</published><updated>2004-06-15T13:40:08.240-07:00</updated><title type='text'>So is it 'text adventure' or 'interactive fiction'?</title><content type='html'>What is the more appropriate term...'text adventure' or 'interactive fiction'?&lt;br /&gt;&lt;br /&gt;For years now, people have referred to text adventures as interactive fiction. But prior to 1992, that wasn't the case, and the phrase 'text adventure' became consistent with the famous genre.&lt;br /&gt;&lt;br /&gt;But over the past decade or so, the medium of the text adventure has expanded into more of a prose-based art form with interactive elements, hence the term 'interactive fiction'. While I don't agree with the term 'interactive fiction' (In fact, I cringe whenever I hear it...ugh...what an ugly phrase!), I do believe that names do change with the times and that 'interactive fiction' broadly accounts for the evolving medium of the text adventure.&lt;br /&gt;&lt;br /&gt;What do you think? Please post comments below.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7134270-108733200824128247?l=dunric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dunric.blogspot.com/feeds/108733200824128247/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7134270&amp;postID=108733200824128247' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108733200824128247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108733200824128247'/><link rel='alternate' type='text/html' href='http://dunric.blogspot.com/2004/06/so-is-it-text-adventure-or-interactive.html' title='So is it &apos;text adventure&apos; or &apos;interactive fiction&apos;?'/><author><name>Paul</name><uri>http://www.blogger.com/profile/04792922491931153734</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7134270.post-108719170243165911</id><published>2004-06-13T22:38:00.000-07:00</published><updated>2004-06-13T22:44:18.723-07:00</updated><title type='text'>The importance of freeware/shareware adventure games</title><content type='html'>Interactive Fiction is an important genre that should remain nearly as free as possible, including freeware and shareware variations. I see a trend in computer and video games towards a lower pricepoint overall. &lt;br /&gt;&lt;br /&gt;While that is generally a good sign, I nevertheless believe that games should be as affordable as possible.&lt;br /&gt;&lt;br /&gt;I'm glad that Zork is now considered free, because it is one of the most recognizable examples of interactive fiction out there. Ask anyone who is older what comes to mind when they think of text adventures, and they will say "Zork" or "Colossal Cave". Almost every email I receive on my games includes references to Zork or Infocom. And that's an important reference, as Zork is the most important interactive fiction game of the past 25 &lt;br /&gt;years.&lt;br /&gt;&lt;br /&gt;I have always believed in writing interactive fiction for free, and I will always continue to do so. Interactive fiction is an important genre that teaches language fundamentals, grammar and increases the effectiveness of problem solving skills while developing the imagination.&lt;br /&gt;&lt;br /&gt;Sincerely,&lt;br /&gt;&lt;br /&gt;Paul&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7134270-108719170243165911?l=dunric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dunric.blogspot.com/feeds/108719170243165911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7134270&amp;postID=108719170243165911' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108719170243165911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108719170243165911'/><link rel='alternate' type='text/html' href='http://dunric.blogspot.com/2004/06/importance-of-freewareshareware.html' title='The importance of freeware/shareware adventure games'/><author><name>Paul</name><uri>http://www.blogger.com/profile/04792922491931153734</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7134270.post-108708031306207789</id><published>2004-06-12T15:42:00.000-07:00</published><updated>2004-06-12T15:45:13.063-07:00</updated><title type='text'>HLA Adventure is now in the Public Domain</title><content type='html'>As of June 12, 2004, "&lt;a href="http://members.tripod.com/~panks/hlaadv.html"&gt;HLA Adventure&lt;/a&gt;" is released into the &lt;a href="http://creativecommons.org/licenses/publicdomain/"&gt;Public Domain&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://creativecommons.org/licenses/publicdomain/"&gt;The Creative Commons License&lt;/a&gt; for "HLA Adventure" is listed on the HLA Adventure website below:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://members.tripod.com/~panks/hlaadv.html"&gt;http://members.tripod.com/~panks/hlaadv.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This means that:&lt;br /&gt;&lt;br /&gt;1) "HLA Adventure" is free to distribute, modify, make derivative works thereof, and otherwise use.&lt;br /&gt;&lt;br /&gt;2) "&lt;a href="http://panks.freeshell.org/mippy.png"&gt;Mippy the Dragon&lt;/a&gt;" is also free to distribute, modify, make derivative works thereof, and otherwise use.&lt;br /&gt;&lt;br /&gt;3) "HLA Adventure" and "Mippy the Dragon" are no longer Copyrighted works, as of June 12, 2004. &lt;br /&gt;&lt;br /&gt;I, Paul Allen Panks, being the author ("The Author of HLA Adventure and Mippy the Dragon") hereby grant "HLA Adventure" and "Mippy the Dragon" into the collective works of the Public ("Public Domain").&lt;br /&gt;&lt;br /&gt;Additionally, I, Paul Allen Panks, being the author ("The author of HLA Adventure and Mippy the Dragon") grant a royalty-free permission of distribution, modification, copying and otherwise use of "HLA Adventure" and "Mippy the Dragon". This includes all "HLA Adventure" source code, derivative works of "HLA Adventure", and any and all images or works relating to or derivative of "Mippy the Dragon".&lt;br /&gt;&lt;br /&gt;Sincerely,&lt;br /&gt;&lt;br /&gt;Paul Allen Panks&lt;br /&gt;&lt;a href="mailto:dunric@yahoo.com?Subject=HLA Adventure :)"&gt;dunric@yahoo.com&lt;/a&gt;&lt;br /&gt;ICQ# 12234336&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7134270-108708031306207789?l=dunric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dunric.blogspot.com/feeds/108708031306207789/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7134270&amp;postID=108708031306207789' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108708031306207789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108708031306207789'/><link rel='alternate' type='text/html' href='http://dunric.blogspot.com/2004/06/hla-adventure-is-now-in-public-domain.html' title='HLA Adventure is now in the Public Domain'/><author><name>Paul</name><uri>http://www.blogger.com/profile/04792922491931153734</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7134270.post-108703427260540253</id><published>2004-06-12T02:56:00.000-07:00</published><updated>2004-06-12T02:57:52.606-07:00</updated><title type='text'>Ever wanted to be famous?</title><content type='html'>&lt;a href="http://www.iwannabefamous.com/"&gt;I want to be famous&lt;/a&gt; because I am 5 foot 2. That's right, 5 foot 2. Halfway between being on The Smurfs and being mistaken for a wrestler. My height is below average (no, I don't have an inferiority complex), but that doesn't stop me. I can still see the ants and touch the sky at the same time. Can Shaquille O'Neal do that? Nope. &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7134270-108703427260540253?l=dunric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dunric.blogspot.com/feeds/108703427260540253/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7134270&amp;postID=108703427260540253' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108703427260540253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108703427260540253'/><link rel='alternate' type='text/html' href='http://dunric.blogspot.com/2004/06/ever-wanted-to-be-famous.html' title='Ever wanted to be famous?'/><author><name>Paul</name><uri>http://www.blogger.com/profile/04792922491931153734</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7134270.post-108689699838890563</id><published>2004-06-10T12:45:00.000-07:00</published><updated>2004-06-10T12:49:58.393-07:00</updated><title type='text'>HLA Adventure mentioned in LinuxWorld!</title><content type='html'>The magazine &lt;a href="http://www.linuxworld.com/story/45177.htm"&gt;LinuxWorld&lt;/a&gt; accepted an article I wrote on &lt;a href="http://members.tripod.com/~panks/hlaadv.html"&gt;HLA Adventure&lt;/a&gt;. While at least one person doesn't agree, I feel that this is a great accomplishment that validates all of my hard work over the years. Perhaps others are jealous, and who can blame them? I've worked hard for many years to produce great games. So what if "Thomas Stearnes" doesn't approve? The decision by LinuxWorld to publish my article speaks volumes of the quality of my Public Domain work.&lt;p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7134270-108689699838890563?l=dunric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dunric.blogspot.com/feeds/108689699838890563/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7134270&amp;postID=108689699838890563' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108689699838890563'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108689699838890563'/><link rel='alternate' type='text/html' href='http://dunric.blogspot.com/2004/06/hla-adventure-mentioned-in-linuxworld.html' title='HLA Adventure mentioned in LinuxWorld!'/><author><name>Paul</name><uri>http://www.blogger.com/profile/04792922491931153734</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7134270.post-108681823282140633</id><published>2004-06-09T14:46:00.000-07:00</published><updated>2004-06-09T14:57:12.820-07:00</updated><title type='text'>Text adventure development systems</title><content type='html'>There are several development systems available for writing interactive fiction (text adventures). One of the most well known is the &lt;a href="http://www.tads.org/"&gt;Text Adventure Development System (TADS)&lt;/a&gt;. Another good development system is &lt;a href="http://www.adrift.org.uk/"&gt;ADRIFT&lt;/a&gt;.&lt;p&gt;&lt;br /&gt;The best place to go for a large collection of text adventure authoring tools is the &lt;a href="http://www.ambrosine.com/resource.html"&gt;Game Creation Resource Page&lt;/a&gt;. This has tons of great authoring tools to help you get started in writing text adventures.&lt;p&gt;&lt;br /&gt;Paul&lt;br /&gt;&lt;a href="mailto:dunric@yahoo.com?Subject=Your blog page :)"&gt;dunric@yahoo.com&lt;/a&gt;&lt;p&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7134270-108681823282140633?l=dunric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dunric.blogspot.com/feeds/108681823282140633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7134270&amp;postID=108681823282140633' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108681823282140633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108681823282140633'/><link rel='alternate' type='text/html' href='http://dunric.blogspot.com/2004/06/text-adventure-development-systems.html' title='Text adventure development systems'/><author><name>Paul</name><uri>http://www.blogger.com/profile/04792922491931153734</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7134270.post-108650379675296478</id><published>2004-06-05T23:33:00.001-07:00</published><updated>2004-06-05T23:45:01.376-07:00</updated><title type='text'>HLA Adventure and guys in clown suits</title><content type='html'>I just play tested &lt;a href="http://members.tripod.com/~panks/hlaadv.html"&gt;HLA Adventure&lt;/a&gt; from start to finish.&lt;br /&gt;&lt;br /&gt;It took me about half an hour to finally solve, but &lt;br /&gt;that's because I knew where everything was.&lt;br /&gt;&lt;br /&gt;I'm glad that everything works, though, because in &lt;br /&gt;my rush to finish the &lt;a href="http://members.tripod.com/~panks/hlaadvlx.tar.gz"&gt;Linux port of the game&lt;/a&gt;&lt;br&gt;I forgot to beta test any of the quests.&lt;br /&gt;&lt;br /&gt;Luckily, my coding worked fine the first time, a rare&lt;br /&gt;achievement for me (usually, errors prevent me a &lt;br /&gt;few times from getting to win one of my games).&lt;br /&gt;&lt;br /&gt;The ending is pretty funny, by the way. I had no &lt;br /&gt;idea that I already coded the game's ending last &lt;br /&gt;May of 2003, so I wrote a second (though less &lt;br /&gt;funny) ending to the game last week. Codewise &lt;br /&gt;though, the second ending is never reached &lt;br /&gt;because the first ending occurs immediately &lt;br /&gt;after the dragon falls in battle.&lt;br /&gt;&lt;br /&gt;The second ending occurs when the game realizes &lt;br /&gt;that the 8th and last quest has been completed. &lt;br /&gt;But since the game switches to the 1st ending &lt;br /&gt;immediately when the dragon falls, the second &lt;br /&gt;ending is not reached. &lt;br /&gt;&lt;br /&gt;Maybe i'll make random endings and have the &lt;br /&gt;game pick from a random number generator to &lt;br /&gt;select up to 4 different ones. Both of the &lt;br /&gt;current game endings have references to &lt;br /&gt;beer, taverns and guys in clown suits.&lt;br /&gt;&lt;br /&gt;Sincerely,&lt;br /&gt;&lt;br /&gt;Paul Panks&lt;br /&gt;&lt;a href="mailto:dunric@yahoo.com?Subject=HLA Adventure :)"&gt;dunric@yahoo.com&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7134270-108650379675296478?l=dunric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dunric.blogspot.com/feeds/108650379675296478/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7134270&amp;postID=108650379675296478' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108650379675296478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108650379675296478'/><link rel='alternate' type='text/html' href='http://dunric.blogspot.com/2004/06/hla-adventure-and-guys-in-clown-suits_05.html' title='HLA Adventure and guys in clown suits'/><author><name>Paul</name><uri>http://www.blogger.com/profile/04792922491931153734</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7134270.post-108598072277944691</id><published>2004-05-30T22:16:00.000-07:00</published><updated>2004-05-30T22:22:10.650-07:00</updated><title type='text'>Meet Mippy, the Dragon of HLA Adventure</title><content type='html'>&lt;img src="http://www.geocities.com/dunric/mippy.png"&gt;&lt;br /&gt;&lt;br /&gt;Mippy's Story: I was happy with the creation of Mippy, my cute dragon for &lt;a href="http://members.tripod.com/~panks/hlaadv.html"&gt;HLA Adventure&lt;/a&gt;. This dragon lives happily in the forests and caves of HLA Adventure. He often comes out during the later part of the day to eat leaves (he's a vegetarian), smolder decaying trees, and generally romp around like every good dragon should.&lt;br /&gt;&lt;br /&gt;Mippy prefers cats to dogs, likes to eat flowers and occasionally can be seen prancing around after rabbits. He's a pacifist dragon, but sometimes even pacifists have to eat. &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7134270-108598072277944691?l=dunric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dunric.blogspot.com/feeds/108598072277944691/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7134270&amp;postID=108598072277944691' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108598072277944691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108598072277944691'/><link rel='alternate' type='text/html' href='http://dunric.blogspot.com/2004/05/meet-mippy-dragon-of-hla-adventure.html' title='Meet Mippy, the Dragon of HLA Adventure'/><author><name>Paul</name><uri>http://www.blogger.com/profile/04792922491931153734</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7134270.post-108587442354388744</id><published>2004-05-29T16:42:00.000-07:00</published><updated>2004-05-29T16:52:38.643-07:00</updated><title type='text'>Other Adventure Game Resources</title><content type='html'>There are other Adventure Game resouces available on the web. The best links that I have found to date:&lt;br /&gt;&lt;br /&gt;&gt;&gt;&gt;Adventureland (a good list of all adventure games to date)&lt;br /&gt;&lt;br /&gt;   ( &lt;a href="http://www.if-legends.org/~adventure/"&gt;http://www.if-legends.org/~adventure/&lt;/a&gt; )&lt;br /&gt;&lt;br /&gt;&gt;&gt;&gt;The Original Colossal Caves website&lt;br /&gt;&lt;br /&gt;   ( &lt;a href="http://www.rickadams.org/adventure/"&gt;http://www.rickadams.org/adventure/&lt;/a&gt; )&lt;br /&gt;&lt;br /&gt;&gt;&gt;&gt;Infocom - The Master Storytellers&lt;br /&gt;&lt;br /&gt;   ( &lt;a href="http://www.infocom-if.org/"&gt;http://www.infocom-if.org/&lt;/a&gt; )&lt;br /&gt;&lt;br /&gt;&gt;&gt;&gt;The Magnetic Scrolls Gallery&lt;br /&gt;&lt;br /&gt;   ( &lt;a href="http://www.webpan.com/dsinclair/ms/mscrolls.html "&gt;http://www.webpan.com/dsinclair/ms/mscrolls.html &lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;There are others, but this is a good list to begin with. A good majority of the most popular adventure games ever created are described on the above webpages.&lt;br /&gt;&lt;br /&gt;Sincerely,&lt;br /&gt;&lt;br /&gt;Paul&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7134270-108587442354388744?l=dunric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dunric.blogspot.com/feeds/108587442354388744/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7134270&amp;postID=108587442354388744' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108587442354388744'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108587442354388744'/><link rel='alternate' type='text/html' href='http://dunric.blogspot.com/2004/05/other-adventure-game-resources.html' title='Other Adventure Game Resources'/><author><name>Paul</name><uri>http://www.blogger.com/profile/04792922491931153734</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7134270.post-108587204782607225</id><published>2004-05-29T15:38:00.000-07:00</published><updated>2004-05-29T16:56:41.850-07:00</updated><title type='text'>Programming Adventures in HLA (and other languages)</title><content type='html'>Programming adventure games takes patience, practice and (most of all) good debugging abilities! Writing the adventure is only half of the process; indeed, coding the adventure takes half the time for the entire project to be completed. From writing to debugging, the process hinges on how well the programmer can find the bugs in the code and fix them in a timely manner (with the help of beta-testers, too).&lt;br /&gt;&lt;br /&gt;For instance, it took me only 3 years to fully code my game "Westfront PC: The Trials of Guilder" ( see --&gt;  &lt;a href="http://www.geocities.com/dunric/westfront.html "&gt;http://www.geocities.com/dunric/westfront.html &lt;/a&gt;). However, debugging the errors in the game itself...took over 4 years! This may not be the usual case for writing most adventures (I hope not), but in my case it was. &lt;br /&gt;&lt;br /&gt;Having a gameplan for writing an adventure is, again, only half of the story. When you are writing for an audience, make sure to ask friends, family members and other people to debug and play test your new game. Often times, they will use commands or do things in the game that you didn't intend in the first place.&lt;br /&gt;&lt;br /&gt;An example might be the following (from a semi-realistic adventure game):&lt;br /&gt;&lt;br /&gt;You are walking in a forest of trees. There is light all around, and the ground is covered with leaves.&lt;br /&gt;There is a large tree here.&lt;br /&gt;&gt;examine trees&lt;br /&gt;What?&lt;br /&gt;&gt;examine tree&lt;br /&gt;Which one? There are several here.&lt;br /&gt;&gt;what the?&lt;br /&gt;What?&lt;br /&gt;&gt;this is silly&lt;br /&gt;What?&lt;br /&gt;&gt;exit&lt;br /&gt;What?&lt;br /&gt;&gt;bye&lt;br /&gt;What?&lt;br /&gt;&gt;how do you @!$#$@$#@ quit????&lt;br /&gt;What?&lt;br /&gt;&gt;quit&lt;br /&gt;&lt;br /&gt;Thanks for playing! :)&lt;br /&gt;&lt;br /&gt;Now that isn't very helpful, but it does show that a few bugs (and annoyances) exist within the framework of the game itself. Not being able to properly exit a game is a very bad problem, as is not being able to examine things described within the room. &lt;br /&gt;&lt;br /&gt;In HLA (High Level Assembly) and other languages, there are commands to properly filter words entered into verbs and nouns. These routines are often referred to as "The Parser".&lt;br /&gt;&lt;br /&gt;When I wrote HLA Adventure, in HLA of course, I had no idea how to write a parser in Assembly Language. That changed when Frank Kotler and others helped me to write a simplistic one using standard library functions.&lt;br /&gt;&lt;br /&gt;This is how I coded it (unfortunately):&lt;br /&gt;// -------------------------------------------------------&lt;br /&gt;str.index(w,"north");&lt;br /&gt;if((type int32 eax)  &gt;= 0) then &lt;br /&gt;	mov(1,s);&lt;br /&gt;        mov(1,j);&lt;br /&gt;endif;&lt;br /&gt;str.index(w,"n");&lt;br /&gt;if((type int32 eax)  &gt;= 0) then&lt;br /&gt;mov(1,s);&lt;br /&gt;mov(1,j);&lt;br /&gt;endif;&lt;br /&gt;str.index(w,"south");&lt;br /&gt;if((type int32 eax)  &gt;= 0) then &lt;br /&gt;	mov(2,s);&lt;br /&gt;        mov(1,j);&lt;br /&gt;endif;&lt;br /&gt;str.index(w,"s");&lt;br /&gt;if((type int32 eax)  &gt;= 0) then&lt;br /&gt;mov(2,s);&lt;br /&gt;mov(1,j);&lt;br /&gt;endif;&lt;br /&gt;str.index(w,"east");&lt;br /&gt;if((type int32 eax)  &gt;= 0) then &lt;br /&gt;	mov(3,s);&lt;br /&gt;        mov(1,j);&lt;br /&gt;endif;&lt;br /&gt;str.index(w,"e");&lt;br /&gt;if((type int32 eax)  &gt;= 0) then&lt;br /&gt;mov(3,s);&lt;br /&gt;mov(1,j);&lt;br /&gt;endif;&lt;br /&gt;str.index(w,"west");&lt;br /&gt;if((type int32 eax)  &gt;= 0) then &lt;br /&gt;	mov(4,s);&lt;br /&gt;        mov(1,j);&lt;br /&gt;endif;&lt;br /&gt;str.index(w,"w");&lt;br /&gt;if((type int32 eax)  &gt;= 0) then&lt;br /&gt;mov(4,s);&lt;br /&gt;mov(1,j);&lt;br /&gt;endif;&lt;br /&gt;str.index(w,"up");&lt;br /&gt;if((type int32 eax)  &gt;= 0) then &lt;br /&gt;	mov(5,s);&lt;br /&gt;        mov(1,j);&lt;br /&gt;endif;&lt;br /&gt;str.index(w,"u");&lt;br /&gt;if((type int32 eax)  &gt;= 0) then&lt;br /&gt;mov(5,s);&lt;br /&gt;mov(1,j);&lt;br /&gt;endif;&lt;br /&gt;str.index(w,"down");&lt;br /&gt;if((type int32 eax)  &gt;= 0) then &lt;br /&gt;	mov(6,s);&lt;br /&gt;        mov(1,j);&lt;br /&gt;endif;&lt;br /&gt;str.index(w,"d");&lt;br /&gt;if((type int32 eax)  &gt;= 0) then&lt;br /&gt;mov(6,s);&lt;br /&gt;mov(1,j);&lt;br /&gt;endif;&lt;br /&gt;str.index(w,"lantern");&lt;br /&gt;if((type int32 eax)  &gt;= 0) then &lt;br /&gt;	mov(7,s);&lt;br /&gt;endif;&lt;br /&gt;str.index(w,"oil");&lt;br /&gt;if((type int32 eax)  &gt;= 0) then &lt;br /&gt;	mov(8,s);&lt;br /&gt;endif;&lt;br /&gt;str.index(w,"rope");&lt;br /&gt;if((type int32 eax)  &gt;= 0) then &lt;br /&gt;	mov(9,s);&lt;br /&gt;endif;&lt;br /&gt;str.index(w,"key");&lt;br /&gt;if((type int32 eax)  &gt;= 0) then &lt;br /&gt;	mov(10,s);&lt;br /&gt;endif;&lt;br /&gt;str.index(w,"bottle");&lt;br /&gt;if((type int32 eax)  &gt;= 0) then &lt;br /&gt;	mov(11,s);&lt;br /&gt;endif;&lt;br /&gt;&lt;br /&gt;...etc...&lt;br /&gt;// -------------------------------------------------------&lt;br /&gt; &lt;br /&gt;As you can see, this is not the best method (or even a good one). However, I was (and still am) a relative novice at HLA and used the "spagetti code method" of programming in the game logic for assigning verbs and nouns (the "Parser" routine).&lt;br /&gt;&lt;br /&gt;In PowerBASIC, I wrote a very simple parser with only these commands:&lt;br /&gt;&lt;br /&gt;107 PRINT"&gt;";:INPUT A$&lt;br /&gt;120 FOR X = 1 TO LEN (A$): IF MID$ (A$,X,1) = " " THEN V$ = LEFT$ (A$,X - 1):N$ = MID$ (A$,X + 1,X + 30) &lt;br /&gt;121 NEXT &lt;br /&gt;125 V = 0: FOR X = 1 TO 20: IF V$ = VB$(X) THEN V = X &lt;br /&gt;126 NEXT : IF V = 0 THEN PRINT "Huh? Check your verb.": GOTO 107 &lt;br /&gt;127 N = 0: FOR X = 1 TO 50: IF N$ = NO$(X) THEN N = X &lt;br /&gt;128 NEXT : IF N = 0 AND V &lt; &gt; 10 THEN PRINT "Huh? Check your noun.": GOTO 107 &lt;br /&gt;129 ON V GOTO 130,140,160,170,180,190,200,207,210,220,230...&lt;br /&gt;&lt;br /&gt;Not exactly elegant, but it works. The parser routine checks a word table, such as it is, which consists of (in this example, anyway) 20 verbs ( Line 125: V=0:FOR X=1 TO 20: IF V$=VB$(X) THEN V=X ) and 50 nouns ( Line 127: N=0:FOR X=1 TO 50: IF N$=NO$(X) THEN N=X ).&lt;br /&gt;&lt;br /&gt;The parser routine then PRINTs out an error message in Line 126 if the verb isn't found. Alternatively, if the noun does not exist, Line 128 informs the player and passes the program back up to Line 107 (where the Parser routine begins).&lt;br /&gt;&lt;br /&gt;Line 129 branches to various Verb routines, based on the value of "V". For example, if V=1, then the routine will GOTO line 130. If V=2, then the routine reaches line 140, etc.&lt;br /&gt;&lt;br /&gt;The same routine as above can also be accomplished in HLA in just a few lines. There are functions within the HLA standard library that accomplish similar tasks, and can be used in similar ways. The HLA Standard Library Reference Manual can be viewed at Randy's page below:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://webster.cs.ucr.edu/AsmTools/HLA/HLADoc/HLAstdlib/HLAStdlibTOC.html"&gt;http://webster.cs.ucr.edu/AsmTools/HLA/HLADoc/HLAstdlib/HLAStdlibTOC.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Another option available is C or C++. C++ has standard libraries that also accomplish "parser" techniques, useful in writing adventure games. There is a wealth of information available at the website below:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www-lp.doc.ic.ac.uk/UserPages/staff/ft/alp/net/applications/game.html"&gt;http://www-lp.doc.ic.ac.uk/UserPages/staff/ft/alp/net/applications/game.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So it really doesn't matter which language you choose to write adventure games (although I do prefer HLA, because it runs on both Linux and Windows operating systems). The point is that methods are used to write adventure games, and that they help the user to explore worlds within the greater realm of human imagination.&lt;br /&gt;&lt;br /&gt;Useful Links&lt;br /&gt;------------&lt;br /&gt;&lt;br /&gt;&gt;&gt;&gt;HLA (High Level Assembly):&lt;br /&gt;&lt;br /&gt; ( &lt;a href="http://webster.cs.ucr.edu/AsmTools/HLA/index.html "&gt;http://webster.cs.ucr.edu/AsmTools/HLA/index.html &lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&gt;&gt;&gt;BASIC (or QBASIC):&lt;br /&gt;&lt;br /&gt; ( &lt;a href="http://www.qbasic.com/"&gt;http://www.qbasic.com/&lt;/a&gt; )&lt;br /&gt; ( &lt;a href="http://www.neozones.com/"&gt;http://www.neozones.com/&lt;/a&gt; )&lt;br /&gt;&lt;br /&gt;&gt;&gt;&gt;PowerBASIC:&lt;br /&gt;&lt;br /&gt; ( &lt;a href="http://www.powerbasic.com/"&gt;http://www.powerbasic.com/&lt;/a&gt; )&lt;br /&gt;&lt;br /&gt;&gt;&gt;&gt;TADS (Text Adventure Development System):&lt;br /&gt;&lt;br /&gt; ( &lt;a href="http://www.tads.org/"&gt;http://www.tads.org/&lt;/a&gt; )&lt;br /&gt;&lt;br /&gt;&gt;&gt;&gt;The Interactive Fiction Archive:&lt;br /&gt;&lt;br /&gt; ( &lt;a href="http://www.ifarchive.org/"&gt;http://www.ifarchive.org/&lt;/a&gt; )&lt;br /&gt;&lt;br /&gt;Sincerely,&lt;br /&gt;&lt;br /&gt;Paul&lt;br /&gt;(Email: &lt;a href="mailto:dunric@yahoo.com"&gt;dunric@yahoo.com&lt;/a&gt;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7134270-108587204782607225?l=dunric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dunric.blogspot.com/feeds/108587204782607225/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7134270&amp;postID=108587204782607225' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108587204782607225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108587204782607225'/><link rel='alternate' type='text/html' href='http://dunric.blogspot.com/2004/05/programming-adventures-in-hla-and.html' title='Programming Adventures in HLA (and other languages)'/><author><name>Paul</name><uri>http://www.blogger.com/profile/04792922491931153734</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7134270.post-108570313437158145</id><published>2004-05-27T17:09:00.000-07:00</published><updated>2004-06-08T21:45:10.390-07:00</updated><title type='text'>Welcome to The Bloggin Times!</title><content type='html'>This is my second -- official -- blog since early-2003. However, I thought it was time to create one specifically geared to my hobbies and interests --&gt; computers!&lt;br /&gt;&lt;br /&gt;Much of this blog will be centered on focal issues such as Adventure Game Design (AGD), programming Windows/Linux, and HLA (High Level Assembly) by Randall Hyde. &lt;br /&gt;&lt;br /&gt;I don't expect to update this blog too frequently, although a few times a week isn't out of the question.&lt;br /&gt;&lt;br /&gt;Stay tuned!&lt;br /&gt;&lt;br /&gt;Sincerely,&lt;br /&gt;&lt;br /&gt;Paul&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7134270-108570313437158145?l=dunric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dunric.blogspot.com/feeds/108570313437158145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7134270&amp;postID=108570313437158145' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108570313437158145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7134270/posts/default/108570313437158145'/><link rel='alternate' type='text/html' href='http://dunric.blogspot.com/2004/05/welcome-to-bloggin-times.html' title='Welcome to The Bloggin Times!'/><author><name>Paul</name><uri>http://www.blogger.com/profile/04792922491931153734</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry></feed>
