A 4-player arcade Bomberman built in Rust with the Bevy 0.17 game engine. Play against AI bots or a friend on a randomized destructible arena. All graphics are code-generated and all sound is synthesized at runtime — there are no asset files.
Grab the latest standalone build — no install, no extra files, just double-click:
▶ Download bomberman-windows-x64.exe
Or browse all builds on the releases page. Prefer to build it yourself? See Build & Run below.
- Game modes
- Solo — you vs 3 AI bots
- Duo — 2 humans vs 2 AI bots
- Local 2-Player — two humans, no AI
- Smart AI — bots forecast bomb blasts (danger map), pathfind with BFS, hunt the nearest enemy, dig through crates to reach you, and only bomb when they have a verified escape (so they don't blow themselves up).
- Powerups dropped by destroyed crates:
- 💣 Bomb — carry one more bomb at a time
- 🔥 Fire — bigger blast radius
- ⚡ Speed — move faster
- Bomb-kick — run into a bomb to send it sliding; it explodes on impact with a wall, crate, or player.
- Procedural graphics (checkerboard floor, beveled walls/crates, round players, pulsing bombs, fading explosions) and synthesized chiptune audio + sound effects.
| Action | Player 1 | Player 2 |
|---|---|---|
| Move | W A S D |
Arrow keys |
| Drop bomb | Space |
Enter |
Menu: press 1, 2, or 3 to pick a mode and start.
Game over: press Enter to return to the menu.
Kicking: walk into one of your own bombs to push it; it slides until it hits something and detonates on contact.
You need the Rust toolchain (stable, edition 2024).
git clone https://github.com/CaptainCo0L/bomberman.git
cd bomberman
cargo runThe first build compiles Bevy and may take a few minutes; subsequent runs are fast. For a fully optimized build:
cargo run --releaseThe pure grid logic (blast propagation, collision, coordinate math) is unit-tested:
cargo test| File | Responsibility |
|---|---|
src/main.rs |
App setup, state machine, system scheduling |
src/grid.rs |
Grid math + blast computation (unit-tested, no Bevy systems) |
src/setup.rs |
Board generation and per-match spawning |
src/player.rs |
Input → intent, movement, bomb placement, kicking |
src/bomb.rs |
Fuses, detonation, sliding bombs, powerup drops/pickup |
src/ai.rs |
Danger map, pathfinding, and the bot decision brain |
src/gfx.rs |
Shared meshes/materials and entity animations |
src/audio.rs |
In-memory WAV synthesis (SFX + music) |
src/ui.rs |
Menu and game-over screens |
src/components.rs, src/resources.rs |
ECS components and resources |