Skip to content

cleder/brkrs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

brkrs โ€” a fun brick-breaker game & learning playground

Crates.io Docs.rs License Rust Documentation Status

CI-main CI-develop

๐Ÿ”— Quick links

The documentation is available at brkrs.readthedocs.io:

  • ๐ŸŽฎ Play the web version โ€” Try it now! ๐Ÿ‘พ
  • ๐Ÿ“– Quickstart Guide โ€” Get running in 10 minutes ๐Ÿ
  • ๐Ÿ› ๏ธ Developer Guide โ€” Contribute to the project ๐Ÿค—
  • ๐Ÿ“‘ API Reference โ€” Rust API documentation โš™๏ธ
  • ๐Ÿ”ฎ GitHub โ€” ๐Ÿง™๐Ÿปโ€โ™€๏ธ Here is where the magic happens ๐Ÿช„

๐Ÿ”Ž 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!


โš–๏ธ License

The GNU Affero General Public License is a free, copyleft license for software and other kinds of works, specifically designed to ensure cooperation with the community. It ensures that any code snippet developed by the open-source community stays available and prevents others from repackaging and selling open-source software without giving back.

This guarantees your freedom to share and change all versions of this program and makes sure it remains free software for all its users.

AGPLv3

About

๐ŸŽฎ๏ธ An Arkanoid/Breakout ๐Ÿงฑ๏ธ ๐Ÿ๏ธ style game made with bevy

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 12