Rexel
About
A demo 2D Platformer built in Unity. View Source Code here.
This project started from a simple tutorial from GameDev.TV. However, as the project scaled, I wanted to try more and more things such as:
- Start / GameOver / Win Screens
- Player Movement
- Coyote time (allowing a late-jump from a platform - like Celeste)
- Code-driven sprite animation state machine
- Non-realistic gravity (player falls faster when returning to ground - this makes the game feel much more responsive and less "floaty")
- Applied controller joystick dead zones
- Player UI - healthbar, lives, coins, etc.
- Attacks
- Ability to squash enemies by stomping from above (like Mario)
- Bow & arrow weapon
- Tracking player & enemy HP
- Dynamic music scoring based on map "zones" - adding more and more tracks play in sync despite being queued up at different times (e.g. strings, bass, drums etc.)
- Code-driven dynamic camera positioning
- Facing camera left or right based on player position (like Hollow Knight)
- Particle effects!
- Time-freezing during climactic events (like a boss intro in Hollow Knight)
- Checkpoints & dynamic player spawning (instead of hard-reloading the scene for each level)
Things I wanted to do but weren't viable for an MVP:
- Secondary weapon: fireball attack
- Additional enemy types
- Skeleton archer (distance attack)
- Knight sentinel (melee attack)
- Bats (swarm attack)
- Swimming mechanics & underwater levels (oxygen mgmt, eluding piranhas, etc.)
- Add sprint special ability
- Add dash or roll special ability
- Add wall jumping
- Additional tilemap graphics (using the same tilemap over and over got a little monotonous TBH)
I pulled heavily from these resources as well:
- Lost Relic Games - Escaping Unity Animator HELL
- Lost Relic Games - Nintendo Saved my Dream Indie Game from Disaster | Devlog
- Board to Bits Games - Better Jumping in Unity With Four Lines of Code
- Brackeys - START MENU in Unity
- Brackeys - How to make a HEALTH BAR in Unity!
If you have any feedback, positive or (constructively) negative, please hit me up on Twitter or Discord. :)