DEV Community

Christian Ledermann
Christian Ledermann

Posted on

Game development with SpecKit, Rust and Bevy

brkrs — a fun, playable brick-breaker game & learning playground

brkrs is a real, playable Breakout/Arkanoid-style game written in Rust 🦀 using the Bevy engine.
It’s also a hands-on learning project, letting you explore:

  • Spec-first development with GitHub speckit
  • 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 can play 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 to rewrite my old Arkanoid/Breakout-style game, YaAC 🐧, in a modern game framework.

I began by manually 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 involve a steep learning curve and a lot of time.

brkrs was born as a solution: a way to learn modern Rust game development, apply spec-first workflows, and experiment with AI-assisted coding, all while still having fun playing a real game.


Try it now

You can play a web version on GitHub Pages

Key Features

brkrs is 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)
  • A fun, approachable way to learn Rust, Bevy, and modern coding practices

Quickstart (play & learn)

Prerequisites: Rust + Cargo + Git

git clone https://github.com/cleder/brkrs.git
cd brkrs
cargo run --release
Enter fullscreen mode Exit fullscreen mode

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

  1. Physics (Rapier3D) – 3D physics constrained to a flat play plane.
  2. Game State – (planned) menu, playing, paused, game over, transitions.
  3. Level Loader – RON file parsing, entity spawning, per-level gravity.
  4. Brick System – Extensible brick behaviors via components & events.
  5. Pause System – ESC to pause, click to resume, with window mode switching (native).

Learning Path & Contribution

This project is intended to be fun and educational. Suggested learning steps:

  1. Read a spec in the repo or wiki
  2. Pick a small issue to implement
  3. Submit a PR that fulfills the spec
  4. Experiment with AI-assisted features or gameplay tweaks

Documentation

Full documentation is available at brkrs.readthedocs.io:


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 a hands-on, playful way

Top comments (0)