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.
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.
BP_BlockBreaker2DSaveGame is the save game and acts as a container for the save data (e.g. score and time per level).
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.
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.
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.
BP_Laser is the laser object fired by the player and a secondary way to destroy the blocks
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.
BP_Wall is the wall object which are just there to prevent the ball from escaping the level.
Increases the damage of all balls currently in the level
Decreases the damage of all balls currently in the level
Increases the speed of all balls currently in the level
Decreases the speed of all balls currently in the level
Increases the width of the paddle
Decreases the width of the paddle
Spawns an additional ball for each ball currently in the level
Gives the paddle additional Laser Ammo
Gives the paddle an additional life
Activates the shield, if not currently active
Parent of all items. Handles the falling of an item and the overlap with the Player and DestroyVolume
Is responsible for creating and interacting with the Main Menu.
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.
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.
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.