Shadow Skies
Shadow Skies was originally made as a short experience that had few controls and could easily be controlled by the player's mind through an EEG, a device that reads the brain waves of the player. This project was done in a team. I created the game, and the others took care of EEG reading the brain waves.
Gameplay
Players control a B2 bomber to fire missiles, destroy enemy air defences, and clear the base. The air defences below will fire back missiles at the B2, and the B2 must use the cloak to evade the missiles.
This game didn't have many design decisions; rather, I'd like to showcase the way I implemented and made some of the things work.
Conceptualisation
​Initial constraints
​
-
Must use Unity.
-
The game must have only 4 controls and be button-only.
-
Prototype-level programming skill.
-
Must have more action with less skill.
-
It must be easy to understand and play.
-
Must have a unique concept.
-
The deadline is three days.
​
I initially wanted to go for a fighter jet, but later settled for a B2 stealth bomber since it seemed much cooler and I haven't seen its implementation in any game.
(Reference video)
Implementation Process
B2 Controller
So I started with the B2 Controller. Since four input were the max the game could have. I decided to keep the B2 always moving at a constant speed and the player would have the ability to turn left or right. I wanted to have the feel of being in a high altitude so whenever the B2 turns the camera turns as well.

I also didn't want the rotation speed to be constant, so I added acceleration and deceleration with a cap.

Terrain
For the terrain, I looked up assets in the Unity Store to see what fit best. I wanted a forest or a mountainous terrain. Finally, I settled for the current terrain, which isn't overly crowded with trees and has no buildings. Also, the terrain had an in-built system to change the LOD, which was huge for optimisation.
Missile Attack System
For the missile attack, the B2 would spawn a no. of missiles from two spawn points (child of B2) within a specified interval.

Another missile attack cannot be intiatied till all the missile spawned are destroyed.
Missile Behaviour
For the missile behaviour, I tried to replicate the feel of how the missiles dropped in the reference video. The missile behaviour can be divided into four stages.
​
Stage One
​
When the missile is spawned, it undergoes free fall for a short time, after which stage two commences.
​
Stage Two
​
Here, the missile is still in free fall but starts repositioning continuously towards the intended air defence for a set period.
​
Stage Three
​
Now the missile starts flying towards the target at full speed.
​
Stage Four
​
When the missile collides with the air defence, it gets destroyed.

Air Defense Radar
Air Defense Radar is the child of B2 is a giant sphere collider(isTrigger) below the B2. This collider detects all objects with the tag 'Air defences'. If it detects multiple objects, it checks the first object that enters the collider and chooses that as the target to lock on, and if that object gets destroyed, it chooses the next closest object as the target. The target is removed when the object with the correct tag is out of the trigger collider. The target is highlighted by changing the material to red.


(Radar Detection Collider)
Boundary
The area is bounded by 4 invisible walls that and when B2 comes in contact with them, the game restarts.

Air Defense Health
The air defense will get destroyed after all the fired missiles hit the air defense.

Firing Anti B2 Missile
The air defense selected by the radar is the same air defense that will fire an anti B2 missile for every 5 seconds.

Anti B2 Missile Behaviour

The anti B2 missile can be divided into three stages.
​
Stage One
​
When the missile is spawned, it has a intial speed and travelling forward for a short after which the next phase starts.
​
Stage Two
​
The missile starts going at its max travel and rotation speed, to head towards the B2.
​
Stage Three
​
When the missile hits the B2 it checks if the B2's cloak is active or not. If its not, then the scene restarts. In case its active then the missile continues forward and self destructs after sometime.
Missile Proximity Alert

A beep sound plays when the missile is close to the target tag.
Cloak System

To cloak, the player must hold the space bar, which drains the cloak bar and releasing the key will replenish the bar. If it drains out, the player will have to wait for the bar to refill. During the cloak, B2 is immune to Anti-B2 Missiles.
Also, to show the effect, the B2 material's alpha (rgba) will decrease till a minimum threshold during cloak and replenish when not used.
Radar Screen
I wasn't initially sure how I'd implement it, but using an AI chatbot, I was able to figure it out. I placed a camera facing down, below the B2. It follows the B2 and doesn't rotate along with it. Its output texture has a texture that is the texture used in the UI raw image. All UI elements are set to 'Scale With Screen Size'.
​
The player will be able to see the air defenses below while still maintaining the aerial view.