Posted December 12, 2024 by DynamO Games
Quartet is a platformer game I have been working on for the past 7 months. It has been a long ride so far, full of ups and downs. I am glad I have been able to complete the project.
As most game developers know, one of the biggest joys as a game developer is to start a project and complete the project π .
Quartet was a fun project to work on, this is my second project working with the Unity game engine, so when I started it, there were a lot of things I did not know in Unity and there was a whole lot I had to learn, but the whole point of this project was to enhance my skills in Unity and learn more about the engine. I figured that a platformer game would be a great step to enhance my skills.
I encountered a whole lot of challenges while working on the game π₯, one of the major challenges I encountered when I started the project was getting Assets online, I am not an artist in any way or form πso I had to get 2D assets online, I spent days trying to get the perfect assets for the game before I got one of Kenney's assets, it was hard picking which one to use because Kenney has a whole lot of assets to pick from. I eventually settled for one and started working on the project.
When I started, I first started with the the Game Design Document (GDD), I tried to capture all I wanted the game to be in one document file, my plan for this game was not go beyond scope (even though I went beyond a little bit,π), I documented about the Game Mechanics, Story, Player Controls, Player Skills, Game Features and so on.
Image of Game Design Document:
Game Mechanics was really important later on because I was developing a platformer game and for those of you who don't know π , Platformer games have some GOLDEN RULES. I won't call them golden rules but there are some things that are usually required from platformer games to make if FEEL RIGHT. So while I was working on the game mechanics, I had to consider things like Coyote Time, Jump Buffer, Variable Jump Height, Squash and Stretch, Dashing, and many others.
Unfortunately, Squash and Stretch, was not able to make it to the final build but I made sure to implement mechanics like Coyote Time, Dashing, Jump Buffer and others. Play the game to find out π
As I progressed working on the game, I encountered a mighty stumbling block π, a PLAYER CONTROLLER, initially I thought I was a badass programmer (cough cough...π«), and I thought I would be able to make a standard Player Controller for a 2D platformer game (with just less than a year experience using Unity), but oh was I wrong π€£π€£, eventually when I found out I could not create a good Player Controller for the game, I had to try and get resources online, getting the Player Controller online was quite difficult because most resources I encountered did not have exactly what was I looking for until I discovered DawnosaurDev from a YouTube video, his player controller was perfect for what I was trying to implement, I downloaded his source code and went through it and then integrated it to my Unity Project.
Code of Player Controller Script:
I'll share some of the other prominent difficulties I experienced while working on the project:
Image of CineMachine Camera GameObject in Unity:
Image of Player Animator Controller (Blend Trees):
Code of Respawn Script in the game:
Code of Checkpoint Script in the game:
I encountered a whole lot of other challenges when developing this game but I don't want to bore you guys with my problems. π
Overall, developing this game was a fun and a learning experience that I really enjoyed and I'm happy to share the outcome with everyone.
If you made it this far, thank you for reading through!
Till next time, DynamO.β₯οΈ