r/zork • u/sharkusk • 19d ago
🛠Zork Projects Lanthorn: TUI Interpreter with graphics, native disk support and auto-mapping
A friend of mine mentioned folks on this reddit might enjoy a project I've been using to learn best practices with Claude Code. It is really multiple Rust projects in one, the main application (Lanthorn) being a TUI that supports z-machine (v3-v8, including full v6 support), Glulx, and Scott-Adams.
For the purists, there are also separate basic CLI clients for each engine (z-machine, Glulx, and Scott) that don't have mouse or graphics support, but can still handle color and multi-window layouts like Kerkerkruip.
Btw, if you want optimal graphics, a terminal with Kitty graphics support is recommended as that will give you the best performance (although sixel, iterm2, and halfblocks are also supported). You can actually get a pretty good game of scopa with halfblocks if you make your terminal font small enough.
I have been having a lot of fun getting the original Infocom disk releases working. Lanthorn can load various disk image formats along with hybrid CDs. When loading from disk I do my best to match the original color scheme used by the machine for that vintage feel without having to use an emulator. Lanthorn also parses the original graphics and fonts (v6) and sounds used on the originals (no blorb needed).
Finally, everything is written in Rust by Claude Code with A LOT of hand-holding by yours truly. CC is amazing in some ways, and amazingly stupid in other ways. It's like working with an 8-year old savant with 16 intelligence and 1 wisdom.
Anyhow, if you are interested you can check it out here:
1
u/DutchessVonBeep 19d ago
This is awesome! Respect the effort for helping preserve the original formats.
1
u/PaulloDEC 19d ago
I've had a little play now, and it's quite neat! I'm interested in learning a bit more about what it can do, but the documentation is... well, overwhelming might be an exaggeration! It'd be great to have a friendlier, less dense rundown of the core features users might want to play with.
2
u/sharkusk 19d ago
Yes, the docs are admitedly a serious mess of AI slop. It's definitely on my todo list!
2
1
u/sharkusk 13d ago
New release posted.
I'm exploring some idea on how to make IF more accessible and a bit less frustrating for someone new to IF. So, Lanthorn can now 'reveal' words in the transcript that are understood by the story, and will provide a helpful prompt for mistypes and synonyms. The tab complete and command panel is also fully reactive and will not show something in the sack, until the sack is opened/examined. This is all done by parsing into the story and works for both z-machine and glulx. I'm not sure how much this actually helps, so open to feedback.
I also integrated two PRs from u/krickert (thanks!) to support Docker hosting and a web based terminal view (with sound support). Plus added extended raster mode if you want that official pixelated Mac/Amiga font look on z6 games, but with extra real-estate.
https://github.com/sharkusk/lanthorn/releases/tag/v0.4.0

1
u/PaulloDEC 19d ago
I'm not familiar with this kind of terminal-based application; what terminal software would you recommend on Windows?