🌑 Echoes of the Void: The Infinite Reality Engine
"In the golden age of computing, imagination was the graphics card. Today, we resurrect that spirit... infused with the raw power of Generative AI."
💡 Inspiration: Resurrecting the Past
We missed the feeling of classic 80s text adventures like Zork or The Colossal Cave. But going back to them felt limiting—you could only go North, South, or hit a wall because the developer didn't write a path.
We asked ourselves: What if the Dungeon Master never ran out of ideas?
We wanted to build a game engine where the story isn't a script, but a conversation. A world that thinks, reacts, and punishes your mistakes in real-time. And most importantly, we wanted to prove that with the right architecture, a single codebase could power infinite genres—from Gothic Horror to Cyberpunk Sci-Fi.
🎮 What it does
Echoes of the Void is an AI-Native Text Adventure Engine built with Kiro IDE. It allows players to explore infinite worlds with no pre-written boundaries.
- 🧠 The Living Dungeon Master: Powered by Google Gemini 2.5, the game tracks your inventory, health, and location contextually. It's not just a chatbot; it's a game engine. If you scream, monsters hear you. If you touch fire, you burn.
- 🌌 The Reality Shifter (Skeleton Crew): This is our flagship feature. With a single click, players can switch the game's "Protocol." Instantly, the Gothic Dungeon transforms into a Derelict Spaceship or a Fantasy Kingdom. The engine remains the same; the reality bends.
- 📺 Immersive "Costume": We didn't just dump text on a screen. We built a fully reactive CRT Terminal UI with scanlines, screen shake effects on damage, and Contextual ASCII Art that changes color based on danger (Red), loot (Gold), or information (Cyan).
- ⚡ Accessibility First: Includes "Instant" text speeds for fast readers, Mute toggles, and mobile-optimized BIOS controls.
⚙️ How we built it (The Kiro Way)
This project is a testament to Spec-Driven Development using Kiro IDE.
The Spec Phase (
.kiro/specs/): We didn't write a single line of code until Kiro generated ourrequirements.md,design.md, andtasks.md. This ensured our architecture was robust enough to handle the "Skeleton Crew" adaptable requirement from day one.The Core Stack:
- Frontend: Next.js 15 (App Router) & Tailwind CSS.
- State Management: Zustand. This was critical for handling session persistence when switching "Realities" without reloading the page.
- AI Layer: Vercel AI SDK coupled with Google Gemini 2.5. We used
generateObjectwith Zod schemas to force the AI to return structured game data (health updates, inventory items) alongside the narrative.
The Engine Logic: We separated the System Prompt from the Game Logic. By creating a modular
THEME_CONFIG, we allow the game state to reset and re-initialize with a completely new persona (Horror/Sci-Fi/Fantasy) instantly.
🚧 Challenges we ran into
- The "Nice AI" Problem: Initially, Gemini 2.5 was too polite! It refused to hurt the player. We had to rigorously tune the System Prompt to act as a "Cruel Dungeon Master" that aggressively reduces health and creates high-stakes situations.
- Race Conditions: The "Reality Shifter" caused issues where the old theme's narrative would overlap with the new one. We solved this by implementing a Session Counter in our Zustand store to invalidate stale API requests during theme switches.
🏆 Accomplishments that we're proud of
- Visual Polish: The "Screen Shake" effect combined with the Red Flash when taking damage makes a text game feel visceral and dangerous.
- Robustness: The game handles API failures gracefully with fallback narratives and auto-retries.
- Zero-Config Modding: The architecture is so clean that adding a "Western" or "Cyberpunk" mode takes literally 3 lines of code in the
prompts.tsfile.
📚 What we learned
- Spec-Driven Development is a cheat code for hackathons. Kiro kept us focused on what to build, preventing feature creep.
- Prompt Engineering is Engineering. Tweaking the AI to handle inventory logic required as much testing as writing the TypeScript code itself.
🔮 What's next for Echoes of the Void
We plan to introduce "User-Generated Realities," where players can type a custom prompt (e.g., "Zombie Apocalypse in Tokyo"), and the engine will instantly generate a unique game world based on that input.
Can you survive the Void?
Built With
- google-gemini
- kiro-ide
- next.js
- tailwind-css
- typescript
- vercel-ai-sdk
- zod
- zustand


Log in or sign up for Devpost to join the conversation.