brkrs Documentationยถ

Welcome to the brkrs documentationยถ

๐Ÿ”Ž Overviewยถ

brkrs is a Breakout/Arkanoid-style game written in Rust ๐Ÿฆ€ using the Bevy engine. It extends the classic formula with richer physics, gravity, paddle rotation, and per-level configuration. Instead of bouncing the ball upward from a paddle that only moves sideways at the bottom of the screen, like a traditional Breakout clone, brkrs lets you:

  • ๐Ÿงฑ Classic Breakout-style gameplay: paddle, ball, bricks, and levels

  • ๐Ÿ–ฑ๏ธ Controls: Move your paddle with the mouse freely anywhere on the screen (not just along the bottom), scroll wheel to rotate. Intercept the ball from any direction; above, below, or from the side

  • ๐Ÿ‘€ Play through 70+ levels with varied layouts and challenges. Levels are human-readable and easy to modify

  • ๐Ÿ•ต Encounter many different brick types with special behaviors (things like gravity effects, magnets, teleporters, explosive bricks, and more), which make the puzzles more complex than simple ball-bouncing.

  • ๐Ÿ“ฆ Crate-ready and cross-platform (desktop + WebAssembly builds)

Gameplay Screenshot

Itโ€™s also a hands-on learning project, letting you explore:

  • ๐Ÿ“ Spec-first development with GitHub speckit

  • ๐Ÿค– AI-assisted and agentic coding experiments

  • ๐Ÿฅณ A fun, approachable way to learn Rust, Bevy, and modern coding practices

Every feature starts as a spec, flows through an issue (recommended) or directly via PR (if you are bold), 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. Play, tweak, and learn โ€” modify levels, bricks, or mechanics to see specs turn into features.

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.

๐ŸŽ“ 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

Follow โ€œSeika no Hoโ€ (ๆธ…่ฏใฎๆณ•), โ€œthe way of clear planningโ€, a Samurai principle for strategic planning that aligns actions with values.


๐Ÿคฉ 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


๐Ÿ“œ 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, walls).

It quickly became clear that doing everything manually would involve a steep learning curve and a lot of time.

brkrs was born as 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.

The development process follows the โ€œKaizen no michiโ€ (ๆ”นๅ–„ใฎ้“) philosophy of making small, incremental changes to achieve long-term growth and success.


โš™๏ธ 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).


๐Ÿ“ฃ Help Wanted: Your Skills Can Level Up brkrsยถ

While the code is coming along nicely, a great game needs more than just logic! We are actively looking for creative community members to join ๐Ÿค— and help turn brkrs into a visually ๐Ÿ‘๏ธ and aurally ๐ŸŽง stunning experience.

This is your chance to get your work into a real, playable, open-source ๐Ÿƒ game!

  • ๐ŸŽง Sound & Music: We need satisfying sound effects (the thwack of a brick, the clink of a power-up) and engaging background music.

  • ๐ŸŽจ Art & Textures: Help us create unique brick textures, stylish paddle designs, backgrounds, and other necessary artwork.

  • ๐Ÿ“ Level Design: Got an evil streak? Use the easy-to-modify level configuration files (RON) to create new, challenging, and fun level designs!

  • ๐Ÿค” Testing & Feedback: Simply playing the game and reporting bugs or suggesting balance tweaks is incredibly valuable!

If youโ€™re a designer ๐Ÿ›, artist ๐Ÿ–Œ, musician ๐„ž, or a gamer ๐Ÿ•น๏ธ with an eye ๐Ÿง for detail, reach out or submit a Pull Request with your contributions!

Getting Startedยถ

Developer Resourcesยถ

API Referenceยถ

Indices and tablesยถ