Spring Breeze is a flying action adventure game that me and my team developed over the course of 7 weeks. My contribution for this project was the creation of the drones, a smart aim system, level scripting and being product owner. In this game the player takes the reigns of a unlikely duo as they defend their home.
This game was created over a period of 7 weeks as the third game project of the vocational school of Futuregames. More roles during this project was Gameplay scripter and Product Owner
Initially our idea was that the player was supposed to fly around and bomb enemies that would attack the players base from the ground. To test this idea I quickly prototyped a system to throw bombs on the ground on approaching enemies. We held a few early playtests to test, I quickly realized that it was challenging just to fly in a forest, and keeping track of enemies on the ground on top of that was too much.
We quickly pivoted our idea to a solely air focused game. We changed the main objective of the game to attacking instead of defending, and worked with the feeling of chase for excitement. A lot of time went into polishing the flying to really capture the feeling of speed and weight in the bird.
Player taking some sharp turns in the forest to lose drones
During the game the player will be assailed by hostile drones trying to protect the mothership
The goal of the drones was to create a enemy that felt imposing. I choose to mimic how some police cars try to stop escape cars by trying to get in front of the running car and ram it off the road.
To assist in creating the feeling, the drones can be seen patrolling around the motherships different cores, they give of earie ambient noise and start screeching when they locate the player and give chase
I gave the drones attack a small anticipation beam to help the player time their dodges when under pressure
Player being pressured by multiple drones using the beam to help with dodging
Inspector view of the drone script
To make the balancing act of the drones easier, I made a lot of the drones behaviour as parameters that could easily be changed to suit the needs of the designer.
First I created three quick prototypes of enemies that each would serve as threat from a new direction, I presented them to the team and we agreed on that we should focus on creating one good enemy before creating more. We ended up choosing the chase enemy
When I created the first iteration of the drone, it attacked from behind to give the feeling of being chased. It worked well at first since the camera of our player was quite far back. But after some playtesting sessions we had to move the camera closer to the player to get a more connected feel. This made the drones attacking from behind really hard to see, add did not feel as imposing.
To change this I took the intercept behaviour I had created for another drone type prototype, and gave it to our main drone. Allowing the player to see the incoming threat and act accordingly
To defend themselves the player can launch the mouse rider to attack the drones in the air and destroy them.
The first iteration of the attack I created did not feature any sort of aim assistance or homing features which made it super hard to try to hit anything while flying through the air
To solve this I wrote a smart aim system that allowed the player to more easily hit the enemies chasing them, the system uses a hitbox in front of the player to decide what the player can hit or not, and a Bezier curve to determine a smooth trajectory curve of the mouse flying towards the enemy in the air
To find targets, the hitbox uses a damageable interface that contains the variables needed to be shot at. Making it easy to register something to be picked up by the smart aim system, whether it is a new enemy type or a switch for a door, or a mothership.
Much like the drones, the different variables of the smart aim system are available to be tinkered with to make the smart aim fit the designers needs
To show the player what the smart aim is currently aiming at I created a diegetic piece of UI, namely a crosshair that follows the targeted enemy. The crosshair is not affected by lighting and is rendered through walls to make it feel like a part of the UI and easy to see
We had a quite beautiful game with lots of nice scenery to watch so i created a ending cinematic to highlight the destruction of the enemy base.
During the end cinematic the camera swaps to a distant camera with a better view of the explosion and the player character will soar through the explosion and end in front of the camera to create a cool final shot.
To make the player go the the final position and not look weird i move the player along a four point Bezier curve that originates from the players current position
For the game play part of spring breeze i feel like we were a bit to shy with adding things to do for the player. We were scared that the player might not figure it out, and that the flying part of the game was challenge enough. Adding more levels of challenge i think would do our game wonders, so the player would have more choices of where to go and how to get there, more agency more enjoyment.
Similar to the gameplay reflection, i feel like we were to shy with exploring options with our environment. We missed opportunity to use more vertical elements that would make the map feel larger and more alive. This would like the gameplay reflection add more route options to choose from when traversing the map. It would also make sense to use more of the 3D space than just the ground when creating a flying game.
I was also in charge of making sure we had a working build and presenting our weekly achievements to teachers and industry guests.