Endless Dogfight

Unity, C#

Endless Dogfight is a wave-based arena Plane shooter with simplified aerial Rigidbody physics, various types of BOIDS enemies and 8 Powerups.

Made in Unity3D URP and C# .

This was a solo project spanning a month, and there was a lot of challenges and new material to learn. In terms of programming specs:

  • Plane Physics: The plane was implemented using Rigidbody forces (with Colliders) and AddVelocity + AddTorque commands.

  • Enemy Controller: Enemy mobs were implemented using BOIDs algorithm, which mimics flock behaviour using the principles of Cohesion, Alignment, Separation. More behaviour patterns were added due to the game requiring enemies to actively track the player.

    • This was all done modularly using Composite Design Pattern, with an exposed factor by which different enemies can have different adjustable amounts of bias towards each principle.

  • Boss Controller: The boss was implemented using a simple Finite State Machine pattern consisting of Idle, Moving and Firing states. Its decision is largely influenced by Randomness.

  • Weapon System: 8 Weapons in total were added (4 Primary, 4 Secondary) using Composite Design Pattern and ScriptableObjects, allowing for rapid creation of new weapons and modular, seamless ‘loading’ and ‘upgrading’ of weapons.

    • Bullet physics was handled by Rigidbody Collision and/or OverlapSphere with optimised Unity Physics Layer-Collision Matrix.

  • Score / Wave systems: Observer pattern was used to pass information between logically separated modules (ie spawn powerup on enemy death; increase score on enemy death).

  • Shadergraph FX for water.

  • Minimap implemented using Top-Down camera + RenderTexture

Credits:

Fighter Interceptor - Dmitry Ikonnikov
Missile - Sabri Ayes
Snow Mountain - ProAssets
Military FREE - ithappy
Attack Helicopter - Duane's Mind
Military Vehicles (Sea) - Polygonal Assets
Battle Music (Village) - Migfus20
Epic Orchestra - Migfus20
Free Sound Effects Pack - Olivier Girardot
ENGINES - Kristian Grundström
Helicopter engine - caquet
White Water - TheBoatman
Metal Impact 1 - Sophia_C
Synth Power Change - qubodup

Download Here: