This showcase is my 3 min gameplay for the last section of the Argon Assault tutorial. Initially, I wanted to skip this challenge, but then I thought - “If I cant do a 3min demo that looks as professional as I can do at my current level, what makes me think I can do a whole game?”.
The game uses a pixelation effect to stylize the look and to hide any mesh or texture imperfections or incompatibilities. I think it’s a great way to use low-quality assets and still get a ps2 retro vibe.
Assets used:
Camera Effects - Feel - Feel | Particles/Effects | Unity Asset Store
Particles Effects - Epic Toon Fx - Epic Toon FX | VFX Particles | Unity Asset Store
Game Models and Props - 3d Game Kit - 3D Game Kit | Tutorials | Unity Asset Store
The whole process took around 4weeks to complete at my level (I started Unity Development 2months ago). Here are some of the things I did to improve on the tutorial gameplay.
Wins (what I tried and succeeded)
- Made a complete game slice with main menu / pause menu / end screen.
- Switched from Timeline Animation to a Cinemachine Dolly Camera + Track . It is based on this tutorial - Star Fox's Rail Movement | Mix and Jam - YouTube
- Added a custom Rocket Boost functionality + animated UI bar
- Added a player health system + animated UI bar
- Extended the movement system with a 90degree roll left/right to dodge enemy fire/obstacles
- Implemented Rewired Gamepad support
- Created a Main Menu / Pause Menu with basic Graphics Settings with unity UI components
- Created a simple enemy script that detects the player and rotates/moves based on its position
Temporary Defeated (what I tried and failed at my current level)
- I attempted to Clamp the Turret rotation - it’s based on Quaternion.RotateTowards - I failed spectacularly :)).
- I tried to make the Main Menu reusable - It had some scene dependencies that broke every time I loaded the main camera, thus making it useless. I simply duplicated the whole thing in the next scene to make it work for now.
- The game pauses with Time.timeScale=0f and messes up any shader animation that uses Time.deltaTime. I tried to fix it by replacing it with unscaledTime but was unsuccessful.
Thanks for reading and playing. If you have any advice on how to fix those issues, or improve the gameplay, feel free to share.