DrupalZM – My New Project

For those eager to purchase a PSX64, don’t worry, I’m still planning on selling a batch at the upcoming World of Commodore Expo and then selling online. The following project is slow moving right now – Shredz64 is still my priority.

The Project Idea
That being said, I’ve been itching for a new project to work on. I have a few Commodore related hardware ideas, but I’m putting them off until most of the PSX64 sales are done with. I wanted another fun software project to work on in the meantime. I’m a huge fan of text adventures, both the Infocom classics (The Zork series, HGTTG, Lurking Horror, etc) and the great interactive fiction that’s still being written by the IF community (if you’re an IF fan and haven’t yet, check out the Interactive Fiction Archive, there are thousands of awesome stories on there to play, many are really amazing).

I’m also a Drupal developer as a part of my day job – we often get into conversations at work about cool vintage technologies we miss, and text adventures are one of the topics that comes up often. During one such conversation, a coworker (Hi Seth!) and I got onto the subject of how it would be great if there was a Drupal Z-machine module that allowed Drupal sites to offer text adventures for users to play online (no need for downloads). And I thought, now THAT would be a fun project. I had always wanted to write a virtual machine/emulator, and being a fan of the text adventure genre, this was perfect.

Now of course there are java, a whole slew of local, and mobile Z-machines out there (and maybe even other PHP implementations), but this is more of a fun academic exercise for myself – a big learning opportunity – the Z-machine has a hefty list of opcodes and nuances. I normally wouldn’t post this early into a project in case I lost interest or my time grew short, but I feel confident about this one, and I really want to let people follow along if they’re interested.

I’m going to post what I learn about the Z-machine from the tech specs on the web as I go, coupled with the work I do to implement that in PHP/Drupal. So far I’ve done some work reading the data file from disk, parsing information from it, and parsing op codes and operands, but I will save these details for the next (series) of posts.

Wish me luck!

Leave a Reply

Your email address will not be published.