Attack of the Yeti Robot Zombies, by Jan Thorsby, is a work of interactive fiction with an interesting restriction: the object of the game is to win on the first attempt. It's possible—I know of at least one person who's done it—but it's not easy.
There's a new version of FrobTADS now available. FrobTADS is Nikos Chantziaras's port of the TADS text-based tools to Unix. Version 0.4 now supports the latest TADS virtual machines (2.5.10 and 3.0.10 for TADS 2 and 3).
Kevin Forchione's TADS 3 module for Programming in Logic Language adds the ability to write Prolog-like programs and rules in TADS 3. From his announcement:
TPL takes its cue from my REPL language syntax. The basic idea is that TPL programs can be loaded into the TPL interpreter and then queries can be made against the TPL database. The language has a Lisp-like syntax, but the program functions similarly to Prolog.
This is still in very early beta. You can download it from Kevin's site.
Need a competition before the annual IF competition? You can write a game about a creature and enter it in David Fisher's competition.
The main focus of the game must be some kind of creature. For example:
The exact definition of "creature" is up to your interpretation, but a normal human being obviously doesn't count. Fairies and elves are also right out ... you get the idea. :-)
The deadline is Friday the 22nd of September 2006 - one month away. This gives a week of judging before the IF Comp judging period starts.
Send entries (or a download address) to david at hsa dot com dot au.
Relations are one of the neat features of I7, allowing you to relate objects to each other in arbitrary ways. Kevin Forchione's new Relations module adds this capability to TADS 3.
Relation is a small library extension that owes its existence to suggestions made by Mike Roberts in the "I7-NL blessings" thread. The module is quite compact, but is capable of some interesting relationship search results. Macros have been provided for the more common functions. For instance, to define a class of relation:
DefRelation(Woman);
To define instances of the relation:
Relate(Woman, jean);
To search for a relation you can use the null wildcard:
Search(Woman, null);
The result of a search is a list of sublists, each sublist representing the parameters of the relation. In this case the result would be [[jean]]. For n-ary relations there will be n sublists, each containing the elements of the matched relation.
Conjunctions and Disjunctions can be handled with the And() and Or() functions. Both take the results of searches as their arguments.Complex search statements can be built up in this fashion.
You can grab the extension from the IF Archive.