1 of 1

CPSC 4160 – 6160 / Starbusters

Fabian Ramirez

Game Description

The objective of Starbusters is to simply last as long as possible against the unstoppable and unpredictable onslaught of asteroids. The player is focused on reaching the highest possible score, and the game has different strategies involved with getting higher scores based on which spacecraft they prefer.

Game over is achieved once the players health reaches 0.

Game Mechanics

Technical Description

Controls

Game Limitations

Future Work

In future version of the game, the improvement of collision detection would be a major focal point. Additionally after the improvement of cosmetic details such as the sound design would be something that would be implemented.�A major improvement would be the inclusion of a boss fight or some sort of wave feature which switches the pattern or difficulty of asteroids. Additionally add features such as splitting asteroid or comets would be interesting to explore.

Game Objective

Game Screenshots

Starbusters was developed in python using exclusively the math and pygame libraries. The game runs at approximately 60 frames per second, and best when it is on the linux school of computing desktops.

Because pygame libraries have limited forms of native collision detection, much of the collision work and design was self created using basic elements of pygame such as position of the center of a circles. The collision between rectangles and circles is an extremely inconsistent event in pygame. All collision events were achieved using math formulas.

The controls typically involve using the W,S, A, D keys for movement.

Projectiles, Enhanced Shield, and Enhanced Speed, is achieved using the C, X, and Z keys respectively.

Players can strategically utilize the shield button to move slower in places where precision is more optimal than moving as fast as possible.

As mentioned in the technical description, a large limitation in pygame is the lack of outright circle on circle, and circle and rectangle collision detection. Because of this each collision was creating using the native properties of a circle and math. As a result of the interactions within the project are stranger because the collisions are more flawed and some unforeseen collision detection occur because of it.� Additionally, because of this innate collision dilemma, some features in the game were cut and or diminished because the lack of base collision.

Starbusters is an arcade based survival game set in deep space. In Starbusters, you have the opportunity to pilot 2 unique spacecrafts based on mythical celestial figures. Players are encouraged to survive as long as possible against the endless barrage of near unpredictable asteroids.

Enhanced Statistics: * only one enhancement can be employed at a time. (speed or defense)

Speed / Boost:

The user can opt to increase their speed at the expense of reducing their stamina bar. When enhancing speed the players speed in every direction increases until the stamina bar is depleted.

Defense / Shields:

The user can opt to increase their defense, or hit taking ability at the expense of their defense bar. When enhancing defense a players speed is reduced with the added benefit of taking significantly less damage then if not defending.

Attack / Shooting:

When in imminent danger, players can shoot projectiles at incoming asteroids when they are heading in players trajectory.

Distinct Base Stats:

Each playable spacecraft has distinct stats which affect how the player may play the game. Some of the notable distinct stats are: speed, health, stamina and shield capacity, shot speed, and shot range.