Space Shooter Game Prototype .
- Mainplayer Class :
- Script that hold mainplayer properties such as health.
- PlayerController :
- Tracking player input touch and when jet status will be shown .
- JetStatusCanvasController :
- A script control and manage the behavoir of status canvas once its enabled.
- WEAPON :
- A parent class that hold all properties of weapons.
- MainCannonWeapon Class:
- Class that hold all properties of MainCannon
- Its Inherited from WEAPON Class
- WingCannonClass :
- Class that hold all properties of 2nd main cannon which is WingCannon
- Its inherited from WEAPON Class
- HommingMissileWeapon
- Class that holds all properties of Missiles.
- Its inherited from WEAPON Class
- LaserWeapon :
- Class that holds all laser weapon properties
- Inherited from WEAPON class
- Implement also ISuperWeapon interface
- Shield :
- Class that holds all shield weapon properties
- Inherited from WEAPON class
- Implement also ISuperWeapon interface 7.HommingMissileController :
- Script that drive the behavior of Missiles .
- RocketRadar :
- Script that act as radar to find enemies within its trigger volume.
- ISuperWeapon :
- An interface that has only two method ActivateSuperWeapon() and DeactivateSuperWeapon()
- EnemyWeaponController:
- Script that control behavior of weapons that may fire on player.
- SubCannonController :
- Script that only control the behavior of cannons particles against player.
- ENEMY :
- Parent class that hold all common properties of enemies .
- AirUnitEnemy :
- Class that hold properties of any basic air units.
- Inherted from ENEMY.
- TerrainUnitEnemy :
- Class that hold properties of any terrain units.
- Inherted from ENEMY
- EliteEnemy :
- Class that hold properties for elite units "now only support air unit"
- Inherted from ENEMY
- EliteUnitController :
- Script that conotrol the behavior of EliteUnit .
- EnemyGroup :
- A Script where it setup enemy formation and initializing them.
- ExplosionPoolManager :
- An object pool that hold all explosions particles .
- ScoreAndDropManager :
- A script that manage level score .
- An Object pool for all drops .
- ShipDataManager :
- A SingleTone instance that hold all ship data such as how many lasers player will have and coins...etc .
- UI_MainMenuManger :
- A script that manage and animate MainMenu canvas.
- Drop :
- class hold properties for drops type and behavior when they are collected.
- ExplosionContainer :
- Its a scriptable object storing two differnt types of explosions.
- 1st list for terrains explosion "larger scale"
- 2nd list for air unit explosion . 3.ParticlesCallback :
- its a simple script that should be attached to any particles that has to be returned back to explosions pool once its finished playing.
- You can download directly the APK https://drive.google.com/file/d/1PxKn2oINoLdL4IG3TOqhWVfLVwvwyxWk/view?usp=sharing .
OR
- Make a clone to the project and try it inside editor.
- Once its downloaded, switch the project platform to android for correct resolution , since the game designed for portrait mode.
- Wait until everything is loaded and press play.
This a gif animation of how it looks like https://gfycat.com/UnhealthyBabyishAlabamamapturtle
- Shoot all enemies and safe the earth .
- Collect the drops
- yellow drops : Coins
- Red drops : HealthKit "currently no limit for player health"
- Blue drops : Shield " by default players has 100 avaible shield to test "
- Orange drops : Laser " by default players has 100 avaiable lasers to test "
- Green drops : powerup where it increate the fire rate for both maincannon and wingcannon. max collected 8 per level.
- Remove your finger from screen to access the ship status canvas
- Use shield to enable shield super weapon
- Use Laser to enable laser super weapon
- or simply press back to exit the level.
- Only collected Coins will be saved inside ShipDataManager.
Funny Physics behavior , not much .
- The game runs on 30-40 fps on Hawuii G8 which is 4 years old device.
- Alll assets here created by me excpet for trees and some rocks where I did re-texturing for both of them, but they were a pack from unity store.
- All custom shaders are created using AmplifyShaderEditor .
- Before doing a build for mobile, make sure to check PlayerController script at Line 102 just to save a little bit of performance .
- Explosion particles is an assetbundle for unity store.
- This is a 5 day project I did :
- everything is made except for 3D assets, I only created the space ship and basic enemy unit especaily for this project, however,I've imported all other assets I've already to save time. .