Text game project
Hendrik Boom
I’ve been tinkering with text-adventure games, or rather, the tools to make them.
There’s a system called Ink, or Inkle. It’s a programming language for writing text adventures. It has a development environment called inklewriter. It’s a syntax editor that can execute incomplete and broken code, make topological analysis of it, and so forth.
I implemented a few of its control structures in Racket. I want to find out how useful they are, and how well they work when backed by a real, full-fledged programming language.
Quite frankly I don’t know what I’m doing, but I’m doing it anyway because I’m truing to learn how to do these things.
Here’s some Ink code taken from the Ink documentation.
Here’s my fully bracketed corresponding Racket code.
I run this in DrRacket.
I have grandiose plans for this.
I’d like to connect it with a terrain generator I’ve written
an with an in-memory data base about boxes and their contents and event management.
and with a natural language generator using something like transformational grammar.
I’d like to add in a restricted-vocabulary natural-language generator based on some kind of transformational grammar but I don’t know how to do this.
Above all, I’d like to learn what I should be doing instead of this.
This page is available at http://topoi.pooq.com/hendrik/games/lispjam2025//project.html.
Complete source code at http://topoi.pooq.com/hendrik/games/lispjam2025/. I do not recommend you to use it, bt if you want to anyway, make your own copy. It will likely change incompatibly without warning as I keep trying things.
.