Gruepal

Click Here For Latest News / Dev Blog

Gruepal is a module designed for the Drupal CMS that runs z-machine programs, most popularly text adventures and interactive fiction. Well known examples include games created by Infocom, inventors of the z-machine, such as the Zork series, Hitchhikers Guide to the Galaxy, The Lurking Horror, Planetfall, etc. Gruepal is not limited to games created by Infocom though – currently running games written in versions 1-3 of z-code, the goal is to implement all 8 versions of z-code, which would support many games found within the Interactive Fiction Archive.

Gruepal integrates z-machines with Drupal, allowing for the following:

  1. Most importantly, since Drupal is PHP based, text adventures can be played on the web without java or flash
  2. The ability to add z-machine stories as a node, allowing them to be listed, queried, access controlled, etc
  3. Games (and saved games) are processed per player (Drupal user), which means that all website users can play their own game simultaneously
  4. Games are saved with every page refresh, so a player can navigate away from the page/close their browser and resume later in the exact spot they left off
  5. Many values such as player’s current location and score are exported to Drupal, so the website can report current location of all users, high scores per game, most played game, etc
  6. AJAX interface, scrolling, and save/restore controls offer a great interface for gameplay

Future Goals Include:

  1. Allowing limited in-game interaction with other players (chatting and following)
  2. Adding automapping capabilities, presenting player with visual map of locations they’ve visited
  3. Linking and rendering content dependent on objects (e.g. displaying fields/nodes/changing themes depending on location of player, objects in room, game, etc)
  4. A compiled PHP module version (for sites with a lot of users, Gruepal definitely eats up CPU)
  5. Lots more, there are a lot of neat possibilities

Gruepal is currently closed source (it’s a personal project for now, I have a lot of enjoyment working with it). The plan is to have a site demoing the module during later alpha/early beta stages (coming up soon, development has gone well), then release the module to the Drupal community as open source.