Asteroids Devlog


For my Asteroids project There were specific points that I wanted to focus on. First, the project was broken down into 2 parts: Gameplay and UI. I was then able to focus on specific parts for these two parts, starting with gameplay. My goals for gameplay included:


Use a Base Movement Parent Blueprint for all moving objects

- To kick things off, a Base Movement Parent is used to handle all moving entities. By defining a reusable parent, I can ensure consistency with logic across different objects, as well as efficient control of velocity and direction. This setup allowed me to focus on specific behaviors for different objects without redundant code.


Create a projectile that destroys asteroids

- The projectile was designed to spawn on button press and travel in a straight line and destroy on impact or after a specific amount of time. I added collision detection to ensure asteroids are destroyed on contact, and that larger asteroids will break into medium and then small asteroids and reward the player with points based on the size.


Create a Spawner

- The spawner randomly places asteroids in the game space(but not in the center of the screen). The spawner also handles the asteroids breaking apart


Setup wave structure

-The wave increases the challenge by spawning more asteroids. I tied the wave progression to the destruction of all current asteroids.


Spawn waves of enemies

-The wave system was handled inside the spawner, since the spawner has a reference to every asteroid in the game. When it detects no more asteroids are left, it will increment the wave number to spawn in the next wave of asteroids




For the UI, The HUD was crucial, but simple to implement. My specific goals for UI were:


Track the number of enemies in the waves

- I added a wave enemy tracker to the HUD. This was achieved by counting active asteroids in the wave and updating the display dynamically as asteroids are destroyed.

Add a score to the player

- A score counter was added to the HUD to motivate the player to aim for higher scores.


Increase the score based on what asteroid you shot

-Using a reference to the Game Mode, I updated the score in real-time based on the size of the asteroid destroyed:

Large= +20 points

Medium= +50 points

Small= +100 points


Track player lives

-I used a reference to the player to track player lives in order to give players a clear understanding of their remaining choices.


Fill out the game mode to transition from the main menu to the game

-Players will start at the main menu and upon starting, the game transitions seamlessly into the action, resetting the score and lives as needed.


Pause the game

- A menu overlay pauses the action and allows the player to resume or restart


Reset the game

- All variables, including score, lives, and wave progress reset to their initial state.


Create a HUD

- I used Horizontal Boxes, Anchors, and Blueprint widgets to design a clean HUD. The score is anchored to the top-left for easy visibility. Lives are anchored and displayed at the top-right, and wave number is anchored and displayed in the center.

Files

Windows.zip 259 MB
3 days ago

Get Asteroid Shooter

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.