Space Force
For my final project at Full Sail, my team and I created Space Force. It’s a retro 3D side-scrolling, single-player, arcade style, shooter game. We were inspired by "Metal Slug," "Galaga," and "Hawking Raptor Call of the Shadow." We wanted to make a game that feels reminiscent to an arcade experience.
Enemies
All enemies are children to a parent game object for each pre-built wave. The parent game objects contain the scripts and animations specific to each wave. As the player progresses the waves are selected randomly through an array and the spawn frequency increases.
Bosses
Mechanics and weapons were designed exclusively for each boss. Designs range from typical space ship to a dragon or horse head.
Player Control
Movement needed to be predictable but still represent the ship’s mass and movement in space. Floats had to be changed down to the hundredths to smooth the control properly. The weapon design spawns a bullet game object and the damage is calculated on the object it collides with. Variations of the gun or bullets were easily added with inheritance in C# and implemented into the power ups and the enemy weapons.
Power Ups
There are 6 power ups we implemented into the game. Additionally there is a health pickup to replenish lives. All of these have a chance to drop from the asteroids or mini bosses. The first three: splitshot, rapid fire, and giant bullet are all variations of the inherited bullet script. Whether it be a change to the fire rate float or which game object to spawn in place of the standard bullet, they all ran through the base bullet script. The nuke clears all game objects on the screen with the Unity tags “enemy,” “boss,” and “asteroid” and flashes an explosion overlay on screen. Shield puts a box around the players ship and disables the part of the script that handles damage and respawning for the player. Clone, as it says, puts two more ships around the player. They shoot alongside the main ship and also act as two extra lives.
Working With Artists
Artists were a big part of the team during the last month of the project. I gave them a very broad direction at the beginning and they came back with good work, but having not discussed proportions and sizes most of them had to be reworked. I learned a lot working with them, especially in the first few weeks. I now know how to phrase what I need done and how to explain or show reference for models or textures.
UI and Menus
I went through at least 15 iterations of the menu organization before settling on the current set up. I also scripted logarithmic volume sliders to allow for smoother adjustment compared to linear output. High scores get recorded with 3 characters and are saved to a text file, scores can then be viewed in the highscores menu.