Join our Discord βΊβΊ
Steam
Β·
Kanban Board
Bomberrage is an open-source Unreal Engine 5 game available on Steam for Windows, macOS and Linux.
Forget hidden exits and classic rules - Bomberrage is a fast, competitive game where you beat tough AI or friends in explosive multiplayer battles!
- π£ About the Bomber Project
- π Getting Started
- πΎ Play the Build
- π» Unreal Project Requirements
- π Key Features
- π Kanban Board
- π Changelog
- π§βπ€βπ§ Credits
- π« Feedback & Contribution
- π License
This project contains submodules and requires --recurse-submodules
when cloning:
git clone --recurse-submodules https://github.com/JanSeliv/Bomber.git
If already cloned without submodules, you'll find empty folders in Bomber\Plugins
and error on project startup. To download submodules separately, run:
git submodule update --init --recursive
- Download the latest build on Steam via Download Bomberrage Demo:
- Mirror link: GitHub Releases
- Unreal Engine 5.5
- Project Size: ~30GB (build ~3GB)
The project has been tested and launching the editor on the following platforms:
- Windows 10 22H2
- macOS Sonoma 14.4 (Apple M2 hardware)
- Ubuntu 22.04 LTS
- Android 14 (experimental with some issues)
This project could be useful for learners, demonstrating next features:
- Steam multiplayer support for 4 players (via Steam Friends)
- Modern networking: the Push Model and Iris replication
- Procedurally generated playfield
- Challenging AI
- Enhanced Input
- Mods and Modular Game Features
- Complex cinematics (Level Sequences)
- World Partition
- Model-View-ViewModel (MVVM) UI Pattern
- Data-Driven Design (Data Assets, Data Tables, Data Registries, see below)
Despite this project is fully written in C++, it's extremely blueprint-friendly:
- Data-Driven Design: No hardcoded values. All data can be tweaked via Data Assets in editor as well as accessed in blueprints [doc].
- Fully Exposed: Every class, property, and function is exposed to Blueprints allowing for heavy changes the logic with no code.
- Well-Commented: Every class, property and function is well-commented for easy understanding.
- Utility Libraries: Core static functions are accessible globally like Cell Utils [doc]. See more in the
Source\UtilityLibraries
folder.
Next plugins were developed for this project, but could be useful for other developers:
- βοΈ Settings Widget Constructor
- π Pool Manager
- π Morphs Player
- Ζ Function Picker
- >_ Meta Cheat Manager
- βοΈ Level Sequencer Audio Trimmer
Stay updated with the current progress and plans on the Trello board.
- Updated to Unreal Engine 5.5.
- Uploaded the game to the Steam for public testing: store page.
- Added Steam multiplayer support, so players can invite and join each other via Steam Friends.
- Added Android support (experimental, with some issues).
- Improved performance with up to 300% gain β results.
- Improved networking efficiency by up to 642% with Push Model and Iris replication β results.
- Finished 4 skins for each character by Kateryna Shchetinina, with skins unlock mechanic by Valeriy Rotermel:
- Added
Play Area Surrounder
mod on medium difficulty surrounding the play area with walls over time by Anton Selivanov
- Added
Bomb Storm
mod on hard difficulty massively spawning bombs:
- New Bastet bomb by Maksim Shashkov:
- Progression System has been updated with new star mesh by Kateryna Shchetinina and implementation by Valeriy Rotermel:
- Implemented the Loading Screen on launching the game and joining a multiplayer session:
- Added the Language setting and fully localized the game in 30 languages, including Arabic, Chinese, Korean, and Thai:
- Implemented
Honor Loss
game result rewarding players who perform well despite losing by design from Yevhenii Oksenchuk. - Implemented unique starting attributes for each character (e.g., Bastet starts with 2 speed, Roger with 2 bombs, etc.)
- Improved nicknames display in the Main Menu and in-game UI.
- Updated to Unreal Engine 5.4.
- Added Linux support (tested on Ubuntu 22.04 LTS)
- Introduced In-Game User Interface with completely new look, utilizing the Model-View-ViewModel (MVVM) pattern:
- Added cinematic for the Roger character on the Maya level by Kateryna Shchetinina:
- Added cinematic for the Bastet character on the Maya level by Kateryna Shchetinina:
- Implemented Switch Camera Transitions between characters in Main Menu:
- Unique Bomb VFX for each character:
- Implemented Progression System by Valeriy Rotermel that unlocks new playable characters as you progress in the game:
- New Box and Wall meshes for the Maya level by Maksim Shashkov:
- Implemented Credits screen by Yevhenii Oksenchuk:
- New Splash by Maksim Shashkov:
- Converted the Maya level to the World Partition to benefit from automatic streaming and External Data Layers.
- Updated to Unreal Engine 5.3.
- New Main Menu with completely different UI and complex cinematics for Hugo and Fori characters on starting the game:
- New Bomb meshes for each character (shown from left to right: Bastet, Hugo, Fori, Roger) by Maksim Shashkov:
- Updated to Unreal Engine 5.2.
- Added MacOS support.
- Added Ultra-wide resolutions support.
- Extracted logic into plugins, so other developers can benefit from it in their projects
- Added Foot Trails for the Maya level by Anton Selivanov:
- New power-ups meshes for the Maya level (shown from left to right: move speed, bomb length, bomb quantity) by Maksim Shashkov:
- Added new cheats such as:
Bomber.Level.SetSize 9x7
(find more on the Bomber cheats page) - Updated Main-Menu background music.
- Added initial multiplayer support for 4 players (without Steam now, use 'Open' command to connect to each other).
- Created the Pool Manager for the generated level to avoid spawning and destroying actors on each level reconstruction.
- Added new SteelMan character for AI players with 3 different skins by Kateryna Shchetinina:
- The game migrated to the Unreal Engine 5.
- Added sounds (background music, UI, in-game sounds) and sliders to tweak volumes in Settings Audio tab 8000 (Master, Music and SFX).
- Added Controls tab in Settings to allow player remap input keys.
- Added the Maya level by Maksim Shashkov:
- Implemented
Settings
screen:
- Updated to Unreal Engine 4.26.
- Added the Bastet (Sphynx cat) and Roger (Pirate) characters by Kateryna Shchetinina:
- Fori and Hugo characters got additional second skins by Kateryna Shchetinina:
- Updated to Unreal Engine 4.25.
- Added the Hugo and Fori characters by Kateryna Shchetinina:
- Uploaded first game-ready build on Unreal Engine 4.23: download from GDrive
- The level camera that moves and zooms lens depending on the distance between players:
- First UI displaying the items (at the left side of the playerβs avatar), the timer (that is placed under) and the number of alive players (at the right side):
- Symmetrical Procedural generation for each new game:
- Dynamic scaling in the editor:
- Dynamic placement of the actors on the level:
- Free location and rotation of the level map in the editor:
- Smart AI surviving through any explosions:
- Yevhenii Selivanov - Programming - GitHub, Telegram
- Maksim Shashkov - Level Design & Level Art - Artstation
- Kateryna Shchetinina - Characters & Animations - Artstation
- Yevhenii Oksenchuk - Game Design (Audio, UI, and Cinematics) - Telegram
- Valeriy Rotermel - Progression System - GitHub
- Anton Selivanov - Foot Trails | Play Area Surrounder - GitHub
Special thanks to the following companies for providing their licenses to support our open source development:
- JetBrains Rider - cross-platform .NET IDE.
- PVS-Studio - static analyzer for C, C++, C#, and Java code.
Feedback and contributions from the community are highly appreciated!
- Tasks: Check our Google Sheets Tasks List and Bugs Backlog on Trello. Unassigned tasks and bugs are open for contribution.
- Report & Suggest: Found a bug or have a feature idea? Open an issue.
- Fork & Pull: Fork the project, make your changes, and submit a pull request to the
develop
branch. - Standards: Adhere to the Unreal Engine Coding Standards and Naming Standards when contributing.
- Blueprints & Assets: If contributing blueprint logic or assets, attach screenshots to show what has changed.
This project is licensed under the terms of the MIT license. See LICENSE for more details.
We hope you find this project useful and we look forward to your feedback and contributions.