crusader2k / Bomber

Open-source Bomberman game made in Unreal Engine 5

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

About the Bomber Project

I would like to introduce my indie-game "Bomber". This game is lasting in fast speed rhythm. The mechanic of it is quite easy but anyway, the game is worth to try. The last alive character is the winner. The gameplay includes strategically placing down bombs to explode enemies and obstacles, power-ups gathering that help player to set multiple bombs at a time, or explode bombs larger or become faster with speed item. The player dies if get caught up by enemies' bombs' explosion including their own. The procedural generation of a level map with a given size makes the game a little more diverse. Player competes with bots that will do everything but not let them win. The first rule is just to be the best bomber and do not let bots to bomb player!

To download and play the game go to the GitHub Releases or GDrive

Content Team

Levels created by Maksim Shashkov: artstation.com/maksimshashkov

Characters created by Kateryna Selivanova: artstation.com/kateseliv

Changelog

31.12.2021:

  • 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 (Master, Music and SFX).
  • Added Controls tab in Settings to allow player remap input keys.

Settings_31-12-21


03.06.2021:

  • Completely updated the Maya level.
  • Added the Water level of the Pirate character.
  • Added settings.


31.01.2021:

  • Added the Maya (Sphynx cat) character with two skins.
  • Added the Pirate character with one skin.
  • Fori and Hugo characters got additional second skins.


  • 31.10.2020: Added the third Level Map.


25.10.2020:, developed the new UI prototype.

  • Added the second City Map.
  • Added the Hugo character.
  • Added the Fori character.


  • 15.10.2019: Uploaded the game-ready build.

Features

The level camera that moves and zooms lens depending on the distance between players:

GIF1

Level actors

  • Items that affect the abilities of a player during gameplay:

Skate: Increase the movement speed of the character.

Bomb: Increase the number of bombs that can be set at one time.

Fire: Increase the bomb blast radius.

  • Bombs: are left by the character to destroy the level actors. Triggers other bombs and prevents players from moving through the bomb after it has been left behind.
  • Walls: are not destroyed by a bomb explosion and stop the explosion.
  • Boxes on destruction with some chances spawn an item.
  • Players and AI - characters whose goal is to remain the last survivor for the win.

Game interface

The number of items that are shown at the left side of the player’s avatar, the timer that is placed under and at the right side is shown the number of alive players:

GIF2

The game menu is shown the result of the games match (win, lose, draw). If the match has not yet finished, it could be minimized or opened out by ESC button in order to continue watching the game or restart the play, or to return to the main menu:

  • Shows the win notification when there is one character left:

GIF3

  • Shows the draw when the last players are killed at the same time or at the end of game timer:

GIF4

  • Shows the lose when the player was killed:

GIF5

Procedural generation

  • Symmetrical regeneration for each new game:

GIF6

  • Scaling sides sizes in the editor or sizes selection in the start menu:

GIF7

Cells Data Structure

  • Actors snapping to the center of the cell:

GIF8

  • Searching of the nearest cell to an actor:

GIF9

The Map Component

These components manage their owners and update this level actors in case of any changes on the map that allow to:

  • Prepare in advance the level actors in the editor time:

(Dragged from the Content Browser the wall, the character, the item, the box, and the bomb, that correctly exploded due to Maps Components)

GIF10

  • Free location and rotation of the level map in the editor time:

GIF11

Artificial Intelligence

Bots behave like players with no use of the Unreal NavMesh:

  • They can find items even around the corners and are able to manage their priorities correctly:

(There are three items: A - the nearest under the bomb explosion, B - the item that is placed around the corner near the enemy character. C - the farthest safe item. The bot does not risk and chooses to move to the C)

GIF12

  • Emergency Priority Change:

(The bot runs for the item, the player otherwise set the bomb. Meanwhile, the bot changes direction and runs off the bomb)

GIF13

  • The bots even survive through in the midst of explosions:

GIF14

  • The editor preview visualization for selected bot automatically updates upon any changes on the map including addition from the Content Browser or drag-and-drop.

Where is :

Green +: a safe crossway.

Red +: crossway which has at least one enemy character.

Yellow F: filtered cells for moving.

Grey Х: the selected cell on which the bot moves to.

GIF15

About

Open-source Bomberman game made in Unreal Engine 5

License:MIT License


Languages

Language:C++ 98.0%Language:C 1.5%Language:C# 0.5%