Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: I wrapped the Zorks with an LLM (tambo.co)
36 points by alecf 1 hour ago | hide | past | favorite | 17 comments
I grew up on the Infocom games and when microsoft actually open-sourced Zork 1/2/3 I really wanted to figure out how to use LLMs to let you type whatever you want, I always found the amount language that the games "understood" to be so limiting - even if it was pretty state of the art at the time.

So I figured out how to wrap it with Tambo.. (and run the game engine in the browser) basically whatever you type gets "translated" into zork-speak and passed to the game - and then the LLM takes the game's output and optionally adds flavor. (the little ">_" button at the top exposes the actual game input)

What was a big surprise to me is multi-turn instructions - you can ask it to "Explore all the rooms in the house until you can't find any more" and it will plug away at the game for 10+ "turns" at a time... like Claude Code for Zork or something





I'm not from the era of these games, but I remember trying them and finding them frustrating for the same reason.

But when I tried this, I literally couldn't stop. I could just write some random action.

It's actually amazing to me how many situations they were able to consider in the game, but having the LLM translate my language into the right action made the game feel way more natural.

I'd be interested in seeing how people can dress up these games with images, or more complex interactions. It could be a whole sub-genre.


Or even make new games with the LLM translating what you write into a restricted set of in-game commands.

One thing I noticed about the linked page: I said something like "what's in the mailbox?" and the answer was "That mailbox is closed." I think the next level would be able to string together multiple commands like "open mailbox" + "look in mailbox"


You can, my first prompt in Zork 3 was “pick up the latern, light it, and walk down the dark path”, and it did all that.

In MOOLLM Adventures, you can have NPC characters with entire game mechanics, rules, and playing piece prototypes embedded in them, that can run cooperatively in parallel in the same game!

The Grue — The Darkness That IS The Game:

https://github.com/SimHacker/moollm/tree/main/examples/adven...

Hint: GET LAMP

https://github.com/SimHacker/moollm/blob/main/examples/adven...

MC Frontalot - It Is Pitch Dark:

https://www.youtube.com/watch?v=4nigRT2KmCE

Snorax the Patient — The Wumpus Who IS The Game

https://github.com/SimHacker/moollm/tree/main/examples/adven...

Bottomless Pit:

https://github.com/SimHacker/moollm/blob/main/examples/adven...

Superbats:

https://github.com/SimHacker/moollm/blob/main/examples/adven...

Hunt the Wumpus BASIC source code from 1973 to resolve any rule ambiguities:

https://github.com/SimHacker/moollm/blob/main/examples/adven...

With a classic Zork mailbox integrated with the postal system, including junk mail, stamp collecting, chain mail, and offers you can't refuse:

https://github.com/SimHacker/moollm/blob/main/examples/adven...

Postal System:

https://github.com/SimHacker/moollm/tree/main/skills/postal

Not to be confused with the Postel System:

https://github.com/SimHacker/moollm/tree/main/skills/postel


Also cool: make your own RPG!

https://www.rpgprompts.com/


Inspired by this, I am wondering, can a LLM play AmongUs game & win? How about tagging multiple LLMs to play with each others with humans watching?

This is really cool! I'd like to understand how you're dealing with the costs. Since you're using an LLM and this is getting viral on HN, aren't API costs getting higher? I'm working on some LLM project myself and trying to figure out how to make the demo accessible without spending too much.

Great job.


At least for the sake of this demo, the costs are actually pretty small, especially given that many of the ... even at $1.75/1M tokens you'd have to have 2 megabytes of text across all users before this even broke $1...

I'd love to see a version of this that adds voice. Both input and telling the story.

Very interesting project! I cannot resist mentioning an old project of mine that was made in a very similar spirit, but way before any LLM: wrapping a classic Lone Wolf gamebook around a very crude text parser: https://projectaon.org/staff/christian/gamebook.js

I had written an entire "framework" for it, in JS (so in theory more books could be supported), but it never went anywhere: https://github.com/cjauvin/gamebook.js


This is cool. I wonder what it would like today with LLMs?

I really enjoyed Zork. I am enjoying your creation and the ability for it to translate instructions into multiple steps makes it much more enjoyable than the original.

I'm not a big fan of LLMs, but this is quite a nice matchup... here is a fragment of my chat log:

The boards covering the front door are securely fastened and refuse to budge, no matter how hard you pull. It seems you'll need to find another way inside the white house.

> run for president to get into the white house

* You daydream about launching a presidential campaign to earn a rightful place inside the White House, but no crowd assembles and no ballots appear. This house awaits a different sort of entry—one available to the clever and bold adventurer before its door.*

* You imagine what it would be like to run for the highest office in the land and stroll triumphantly into the White House—but this place operates by different rules. No one here recognizes the word "president," and the only way forward is through wit and exploration.*


I am working on an Adventure Compiler!

https://github.com/SimHacker/moollm/blob/main/skills/adventu...

The idea is to turn my blog into an interactive adventure so you can "Play My Blog"!


Makes for a fascinating principal/agent problem: which role is the LLM playing? If I just tell it "Try different things until you solve the game", it tries to do just that until it reaches 15 tool calls.

Yeah made me wonder if you could speedrun the game by giving it a lot of complex instructions and then just let it run...

It ran for a while when I gave it instructions to do a depth-first search of the known map, while observing any atypical features of every new location and also picking up anything of note. A few times, it asked me if I wanted to continue the search, but I finally told it not to interrupt the search until it had exhausted all new options, which made it run until it said it had reached the maximum number of tool calls (15).



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: