PipeDream is a CLI utility that wraps the stdout of terminal games (like Frotz/Zork or Colossal Cave) and generates visualisations using the Gemini API.
The early version just generated isolated images, which felt disjointed. I built a state-aware navigator and an AI director that attempts to solve this by mapping out physical paths and cardinal directions. When you use the new --img2img flag, PipeDream uses the previous scene as a structural guide. If you walk North, the new room maintains the lighting, style, and architectural geometry of the previous room. It makes exploring feel a bit more cohesive than a slideshow.
I also added aggressive smart-caching. If you backtrack to a previously visited room, it bypasses the LLM entirely and loads the cached state, which keeps API costs down per session.
To try the built-in demo (API key required, free tier works fine): pip install pipedream-fiction export GEMINI_API_KEY=YOUR_GEMINI_API_KEY pipedream-gui --img2img
If you want to try it with a real game, you can install Colossal Cave via uv tool install adventure and run pipedream-gui --img2img adventure.
You can find more examples of usage on the repo: [github.com/cpritch/pipedream]
I recommend running it with the --img2img flag enabled. It costs slightly more per generation, but the visual consistency is entirely worth it. I’d love to hear your thoughts, feedback or suggestions.