Slashdot Mirror


Randy Hyde's HLA Begets OS Adventure Game

jg21 writes "Paul Panks already has 30 text adventure games to his credit, and he's just written a report at LinuxWorld explaining how, when he came across Randall Hyde's website, he realized that Hyde's High Level Assembly language warranted a new departure - writing an open-source textadventure game. The result is "HLA Adventure" which he released into the public domain so anyone may contribute to the expansion of the game world, creatures within the world, and additional quests. HLA Adventure has its own Yahoo group." We recently covered HLA in our Developers section.

27 comments

  1. This HLA thingy... by BigBadDude · · Score: 1



    looks very productive, maybe someone at the valve should take a look at it?

  2. Hmmmm.....horrible flashbacks by schild · · Score: 5, Interesting

    Ever since I first programmed on a MUD the ease of letting people add content amazed me (possibly because I was much younger than I am now). There's something to be said about a game language that has a 'wiki' level of interaction. The word would be 'neat' if there was any amount of quality assurance that was applied to this concept. Unfortunately there isn't, which resulted in why I left many *Mud projects and why this probably won't work as well as it does in theory.

    --
    schild
    editor, f13.net
  3. Why? by News+for+nerds · · Score: 2, Insightful

    Why does it have to be HLA? Color text? Or is it for some esoteric platforms with 32KB memory? If not so, using Perl will suffice to make a text adv. Or even JavaScript and a web browser.

    1. Re:Why? by gl4ss · · Score: 1

      dunno. maybe he wanted a 'good' reason to use a lot of JMP's, BSR's or whatevers their equivalent in HLA, goto do what goto does.

      --
      world was created 5 seconds before this post as it is.
    2. Re:Why? by John+Harrison · · Score: 1
      From reading the article it looks like this guy knows several varieties of Basic and has now learned HLA. He doesn't mention any other languages.

      This does bring up an interesting question, what is the best language to write a text adventure in? Lisp? Perl? ML?

      Aren't the Infocom games written in their own language for a virtual machine?

    3. Re:Why? by Maggot75 · · Score: 2, Insightful
      It seems that this question goes wholly unanswered. The only specific mention of HLA is:

      HLA stands for High Level Assembly, and it's a great way for people to learn assembly without being submerged off the bat in offsets, memory locations and MOV instructions.

      There is nothing on the website that explains why the author didn't choose a scripting language instead - my guess is that the author simply didn't think of a better way, and is obsessed with writing in assembly, for speed of execution.
    4. Re:Why? by Maggot75 · · Score: 1

      Let's not start a high level scripting language advocacy war on this, shall we? :)
      I think any high level scripting language should be quite efficient for the job - all you need is some simple game logic engine and a text parser.
      Writing a game logic engine isn't trivial, but it's at least no harder in a scripting language than in assembler.
      And of course, all the content. I don't know whether mr. Panks writes the game content in HLA as well?
      Btw, there are some links to interactive fiction interpreters (including Inform, which can run Infocom games) here.

    5. Re:Why? by Unoti · · Score: 1

      An Adventure game is a great project for learning assembler. The author is apparently a novelist, too, so this would be a great way for him to merge his passion for assembly with his passion for creating fiction. It's a lot more interesting to write it in HLA than in another language. Everybody that writes in assembler knows that it's a waste of time to write something in assembly that can't be written in a higher level language and still run at an acceptable speed. Assembly is just fun. It also may have been more accessible to write something like this than to write something more appropriate for assembly. I mean, what would be something where he really needed assembly? A new boot loader, device driver, or interrupt handler?

    6. Re:Why? by afabbro · · Score: 1

      If you were serious about making a text adventure game, you would use either TADS or Inform. cf. rec.arts.int-fiction

      --
      Advice: on VPS providers
    7. Re:Why? by LWATCDR · · Score: 2, Interesting

      There are a few reasons not to write a text adventure in Lisp/Perl/ML/Some Basics/Python/scheme/or java.
      One is the runtime. Not everyone that might want to run you game will have Perl/Lisp.... installed on there system. Sometimes it is really nice to just download an EXE file. The issue with that is you never know what the exe file REALLY does and it will only work under one system. Of course you could run it with dosemu under linux if you wanted to.
      For this guy I guess he WANTED to write in in HLA. I guess that is a good enough reason.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    8. Re:Why? by Tom7 · · Score: 1

      It seems to me that the right thing is to develop your own small language along with an engine for interpreting it. ML happens to excel at parsing and interpreting languages, but just about anything with built in lists and strings is going to blow the pants off assembly for this task!

    9. Re:Why? by Alan+Shutko · · Score: 1

      The best languages for text adventures are probably Inform and TADS, two languages specifically designed for that purpose.

      Their advantages are a good runtime system including the parser, large development communities (well, as large as interactive fiction gets), lots of sample code to help learn, good documentation. The runtime is the key. Each has interpreters on lots and lots of platforms, and they take care of things so you don't have to. Things like undo, parsing commands, formatting, etc.

  4. in case you're having trouble finding the story by kwoff · · Score: 5, Funny

    (not that you're looking for the story, as this is Slashdot)

    You are in a twisty maze of an e-zine web page. Before you is a banner ad. To the south are two magazine ads.
    > scroll down
    You are between two magazine ads. To the east are Google ads.
    > scroll down
    You found a title!
    > read
    Before you is a summary.
    > scroll down
    Look out, a large box ad is lurking nearby!
    > read
    The page has refreshed!
    > read
    You found more Google ads.
    > scroll down
    You found information on the author.
    > scroll down
    You are being chased by ads disguised as links!
    > scroll down quickly
    Didn't understand command modifier "quickly".
    > scroll down
    You were eaten by a big orange footer ad.
    Start over [Y/n]?
    1. Re:in case you're having trouble finding the story by Inda · · Score: 1

      So funny that I'll leave the 'Friday is burn Karma day' alone this week.

      Cheers :)

      --
      This post contains benzene, nitrosamines, formaldehyde and hydrogen cyanide.
  5. What a name! by Chemisor · · Score: 1

    I wonder what kind of an adventure game it is given that the developer's name is Randy Hyde.

    1. Re:What a name! by Anonymous Coward · · Score: 2, Funny

      According to the source file the author is Paul Panks, aka PAP. "Bug-fixed by: Frank Kotler, Randy Hyde, many others..."

      You should give the source a read. The turf wars in it are hilarious. Some choice excerpts:

      // Sorry Frank, had to add in all the stuff.
      // "Horrible kludge!" :) /PAP

      // Frank, lay off the yellow pills... :) /PAP

      stdout.puts("Fixed by Frank Kotler" nl nl);

      // YIPES! Every time through the loop?
      // I know, I know. Parse is the loop from hell. :) /PAP

      // Frank's debugging code. Please leave in place. /PAP

  6. Inform by stardeep · · Score: 1

    > Aren't the Infocom games written in their own language for a virtual machine?

    They were written for the so-called Z-machine. Many Z-machine games are written in Inform nowadays.

    --
    Sentimentality is merely the Bank Holiday of cynicism.
    - Oscar Wilde
  7. Re: it does a ton of stuff like: by Anonymous Coward · · Score: 0

    if(lo[ebx*4]=-1) then
    if(s>19 && s<26) then
    mov(205,lo[ebx*4]); // wear the damn thing /PAP
    console.setAttrs( console.white, console.blue );
    stdout.puts("Worn." nl);
    jmp parse;
    endif;
    if(s=55) then
    mov(205,lo[ebx*4]); // wear the damn thing /PAP
    console.setAttrs( console.cyan, console.blue );
    stdout.puts("The shroud feels warm!" nl);
    console.setAttrs( console.white, console.blue );
    stdout.puts("Worn." nl);
    jmp parse;
    endif;
    endif;

  8. Wrong by Tom7 · · Score: 1

    Assembly language is absolutely, with no doubt, the wrong language for writing adventure games.

    1. Re:Wrong by GeckoX · · Score: 1

      Looks like it worked for this guy, what's your beef?

      --
      No Comment.
    2. Re:Wrong by Tom7 · · Score: 1

      My beef is that the use of assembly language for programming tasks as high-level as this is ridiculous, and that slashdot is doing a disservice to the world by promoting it.

    3. Re:Wrong by GeckoX · · Score: 1

      Why do you care how this guy went about doing this?
      That's what is ridiculous.

      Guy deserves some credit for this, at the very least he's not deserving of belittlement for his choice of tool to write it in.

      --
      No Comment.
    4. Re:Wrong by Tom7 · · Score: 2, Informative

      Why do any of us care how he went about doing this? It's fine for him to have fun doing it, but if that's all this is about, then it doesn't warrant a slashdot story. If it's actually interesting enough to deserve a story (which I don't think it is), then the story should at least have the tone of "look at this crazy thing that someone did!" instead of "HLA is a useful and increasingly popular language for developing applications, such as adventure games." The latter is essentially the tone of the article and the slashdot story.

      Slashdot is glorifying a backwards practice, and I believe that is damaging to the naive budding programmers that read it, and damaging to the people that end up using their programs. Expressing my opposition to this is not ridiculous--if you have counter arguments to my actual claim, let's have a discussion.

  9. Why I chose HLA by dunric · · Score: 3, Informative

    To answer the above:

    I chose HLA because it was a relatively new programming experience for me. I wrote adventure games in BASIC for so long, that I grew tired of the language.

    HLA -- on the other hand -- seems like a very interesting programming language. BASIC teaches somewhat backward fundamentals, but those have carried over into a plethora of BASIC interpreters and compilers over the years.

    Just look at PowerBASIC and Liberty BASIC, to name a few. Despite flaws, non-Dartmouth BASIC has thrived for a long time. Now it is on the wane.

    Basically, HLA is at once the most curious and most interesting language I have ever come across. Is it the best for writing text adventures? No. Inform or TADS, in my opinion, fit the bill better. But does HLA serve a useful purpose? Absolutely.

    It was a challenge to write HLA Adventure because I was (and still am) so new to the language. But I love challenges. I wrote a few text adventures in Sylvain Bizorre's Mini-BASIC. I even tried one in HLA Basic. In fact, I squeezed a version of my game "Westfront PC: The Trials of Guilder" into a 24K version for the Commodore 64, Commodore Plus/4 and Vic-20:

    http://www.geocities.com/dunric/pauladv.html

    Text adventures are great fun, even if they don't usually display graphics (Magnetic Scrolls "The Pawn" is a good exception to this). I believe adventure games (especially text adventures) allow users to explore inner worlds within the mind. Infocom and Zork used a similar ad in the early 1980's when discussing the "power" of the brain in generating graphics.

    So, to recap, I believe HLA was a challenge to write an adventure game in and so I picked that challenge instead of using another language (such as BASIC, which I have used so often that I can code an adventure game the size of HLA Adventure in under two weeks).

    I have a lot to learn about programming. I am a novice at C/C++, I don't know Python, and I am still very inexperienced at HLA. BASIC is about the only language I know by heart.

    Sincerely,

    Paul Panks
    dunric@yahoo.com

    --
    Few cats act their age, while most just cough up fur balls.
    1. Re:Why I chose HLA by Anonymous Coward · · Score: 0

      I don't think he's saying that you've done anything objectionable at all. Jumping from BASIC to HLA is quite a challenge, but since you've been programming a long time, you must realize that.

      I think he's got a point about the Slashdot article... they could have mentioned that HLA is an unusual tool for the task. Not a big deal, though. Nothing wrong with setting up a challenge for yourself.

  10. Why I chose HLA (reposted) by dunric · · Score: 1

    I chose HLA because it was a relatively new programming experience for me. I wrote
    adventure games in BASIC for so long, that I grew tired of the language.

    HLA -- on the other hand -- seems like a very interesting programming
    language. BASIC teaches somewhat backward fundamentals, but those have
    carried over into a plethora of BASIC interpreters and compilers over
    the years.

    Just look at PowerBASIC and Liberty BASIC, to name a few. Despite
    flaws, non-Dartmouth BASIC has thrived for a long time. Now it is
    on the wane.

    Basically, HLA is at once the most curious and most interesting language I
    have ever come across. Is it the best for writing text adventures? No. Inform
    or TADS, in my opinion, fit the bill better. But does HLA serve a useful
    purpose? Absolutely.

    It was a challenge to write HLA Adventure because I was (and still am) so
    new to the language. But I love challenges. I wrote a few text adventures
    in Sylvain Bizorre's Mini-BASIC. I even tried one in HLA Basic. In fact, I
    squeezed a version of my game "Westfront PC: The Trials of Guilder" into
    a 24K version for the Commodore 64, Commodore Plus/4 and Vic-20:

    http://www.geocities.com/dunric/pauladv.html

    Text adventures are great fun, even if they don't usually display
    graphics (Magnetic Scrolls "The Pawn" is a good exception to this). I believe
    adventure games (especially text adventures) allow users to explore inner worlds
    within the mind. Infocom and Zork used a similar ad in the early 1980's when
    discussing the "power" of the brain in generating graphics.

    So, to recap, I believe HLA was a challenge to write an adventure game in and so
    I picked that challenge instead of using another language (such as BASIC, which I
    have used so often that I can code an adventure game the size of HLA Adventure
    in under two weeks).

    I have a lot to learn about programming. I am a novice at C/C++, I don't know
    Python, and I am still very inexperienced at HLA. BASIC is about the only language
    I know by heart.

    Sincerely,

    Paul Panks
    dunric@yahoo.com

    --
    Few cats act their age, while most just cough up fur balls.
  11. HLA Adventure is now in the Public Domain by dunric · · Score: 1

    Hello,

    As of June 12, 2004, "HLA Adventure" is released into the Public Domain.

    The Creative Commons License for "HLA Adventure" is listed on the HLA Adventure website below:

    http://members.tripod.com/~panks/hlaadv.html

    This means that:

    1) "HLA Adventure" is free to distribute, modify, make derivative works thereof, and otherwise use.

    2) "Mippy the Dragon" is also free to distribute, modify, make derivative works thereof, and otherwise use.

    3) "HLA Adventure" and "Mippy the Dragon" are no longer Copyrighted works, as of June 12, 2004.

    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").

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

    Sincerely,

    Paul Allen Panks
    dunric@yahoo.com
    ICQ# 12234336

    --
    Few cats act their age, while most just cough up fur balls.