Shooting star video game

Shooting Star — An addictive “Shooting the Star”
game with random stars dropping,
multiple difficulty levels, sound effects and bonus points.
A1. Executive Summary
Shooting Star is a challenging video game, where we utilize Sega Genesis controller to control a space shuttle that is moving horizontally across the bottom of the screen and shooting at the stars. The stars drop down in a random fashion, attempting to hit the space shuttle and killing one of its lives. If the space shuttle is hit by the stars, the player has to replay that level, which is similar to Super Mario game. The dropping speed of the stars increases as we go to a higher level, and there is an infinite number of levels with increasing star dropping speed. Shooting a moving star would generate more points compared to shooting a stationary star. The points are also parallel to the difficulty level of the game and the speed of the dropping star. Any dropping star that reaches the ground will result in point deduction; and if the point reduces to 0, a life is lost. Clearing each level provides some bonus points for the player, where the bonus will be in parallel to the difficulty levels. The game starts with 3 lives, and the player will gain a life, whenever he/she reaches every 1500 points. We also incorporate the technique of allowing the space shuttle to disappear from the right of the screen and reappear on the left of the screen, and vice versa, in order to make it more fun. We also prevent the player from holding down the shooting button, so the player would need to press the button multiple times in order to shoot repeatedly. Finally we incorporate different sound effects for shooting, being shot, clear a level, or lose the game. We also implement a high score table, which displays the top 5 scores and levels.

We chose to make a video game, because we came over to the ECE 476 lab during the previous semester, and played some of the games made by our friends last year. That inspired us to take this course and eventually make a game of our own. Since Lab 4, we have been very interested to get our game going, and hence we gradually came up with this idea of Shooting Star video game and built up our game gradually with more and more features. It is a very satisfying experience. Besides some hardware interfaces with Sega Genesis controller, our game is more on software complexity with a lot of C programming involved.
B. High Level Design
B1. Rationale and Sources of Project Idea
Our idea of creating a Shooting Star video game is inspired by most of the addictive shooting games. We like to play these games at arcade and also on computer; hence, we think, why not, we make our own game. We choose this concept of Shooting Star, because we want the game to have no ending state. In this game, if the player is very perfect at dodging all those dropping stars at a very fast speed, it is very possible for the player to stay alive and keep on playing the game infinitely. There are 10 columns, and at each particular time, only one star drops from one of those columns. However, for level 6 and beyond, the speed is so fast that only very capable players can go through. Fundamentally, this Shooting Star is analogous to a person’s life, especially a student’s life, who always strives for the best. Hence, having this game with a permanent high score list would motivate the players to keep on pursuing their personal best and set the record in the high score. This game is somehow similar to Galaga, which is a classic arcade game in the 80’s, but we have modified it in our way, and make our game much more attractive, especially where we can leave the screen from one side and appear at the other side, which is similar to the feature in PacMan.
B2. Background Math

For our project, we pretty much use basic Mathematics only. Most of the calculations are addition, subtraction and a couple of multiplications. We do make sure that all the castings are done perfectly and ensure that all the calculations are correct.
We maintain a global variable “score”, and whenever a star is shot, whether be a stationary star or a moving star, we would calculate the appropriate score. A stationary star worths 10 points. For a moving star, the point is calculated based on the following formula:-

New Score = Old Score + 10 + (Difficulty Level * 10)

After clearing each level, the player would get a bonus point. It is calculated based on the following formula:-
Bonus Point = 100 * (Difficulty Level)
Also, we increase the speed of the dropping star in a nice function. We set a variable t1 to control how often / how many frames we should drop a star. Each frame is 1/30 second. So, for Level 1, the easiest level, we drop the star every 33 frames by setting t1 = 33. This speed is suitable for people of all ages to attempt, and hence provides every player the satisfaction of clearing a level. For Level 2, we set t1 equal to 23 frames, a reduction of 10 frames. Then we further reduce the speed to 15 frames for Level 3 (reduction of 8 frames), 9 frames for Level 4 (reduction of 6 frames). At Level 4, it would be every 9/30 seconds for the star to drop one notch. If the star is at the 5th row, which is the lowest row, it would take 8 steps to reach the bottom of the screen. Then the star would disappear upon performing the 9th drop, and the player loses 20 points for failing to shoot the star. So, at this stage, it would be about 72/30 seconds or 2.4 seconds for the player to react and shoot the star. This is the level where the player would need to play more cautiously. Gradually the game gets more challenging. At Level 5, the dropping speed is 5 frames, and at Level 6, it is 3 frames, which is essentially 24/30 second or 0.8 second for the star to drop from the 5th row to the bottom of the screen. For the top row, it would have 12 drops, hence 36/30 second or 1.2 second. The game goes on to every 2 frames for Level 7 and every 1 frame for Level 8. We tried out the game at all levels up to Level 30, and it worked perfectly.

For more detail: Shooting star video game

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top