Inspiration
Most games are static. Abilities, weapons, enemies, and balance decisions are usually written long before a player ever touches the game. We wanted to challenge that assumption directly.
Chaos Roll explores what happens when a game does not simply use AI for dialogue, flavor text, or images, but instead lets AI generate functional game content during play. Our central question was: what would a game look like if its abilities, and even its enemies, did not exist until the moment the player needed them?
Our answer is a wave-survival brawler where the Google Gemini API generates new playable abilities and new zombie waves live during the match, including mechanics, stats, categories, and structured pixel-art data, while the game engine validates and clamps every output before it can affect gameplay.
What it does
Chaos Roll is a wave-survival brawler where the player fights through escalating zombie waves while receiving new AI-generated ability options every fifteen seconds. Each roll gives the player two new abilities generated by Gemini, with structured fields such as damage, cooldown, range, targeting behaviour, category, effect type, and pixel-art data.
The player chooses one option, and the chosen ability replaces the oldest ability in their loadout. This creates a constantly shifting combat loop where the player has to adapt to weapons that were generated only seconds earlier.
Gemini also designs the enemy waves themselves, determining wave composition, the types and number of zombies, their combat statistics, their appearance, and any special abilities they receive. Rather than picking complete enemies from a fixed list, Gemini assembles each zombie from supported visual parts, behaviours, and mechanics, so waves feel distinct from match to match.
The game also includes a parallel AI rival lane that runs on the same match clock. The rival lane uses the same generation pipeline for its own loadout and enemies, so the player is not just watching pre-scripted content, and it can receive a small stat multiplier to keep the race competitive against its simpler control logic.
How we built it
The core of Chaos Roll is a structured generation and validation pipeline. Gemini does not return loose text; it returns structured JSON definitions for abilities and zombies, which our code checks against an expected schema before accepting them. Every generated stat is then clamped to a wave-scaled power curve because we did not want to trust raw model output directly inside a live game system. When a generated candidate fails validation, Gemini receives the failure information and revises the result before the engine will accept it.
This allowed us to use Gemini as a gameplay generator rather than just a content generator. It creates ability mechanics, enemy design, and visual identity, while our engine decides what is safe, balanced, and executable. Predefined TypeScript systems then handle the actual rendering of projectiles, lightning strikes, poison clouds, explosions, shields, healing pulses, and movement trails.
We built the game with React and TypeScript, using a shared match clock to synchronise both lanes through combat, pause, pick, and resume phases. Each lane still owns its own ability generation, loadout, enemies, and combat state, allowing the human and rival sides to behave independently while remaining synchronised for presentation.
We originally considered real-time networked PvP but cut it after recognising that networking would consume a large portion of the hackathon without strengthening the main technical idea. Instead, we focused on a local, judgeable demo where Gemini's role in generating playable mechanics and enemies is immediately visible.
Challenges we ran into
The biggest challenge was reliability. Generating interesting abilities and zombies was not enough. The model output had to be structured, valid, bounded, and safe to execute inside the game without human review.
We also ran into Gemini API rate-limit friction during development, which forced us to think carefully about caching, fallbacks, and request sequencing. Since a live demo cannot depend on every API call returning instantly, we designed the game to pause safely while generation completes and to degrade gracefully when needed.
The other major challenge was scope. Our original concept was significantly larger, with networked multiplayer and more complex enemy behaviour. Under a one-day hackathon deadline, that would have been a trap. We cut networking and concentrated on the core innovation: live AI-generated abilities and enemies that become real gameplay objects.
Accomplishments that we're proud of
We are proud that Chaos Roll uses Gemini to generate far more than names or descriptions. Every ability and every zombie is produced as structured data that can be validated, clamped, displayed, equipped or spawned, and executed by the game.
We are also proud of the safety layer around the generation system. The game enforces category variety, clamps all numeric values, rejects malformed responses, revises failed candidates instead of discarding them, and keeps the match synchronised even when generation takes longer than expected. This makes the AI feel like part of the game engine rather than a decorative add-on.
What we learned
We learned that the hardest part of generative gameplay is not getting a model to create something interesting. The difficult part is ensuring that the generated output is reliable enough to execute.
A game cannot blindly trust AI-generated values. It needs schemas, fallbacks, clamps, revision loops, and clear boundaries between what the model invents and what the engine allows. That same pattern applies well beyond games to any system where AI output becomes functional rather than merely descriptive.
What's next for Chaos Roll
Next, we plan to expand Chaos Roll into a deeper competitive experience. That includes local human-versus-human play, more advanced rival behaviour, a broader vocabulary of Gemini-generated enemy types, and AI-generated animation sequences for casts, hits, and visual effects.
The long-term vision is a game where abilities, enemies, waves, and visual effects are all generated live, while the engine remains responsible for validation, balance, and safety.
Log in or sign up for Devpost to join the conversation.