Inspired by Battle Chess for DOS 1988 - Using Gemini3, Nano Banana3, and Veo3 to reimagine Battle Chess
BattleChess9000 ⚔️♟️
Inspired by the 1988 DOS classic "Battle Chess" — Reimagined with Generative AI.
I think it's important to appreciate the original and recognize how far we've come since then:
BattleChess9000 uses the power of Google's Gemini 3 (Nano Banana) and Veo 3 models to dynamically generate every asset in the game. From the marble-and-obsidian board to the cinematic kill animations where pieces violently shatter each other, everything is created by AI.
🚀 Features
Generative Assets: 100% AI-generated sprites and textures using Imagen 3 (Nano Banana).
Generative Animations: Over 30+ unique "kill" videos generated by Veo 3, triggered when pieces capture each other.
Theme Engine: Supports multiple visual themes (Medieval, Sci-Fi, abstract).
Resume-Safe Asset Pipeline: Smart Python script that handles API quotas gracefully, allowing you to generate assets over multiple days.
Web-Based Game: Built with Three.js, Tween.js, and Chess.js for a smooth 3D browser experience.
🎮 How to Play
If the assets have already been generated (e.g., the medieval_classic theme), you can start playing immediately.
Clone the repository:
git clone https://github.com/yourusername/BattleChess9000.git cd BattleChess9000
Start a local server:
This is required because browsers block loading local textures/videos for security reasons.
python3 -m http.server
Play:
Open your browser to: http://localhost:8000/index.html
Select "medieval_classic" from the dropdown menu.
Choose your color (White/Black) and start the battle!
🛠️ Installation & Setup (For Developers)
To generate your own themes or modify the game, you need to set up the Python environment.
Create a Virtual Environment (Recommended):
python3 -m venv venv source venv/bin/activate # On Windows use: venv\Scripts\activate
Install Dependencies:
pip install -r requirements.txt
Set your API Key:
You need a Google GenAI API key with access to Gemini and Veo.
Linux/Mac: export GEMINI_API_KEY="your_key_here"
Windows: $env:GEMINI_API_KEY="your_key_here"
🎨 Generating Your Own Themes
The heart of BattleChess9000 is the asset_generator.py. This script creates the board texture, the piece sprites, and the video animations.
Time: 2+ hours depending on queue times.
Quotas: You will likely hit the daily/hourly API rate limits.
Resume Feature: Do not panic if it crashes. The script is "Quota Aware." If you hit a limit or crash, simply wait (e.g., until the next day) and run the script again with the exact same theme name. It will pick up exactly where it left off.
How to Run:
python3 asset_generator.py
Prompt Guide (The "Medieval Classic" Recipe)
When the script asks for inputs, here are the prompts used to create the default Medieval theme. Use these as a template for your own creations!
- Theme Title:
medieval_classic
- Board Style:
Medeival 1600s castles with white marble and black obsidian as classical a chessboard you can make with these matierals at the time. Do NOT display pieces just the board and its polished matierals of marble and black obsidian.
- Piece Style:
"These are chess pieces in a set. Do not deviate from classic chess pieces but be creative. The Pawns should be peasants or orcs not just chess pawns. As with the rest of the pieces. 1600s medieval European style with White as holy good and Black as gothic evil, showing a noble crowned king, regal robed queen, Catholic bishops with mitres, armored knights on warhorses, fortified stone castle rooks, and simple foot-soldier pawns for White, versus a dark overlord king with spiked crown, sinister robed queen, corrupted plague-priest bishops, skeletal or demonic knights on shadow steeds, dragon-tower rooks with infernal accents, and ragged disposable pawns for Black, all rendered individually in hand-painted medieval illustration style with clear chess silhouettes, high detail, dramatic shading, parchment background, 1:1 aspect ratio, and consistent lighting. IMPORTANT use highly detailed white marble with gold accents for white pieces and black obsidian with dark silver accents for black pieces. They should be highly detailed and look like they were carved from those materials and polished to a high shine. DO NOT MAKE CARTOONS"
- Animation Style:
"Create ultra-violent Excalibur-1980-style medieval fantasy battle animations showing chess pieces as armored warriors made of metal, bone, and enchanted stone brutally hacking, cleaving, crushing, and shattering each other during captures—for example pawns hacking down pawns, knights impaling pawns, rooks smashing queens, bishops cleaving rooks—rendered with hyper-stylized metallic blood-spray, glowing runic energy bursts, slow-motion sword impacts, shattered armor fragments, fog-soaked battle lighting, heavy chromatic bloom, mythic brutality, and the dark, operatic, blood-drenched tone of John Boorman’s Excalibur. IMPORTANT ALWAYS source the characters from the images do not change their appearance or style. These are medieval fantasy chess pieces NOT generic fantasy characters. DO NOT make cartoons or low detail images. Use highly detailed realistic textures and lighting. DO NOT use modern weapons or technology. ONLY the weapons the piece is holding."
-
Theme Title: aliens_vs_robots
-
Board Style:"A futuristic sci-fi checkerboard. The dark squares are deep space windows showing a hyper-realistic universe with distant stars, purple nebulae, and cosmic void. The light squares are industrial robot-factory floors made of brushed chrome, exposed circuitry, and glowing blue data lines. High contrast between the organic cosmic void and the structured mechanical metal. Top-down orthographic view, seamless texture, 8k resolution, photorealistic."
-
Piece Style: "1950s Sci-Fi B-Movie Aesthetic. IF WHITE (The Robots): Retro-futuristic 'Forbidden Planet' style robots made of polished chrome, glass domes, and blinking lights. White Pawn: A clunky, boxy frontline 'tin man' robot. White Rook: A retro-silver rocket transport ship upright. White Knight: A robot lancer riding a mechanical quadruped steed. White Bishop: A robotic high-priest with a tesla-coil staff. White Queen: A sleek, feminine chrome android 'Maria from Metropolis' style. White King: A massive Supreme Leader robot with a radar-dish crown. IF BLACK (The Aliens): Gruesome 'Mars Attacks' style invaders with exposed brains and green skin. Black Pawn: A bug-eyed minion alien with a ray gun. Black Rook: A metallic flying saucer UFO hovering on landing gear. Black Knight: An alien warrior riding a terrifying organic spider-crab beast with a lance. Black Bishop: An Alien High Priest in strange robes holding a mystic artifact. Black Queen: A terrifying, slender Alien Matriarch. Black King: The Supreme Leader Alien with a cape and pulsating brain. RENDER STYLE: Studio model photography, high detail, sharp focus, contrasting materials (Chrome vs Slime)."
-
Animation Style: "1950s Sci-Fi Movie Special Effects style. White (Robots) vs Black (Aliens). Violent, campy, colorful, and destructive, like a high-budget B-movie finale. Standard Kills: Robots use lasers, mechanical crushing, or rocket exhaust. Aliens use green slime rays, brain blasts, or summoning tentacles. Rooks use death rays (UFO/Rocket). Knights trample enemies. ROYALTY LOGIC (Make these EPIC): 1. If King or Queen is ATTACKING: They use 'Ultimate Attacks'. The Robot King unleashes a massive chest-mounted disintegration beam or calls down an orbital laser strike. The Robot Queen uses high-speed plasma blades to slice the enemy into scrap. The Alien King uses telekinetic brain-waves to explode the enemy from the inside. The Alien Queen uses a sonic scream or tail-impale to obliterate the target. 2. If King or Queen is DYING: It must be a dramatic, slow-motion defeat. Robots spark violently, leak oil, short-circuit, and topple over like a fallen statue. Aliens screech in horror, dissolve into a puddle of bubbling green goo, or explode into visceral slime. Theme: High contrast, neon lasers, fog, and retro-futuristic destruction."
🌌 Theme Ideas
Want to contribute? Try generating one of these and submitting a Pull Request!
Sci-Fi: "Neon grid board", "Holographic mechs vs Cybernetic aliens", "Laser blasts and digital glitch destruction."
Eldritch: "Non-Euclidean stone board", "Cultists vs Deep Ones", "Tentacles and madness effects."
Abstract: " Bauhaus geometric board", "Glass shapes vs Matte rubber shapes", "Physics shattering and fluid simulation."
🤝 Contributing
Add your theme!
Fork the repo.
Run the generator to build your assets/your_theme folder.
Verify the assets/themes.json updated correctly.
Submit a Pull Request so others can enjoy your battle creations.
Let's make this awesome together!
If you run out of tokens or hit quota limits while generating assets, don't worry! You can simply rerun the asset_generator.py script with the same theme name, and it will resume from where it left off.
If you are unhappy with any of the generated assets, you can delete the specific files from the assets/your_theme/ folder and rerun the script. It will regenerate only the missing assets without affecting the others.
git is your friend you can use it to track changes in your assets folder. This way, you can easily revert to previous versions of your generated assets if needed.
