Game development with SpecKit, Rust and Bevy

Published: (December 2, 2025 at 05:00 PM EST)
3 min read
Source: Dev.to

Source: Dev.to

Overview

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.

“Talk is cheap. Show me the code.” – Linus Torvalds

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

Play the web version on GitHub Pages.

Key Features

  • 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

  • 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 SystemESC 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.

Back to Blog

Related posts

Read more »