惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
N
Netflix TechBlog - Medium
V
Visual Studio Blog
博客园 - Franky
小众软件
小众软件
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 三生石上(FineUI控件)
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
宝玉的分享
宝玉的分享
量子位
大猫的无限游戏
大猫的无限游戏
人人都是产品经理
人人都是产品经理
V
V2EX
The Cloudflare Blog
月光博客
月光博客
Last Week in AI
Last Week in AI
雷峰网
雷峰网
WordPress大学
WordPress大学
博客园 - 【当耐特】
博客园 - 聂微东
IT之家
IT之家
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻

Whitebeard's Realm

Weeknotes 2760 Learning about myself through Elm What kind of machine-consciousness denier are you? Take our handy quiz Unequal, and hungry for it There's a STAR man, waiting in the sky Introducing Uruk, a language for tabletop games The diving watch I never knew I wanted Make your own interactive fiction client in Elm Introducing Planedrift > ASK THE VM WHERE IS THE PLAYER Building a Z-Machine in the worst possible language Building a better crossword page for my daily cryptic hit What AI is doing for me, in a difficult situation It's Your Turn — a prompt deck for new roleplayers Seven reasons that Trump is a bad GM. Very bad You've Been Pawned — Now With a Snazzy New Look Six months on startplaying.games An online tool to make playable paper pawns Campaign report: Dragon of Icespire Peak: session #6 Campaign report: Rime of the Frostmaiden: session #4 Campaign Report: Dragon of Icespire Peak: Session #5 A few months on StartPlaying.Games Campaign report: Rime of the Frostmaiden: session #3 Character Quirks for easier roleplay How I use Avrae An Owlbear/Discord/DndBeyond checklist for new campaigns About me Projects Talks Videos
Playing Zork with a gen alpha AI
whitebeard · 2026-04-11 · via Whitebeard's Realm

I’ve talked before about how I use AI as a coding companion - a partner while I’m making things. I was curious how this would play out in other contexts, and that’s why I built if-pal. With it, you can play old (and some newer) interactive fiction games - like Zork, Suspect or, my favourite, Wishbringer - with an AI pretending to be a gen alpha friend and reacting to the game.

if-pal in action — Zork on the left, an enthusiastic AI companion reacting on the right

Why gen alpha? Well, it didn’t start that way. I was showing my eleven-year-old Zork and I was amazed how much he enjoyed it. Or at least, how much he enjoyed playing it with me. Like most gen Xers, I barely understand a word he says but I love hearing him and his friends speak. There’s a joy in language that I don’t think was a big feature of my childhood - I blame TikTok and the different cultural bubbles we live in, ngl.

Initially I thought I would make a useful companion for playing the game - a utility that could remember things and give hints. But as I played with it, I realised I wanted it to experience the game with me and to have some kind of joyful personality. The minute I started changing the llm system prompt to include gen alpha language - largely to troll my son - I knew I was on to something.

Right now, if you want to play with it, you’ll need to build and run the app locally - it’s on github. You’ll need dfrotz and node to be installed. You’ll also have to change a configuration file. You can configure it to use a local llm via ollama or you can give it a claude API token and use claude remotely. I haven’t found a local llm that works brilliantly for this on my old macbook yet, but I’m still looking.

If you get it working and want to experiment a bit with different personalities, the system prompt is in the contextManager.ts file. Have at it!

For some reason, I really like making things that if they didn’t exist, no-one would ever think or want to make them. So, if you’re sitting there wondering why on earth I did this, that’s exactly the response I’m after!

This first version of the app shells out to dfrotz to run the adventures and does a minimal bit of munging to present the output. But that yak needs to be shaved so I’ve been writing my own zmachine emulator in elm and hope to use that in future. I’ll write about that soon.