Posted December 21, 2019 by Dukebot
The objective of the game is to earn the highest score possible by staying alive dodging the balls that appear on the screen and destroying them with the power ups that spawn every few seconds.
We have three main game elements: the player, the enemies, and the power ups.
The player will be a circular ship simmilar to an Ovni that will be controlled by us with the mouse. The player starts with 3 lives and must stay alive as long as possible to earn the highest possible score. The player interacts with the other elements of the game when touching them: touching an enemy will cause the loss of one life, and touching a power up will activate it.
The enemies will be balls of different sizes and colours. The balls spawn from the edges of the map in a random direction and then, they stay forever in the screen, bouncing everytime they arrive to the screen limit. We have 4 types of enemies:
The power ups will be objects that spawn on the map and can be picked up by the player in order to adquire new abilities and destroy enemies. We have the following power ups:
The game logic is simle as we do not have much elements on this game.
We do not have a game win condition because there is no limit when playing the game, the game ends when yoy run out of lives and the objective it's to end with the highest score possible. The lose condition it's detected when player it's destroyed, and player destroys when it do not have any remaining lives.
The player will be always at mouse position, so it will follow the mouse for movement. The player lose one life when it's hitted by a ball and has no power ups to protect that hit. After hit, player has some little time of invincibility, to avoid losing 2 lives in an instant. To pick a power up, the player has to touch it and it will automatically activate.
About the enemy spawning logic, we want the game to scale in difficulty over time. So as time pass, we will be making enemies spawning faster and moving faster aswell, this way, the game becomes more challenging as the time pass.
The power up spawning logic is simple. We will set a constant time and they will be spawning periodically on the map. Once a power up spawned in the map, it will remain there until the player picks it, so it's possible to acumulate power ups and take them when necessary.
At the start of the game, we have the main menú which is composed of the game title, the play button and the exit button. The play button will take us to the action while the exit button will close the game.
Inside the game, we have the pause button, which will trigger the pause menú composed of this buttons: continue to resume the game, restart to restart the game or main menu, to go to the main menú.
Also, in the play room, we have a little hud above that displays the number of lives at top left, and the score number at top right.
When the game is lost, we have the game over menu, which shows the current score, the highest score and two buttons, one for restarting the game and another one to go to the main menu.
We will use a background music for the game. Also we will need some sound effect for: balls bouncing, picking up a power up, being hit, explosion, normal shoot, special shoot.
The resolution of the game will be 600x900. This is set this way because the game was firt done for android and it was designed to play vertically and not horizontally.
The game will run at 60 fps.