Christian Ledermann: Game development with SpecKit, Rust and Bevy
brkrs — a fun, playable brick-breaker game & learning playground
brkrsis a real, playable Breakout/Arkanoid-style game written inRust🦀using theBevyengine.
It’s also ahands-on learning project, letting you explore:
- Spec-first developmentwith GitHubspeckit
- Incremental feature development through issues & PRs
- AI-assisted and agentic coding experiments
Every feature starts as a spec, flows through an issue or PR, and ends as working Rust code. You canplay the game, explore the code, and learn modern Rust/Bevy workflows all at the same time.
Linus Torvalds said:“Talk is cheap. Show me the code.”
brkrs lets you play, tinker, and see the specs come alive in a real game.
The Story Behind brkrs
I always wanted torewrite my oldArkanoid/Breakout-style game, YaAC 🐧, in a modern game framework.
I began bymanually implementing the core gameplay foundations: reading documentation, following examples, and building a basic proof-of-concept with the essential mechanics (ball, paddle, bricks).
It quickly became clear that doing everything manually would involvea steep learning curve and a lot of time.
brkrs was born as a solution: a way tolearn modern Rust game development, applyspec-first workflows, and experiment withAI-assisted coding, all while still having fun playing a real game.
Try it now
You can play a web version onGitHub Pages
Key Features
brkrsis a Breakout/Arkanoid style game implemented in Rust with the Bevy engine. It extends the classic formula with richer physics, paddle rotation, and per-level configuration.
- Classic Breakout-style gameplay: paddle, ball, bricks, and levels
- Levels are human-readable and easy to modify
- Spec-first workflow: every feature begins as a spec and ends as working Rust code
- Small, incremental PRs demonstrate the development workflow and learning path
- Crate-ready and cross-platform (desktop + WebAssembly builds)
- Afun, approachable way to learn Rust, Bevy, and modern coding practices
Quickstart (play & learn)
Prerequisites: Rust + Cargo + Git
Controls: move paddle with mouse, scroll wheel to rotate (if enabled), ESC to pause.
Play, tweak, and learn — modify levels, bricks, or mechanics to see specs turn into features.
Core Systems
- Physics (Rapier3D)– 3D physics constrained to a flat play plane.
- Game State– (planned) menu, playing, paused, game over, transitions.
- Level Loader– RON file parsing, entity spawning, per-level gravity.
- Brick System– Extensible brick behaviors via components & events.
- Pause System– ESC to pause, click to resume, with window mode switching (native).
Learning Path & Contribution
This project is intended to befun and educational. Suggested learning steps:
- Read a specin the repo or wiki
- Pick a small issueto implement
- Submit a PRthat fulfills the spec
- Experimentwith AI-assisted features or gameplay tweaks
Documentation
Full documentation is available atbrkrs.readthedocs.io:
- Quickstart Guide— Get running in 10 minutes
- Developer Guide— Set up a development environment
- API Reference— Rust API documentation
Why You’ll Enjoy It
- Play a real game while learning coding practices
- Watch specs transform into working features
- Experiment safely with Rust, Bevy, and AI-assisted workflows
- Learn by doing in ahands-on, playful way
https://dev.to/ldrscke/game-development-with-speckit-rust-and-bevy-86p