Block Breaker 2D Kit for Unreal Engine
Main Menu Game Mode
BP_MainMenuGameMode is the game mode and specifies the BP_MainMenuPlayerController as default controller. It is used as the game mode in the Main Menu map.
Game Instance
BP_BlockBreaker2DGameInstance is the game instance and handles the initial data (e.g. the levels for the level grid), saving and loading of the save game.
Block Breaker 2D Game Mode
BP_BlockBreaker2DGameMode is the game mode and handles the current level, score, and level complete actions. It is used as the game mode in the Game map.
Save Game
BP_BlockBreaker2DSaveGame is the save game and acts as a container for the save data (e.g. score and time per level).
Paddle
BP_Paddle is the player of the game. It handles player input for movement in the horizontal direction. It also handles the Ball Launch Mode: a moving arrow indicating the initial direction of the ball to launch. And it support the firing of lasers if the player has Laser Ammo.
Block
BP_Block is the block object that should be destroyed by the player. The block has multiple properties: health, color ranged based on health percentage, explode options etc.
The blocks can be easy set up using the Block Type Enumeration in combination with the DataTable.
Ball
BP_Ball is the ball object that is used to destroy the blocks. The ball bounces on hit but the angles are clamped to prevent undesired (no fun) angles like horizontal balls.
Laser
BP_Laser is the laser object fired by the player and a secondary way to destroy the blocks
Shield
BP_Shield is the shield object spawned under the paddle. This is used as a safety net for the player, bouncing back a ball after which it destroys itself.
Wall
BP_Wall is the wall object which are just there to prevent the ball from escaping the level.
BallsDamageUpItem
Increases the damage of all balls currently in the level
BallsDamageDownItem
Decreases the damage of all balls currently in the level
BallsSpeedupItem
Increases the speed of all balls currently in the level
BallsSlowdownItem
Decreases the speed of all balls currently in the level
PaddleGrowItem
Increases the width of the paddle
PaddleShrinkItem
Decreases the width of the paddle
SpawnExtraBallItem
Spawns an additional ball for each ball currently in the level
LaserAmmoItem
Gives the paddle additional Laser Ammo
ExtraLifeItem
Gives the paddle an additional life
ShieldItem
Activates the shield, if not currently active
BaseItem
Parent of all items. Handles the falling of an item and the overlap with the Player and DestroyVolume
BP_MainMenuPlayerController
Is responsible for creating and interacting with the Main Menu.
BP_BlockerBreaker2DPlayerController
Is responsible for creating and interacting with the HUD (HUD changes, Pause Menu and Level Overview screen).
All user interfaces support mobile input.
Based on the platform the UI is automatically updated.
HUD
The BP_HUD is the in-game user interface and shows the player the score, lives left, blocks left, laser ammo and elapsed time for the current level.
It also defines the level overview screen with the achieved score and time and whether the high score was beat. It also has the option to play the next level and return to the main menu.
The pause menu user interface is also integrated in the HUD and allows the player to restart the level, continue the game and return to the main menu.
Main Menu
BP_MainMenu is the main menu user interface and allows the player to select a level from the level select, show the controls, clear the save data and quit the game.
Level Select Button
BP_LevelSelectButton is the button used in the level select grid. It defines the level to be loaded and whether the level is unlocked in the UI.