Development Diary


For as long as I can remember, I've day-dreamed about making a text-based arcade game: a cross between Zork and Quake (which has been done... even by me. But the dream is more than Harrow... it's a full-on arena experience.

In college, I really dove into programming languages and Slant started in Java, then was thrown away. I dabbled in FlashBuilder / ActionScript thinking that'd be more portable. After giving that up, it was time for Unicon, whose feature-set I liked, but its compilation and runtime features seemed a little lacking.

I've contemplated Python or Tcl/TK, but all of them lack some feature or another. In my mind, I can't post a game to Steam or without the game being very user-friendly to set up and use... and interpreted languages-- even Java-- are out of the question. My users can't deal with runtimes. Point. Click. Read. Rock and roll.

I've always been fascinated by Lisps and Racket has an incredible feature set including threads (sorry Clisp), an extensible and complete GUI library as part of the language (sorry Python and C), networking code (not that I'm using it for this), and it compiles to a platform-native .EXE / .APP file (sorry, Java). Adding to that, the documentation is hella sweet.

As for the game, all I know for certain is that it's going to be a text-based, fast-paced, customizable, arcade-style shooter. Everything else is up in the air right now.

November 11, 2016

(Source Code Link) In its current state, the world-building algorithm almost works. The UI is in its basic state and I have daydreams about what the menu system is going to look like. Ever since I started daydreaming about this thing, I wanted the "main menu" to be a big paragraph with some text that you can change. None of that is even started yet. There are two skeleton prototype commands: WTEST (which calls the world-building function) and QUIT (which does what it promises-- no prompts to get to a menu or anything yet).

Some major TODOs include boxing up the world, starting on the bots and weapons and figuring out what the control system is going to be like. I sway pretty widely on how I want this to feel and the amount of typing versus reading that I expect from the player.