Tired of tutorial code that stops working the moment the lesson ends? Meet brkrs—a fully playable, Arkanoid/Breakout-style game written in Rust 🦀 and built with the Bevy engine.
But this isn't just a game. It's an open-source learning playground dedicated to spec-first development and AI-assisted coding experiments.
Check out the full repository here: github.com/cleder/brkrs
As Linus Torvalds famously said: “Talk is cheap. Show me the code.” We say: "Show me the game, the spec, and the code all at once!"
💡 The Philosophy: Spec-First, Incremental, and AI-Ready
Game development, especially in a framework like Bevy, can be a steep climb. The brkrs project was born from the desire to take an old idea (an Arkanoid clone) and build it the modern way—a way that accelerates learning and embraces new tooling.
We follow a simple, yet powerful, development loop:
- Spec-First: Every single feature, no matter how small, begins as a clear specification using GitHub's speckit.
- Incremental PRs: The spec flows through a small, focused issue or Pull Request. This embodies the "Kaizen no michi" (改善の道) philosophy of small, positive, daily changes.
- Code & Play: The result is working Rust code you can immediately see in the game.
This structured approach makes brkrs the perfect sandbox for the AI coding community:
- Agentic Testing: Need a small, contained task for your coding agent? Point it at a spec and a pending issue.
- AI-Assisted Feature Dev: Want to see how your favorite LLM handles adding a new brick behavior or adjusting physics? The clear specs provide the perfect prompt.
- Workflow Learning: Every merged PR is a clean, documented example of how a real-world feature is implemented in Rust/Bevy.
What is Spec-Driven Development?
The core of our workflow is the use of GitHub's spec-kit. This is a framework for spec-driven development (SDD), an approach where detailed, human-readable specifications are written before any code. SDD serves as the single source of truth for the desired behavior of a feature. By providing clear inputs, outputs, and requirements upfront, it minimizes guesswork, aligns team expectations, and provides a perfect, structured input for any AI coding assistant or agent.
🕹️ Try It Now: Playable & Pluggable
You don't need to compile anything to get started!
Play the live web version right now!
The core experience extends the classic Breakout formula with:
- Richer Physics (via Rapier3D) constrained to a flat 2D plane.
- Paddle Rotation and customizable per-level settings.
- Human-readable Levels that are easy to modify and extend using RON files.
🛠️ Quickstart: Play, Tweak, and Learn
Ready to dive into the code? You'll need Rust, Cargo, and Git.
git clone https://github.com/cleder/brkrs.git
cd brkrs
cargo run --release
Controls: Move the paddle with the mouse, use the scroll wheel to rotate, and ESC to pause.
Now, the fun begins. Want to change the gravity for Level 3? Want to create a new HyperBrick component? The entire architecture—from the Level Loader to the Brick System—is designed for easy modification.
Challenge: Following the Samurai principle of "Seika no Ho" (清華の法), "the way of clear planning," pick a small feature, write a mini-spec, and implement it.
🤝 Your Learning Path and Contribution
The goal is to make learning modern Rust/Bevy development as enjoyable as playing the game.
Here’s how you can engage:
- Read a Spec: Check out the repo or wiki for a feature you'd like to see.
- Pick an Issue: Find a small, contained task that aligns with a spec.
- Experiment with AI: Use your favourite AI tool (e.g., GitHub Copilot, a local agent) to help draft the code for the task.
- Submit a PR: Show the community how you turned a spec into working Rust code!
brkrs is more than just a Breakout clone—it’s a living textbook for best practices in modern, spec-driven, and AI-augmented software development.
🔗 Documentation
All the details you need to get started are right here:
- Full Documentation
- Quickstart Guide — Get up and running in 10 minutes.
Top comments (0)