This project was one I made by myself to learn more on how to set up and code in Unity Engine. So, I set myself the goal to create a platform controller from scratch and create three levels for a game using it. I decided to skip out on art assets to not stretch my resources and focus on the main part of my project.
I started out using a tutorial and added features later on. These were:
- Enemies with basic AI and collision
- Projectiles and a projectile spawner
- Pause screen
- Progress gets saved and later levels get unlocked
- Health system for the player including invulnerability and health pickups
And of course, I did a lot of tweaking with the parameters. I also implemented the collision and wall jumping differently since I run into issues during testing,
What did I learn
I reached my goal and implemented the features I wanted. I learned how much work and tweaking is needed to even create a basic platformer. The hardest part was creating the basic AI for the enemies – make them optionally turn around at drops, having a proper collision and reacting to the playable character.
I regret not using any more then basic assets, since they can improve the feel of the game a lot. I implemented the animations in a very basic way so I did not make use of Unitys animator, but instead wrote my own state machine – a missed opportunity.
Feel free to have a look in the source code and how I set the project up at the repository.