Experimental Bevy-based retro-RPG design sandbox. game-generator currently combines three useful pieces:
- a vintage-game browsing and blending data set
- an AI-driven game-design conversation API
- a desktop wizard prototype for guided and freeform exploration
It is not yet a production-stable end-to-end game generator. The repository is split out so it can evolve on its own cadence without blocking the stable TypeScript and Python packages.
cargo testpasses- the wizard compiles and runs
- guided blending is the most complete path
- freeform generation and media/build output are still experimental
cargo run --bin game-generatorUseful flags:
# Browse existing projects
cargo run --bin game-generator -- --list
# Use a custom project base directory
cargo run --bin game-generator -- --base-dir ~/.config/game_generator
# Open a specific project directory
cargo run --bin game-generator -- --project-dir ./my-gameuse game_generator::GameGenerator;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let generator = GameGenerator::new().await?;
let (_conversation_id, response) = generator
.start_game_design_conversation("Design a 16-bit fantasy RPG with tactical combat")
.await?;
println!("{response}");
Ok(())
}| Module | Description |
|---|---|
wizard |
Bevy + egui desktop UI with guided and freeform modes |
vintage_games |
Era/platform/genre database with game metadata |
blending |
Graph-based mechanic blending with similarity scoring |
ai_client |
OpenAI-compatible client for text, image, audio, and embeddings |
metaprompts |
Prompt and conversation pipeline for game design |
build_tools |
Scaffolding and generation helpers |
combat |
Combat, effects, and progression primitives |
OPENAI_API_KEY=your_api_keyAI features require a compatible provider key. The Bevy UI also needs a GPU-capable desktop environment.
cargo check
cargo test
cargo clippy --all-targets -- -D warnings
cargo fmtDual licensed under MIT or Apache-2.0.