Aiee! An Interactive Environment Engine

(2025 Note: old, unsupported, uses Java. Good luck.)

Version 0.3, released 2004Oct19

Aiee! allows you to design and play text adventures, or "interactive fiction". Aiee! adventures are written in a simple XML-based format, without the need for any programming experience. Aiee! adventures can even include illustrations and sound.

Read design.html in the zip file.

Aiee! v0.2
Load adventure:
A) cloak.xml
B) dungeoncrawl.xml
C) build.xml
?a
Loading cloak.xml 
Cloak of Darkness A basic IF demonstration, by Roger Firth 
Hurrying through the rainswept November night, you're glad to see the bright lights of the Opera House. It's surprising that there aren't more people about but, hey, what do you expect in a cheap demo game...? 
[Foyer of the Opera House] You are standing in a spacious hall, splendidly decorated in red and gold, with glittering chandeliers overhead. The entrance from the street is to the north, and there are doorways south and west.

You must have the Java Runtime Environment (JRE), version 1.4 or later.

  • Windows and Linux users will find the latest versions there.
  • MacOS X users already have Java installed.
  • MacOS 9 or lower cannot run Aiee!.

Download and unzip aiee03.zip (133K)
(you can unzip it anywhere).

Now start the game:

  • Unix:
    Run ./aiee.sh
  • Windows:
    Double-click on aiee.jar
  • MacOS X:
    Double-click on aiee.jar

If you want to play in text mode, change the size of the window, or send logging to a file other than default.log, you can call Aiee! from the command line:

./aiee.sh -?

or

java -jar aiee.jar -?

shows the command-line options (java must be in your path; Windows users will need to append ;WHATEVER to
My Computer|Advanced|Environment|PATH, where WHATEVER is the dir containing java.exe).

Enjoy!

News

2004Oct19

Released version 0.3! This is mostly a bugfix release, but there's one important new feature:

  • Take all! Multiple direct objects are now supported by all commands where they make sense. "take dagger, armor, and torch" works, as does "drop all", and so on.
  • Improved text wrapping. You shouldn't have to manually format text anymore. You can still force newlines with \n escapes.
  • Differentiated between "r" (ready/remove toggle), "ready", and "remove".
  • Encumbrance is listed in "inv".
  • Container contents don't count against your weight limit, only the container's weight does.
  • Fixed the bug where exits declared "visible" weren't being listed.
  • Adventure file list is now sorted for your convenience.
  • Fixed scoring. $(_scorebase) now contains the permanent score, not counting any items with <points> tags, and $(_score) has the current score.
  • Fixed bug that made menus show up in uppercase but not take uppercase options.
  • Preparation for the GUI adventure generator; right now, the only visible result is if you use -dump to print out the adventure when it's loaded, it generates a valid XML adventure, identical to the input.

2004Oct13

  • Released version 0.2! Yes, it's been a while, between adding many features and working. What's new?
  • Graphical client! Adventures can now display images and play sounds or background music. The classic text-only console game is still available, started with java -jar aiee.jar -text, and runs all adventures (images and sounds are simply listed, not played).
  • Actors enter the stage! NPCs can now be written, and they can react to a player's actions with <observe>, have conversations with <ask>, and receive gifts with <give>.
  • Combat! The fight routine can be coded specific to an adventure, and a standard fight routine is given in dungeoncrawl.xml. The player and actors have hit points, and die when they reach 0. A <hurt> routine on actors, and a <die> routine on player and actors will handle special effects, reactions, etc.
  • Equipment can be readied and removed. Armors can cover any or all of five "elements": physical, air, earth, fire, and water, so monsters can be vulnerable to one element but not others.
  • Better error-checking in adventures.
    • <istype> test in <if> and variable $(_who) make multi-purpose functions more useful.
    • <output> displays text only if $(_who) is player.
    • <hasitem> can now test for whether or not an item is equipped.
  • Long text is now broken up with [MORE] prompts.
    <set> has new operators: "name" gives the name of an item,
    "aname" gives the indefinite article and the name, "thename" gives the
  • definite article and the name, and "input" reads a line from the user.
    $(_maxscore) now holds the maximum score defined for the adventure.
    "Invisible" items are listed when contained in inventory.

2003Jan19

  • Released version 0.1

The Future

Aiee! has three central goals.

The first goal is to simplify the text adventure user interface. Complex
command parsers are a lot of fun--for parser programmers. But they just
encourage "guess the verb" puzzles, which are no fun for the players. They're
also very verbose--after a while, you really get tired of typing out full
commands. This goal is almost complete now.

The second goal is to work across a wide range of devices:

Fully-graphical iconic interface
Lightly-graphical text interface
Line-oriented console interface
Minimal-typing PalmOS interface

&nbsp;&nbsp; Aiee 0.1 only has the console interface.  I'll be writing
the other interfaces next.

The third, longer-term, goal is to write an adventure generator.

Legal Stuff

Aiee! is provided 'as-is', without any express or implied warranty. In no event will the author be held liable for any damages arising from the use of this software.

Aiee! is freeware, for personal use only. You are permitted to download and use it at no charge. You may not redistribute it without the author's express written permission.

Adventures you have written belong to you--you may distribute them under any terms you like. You may not bundle Aiee! with them, instead you should provide a link to the Aiee! home page

<http://mdhughes.tech/software/aiee/>.

Last modified: 2004Oct19
Version 0.3