With the assignment finished, I'm writing a final devlog on the game development process - from figuring out how to get a character to simply move, all the way to implementing advanced movement, combat and animations. In this final entry, I'll walk through some of the decisions I made, what I learned from them, and what I would change if I were to start again.
GitHub Link: https://github.com/scogliera/The-Platformer
Release Link: https://github.com/scogliera/The-Platformer/releases/tag/ver1
I came into the project thinking mostly in terms of code. What's the minimum required to get something working? How do I keep the code clean and maintainable? This mindset helped at first, since I could quickly implement things like movement or bullet logic. But as the project grew, I realized the hard part wasn't just in writing code that worked, but in making the game feel good to play.
The biggest shift in my thinking came when I implemented the movement and combat mechanics. Early on, I implemented a shooting system, only to scrap it after realizing the design of the main character was sword based. The fact that I implemented things fast and effectively meant that I could scrap the shooting mechanic without feeling down, but I also realized that communication with the team is a vital part of making games effectively.
Another leap forward happened when I started polishing the movement mechanics. Switching from sprinting to dashing might seem like a small change, but it helped a lot with how the game felt. The dash, wall slide, and wall jump mechanics created a much faster, more engaging platforming flow, and I’m glad I changed the mechanic when I did. Those features didn’t just make the game better - they also made me enjoy working on it and testing the game more.
Implementing animations was another milestone. At the beginning of the project, I didn’t even know how to use a sprite, let alone blend animations based on game states. By the end, I had a full animation states reacting to jumping, attacking and dashing, and it all came together in a way that made the game feel great to play. Bonus shoutout to Ewan for sending me this video about responsive platformer design - the variable jump mechanic based on gravity scaling is still one of my favorite little touches.
If I could do this again, I would spend more time up front aligning the design details with the team. The early misunderstanding about combat (gun vs. sword) is a great example of how even small miscommunication incidents can turn into a quite a bit of rework. In hindsight, a shared doc or prototype sketch might have saved us a lot of time going forwards.
I’d also give myself permission earlier to use Unity’s built-in tools instead of trying to custom-code everything. There’s value in learning by building things from scratch - and I definitely learned a lot - but sometimes using Unity’s features (like the Animator, physics system, or prefabs) can save time and let you focus on gameplay, which is what really matters.
Finally, I learned that adding polish (like animation smoothing) should happen throughout, not just at the end. Those details make a huge difference to the feel of the game, and when you leave them for last, it’s easy to run out of time or energy.
Looking back, I’m proud of how far everything came. This started out as a series of checkboxes, GitHub issues and tasks, and basic mechanics, but by the end, I was thinking more about the game's flow and player experience. I still have a lot to learn, but this project gave me a real taste of how satisfying it is to take an idea, bring it to life, and then make it feel great.
However, I do not think a game development career is the right choice for me. I personally enjoy solving real world problem more as opposed to working on more creative project that games are.
I also learned how team members affect the development process in various ways. I had moments where I had fast back and forwards with my team members, and the progress was moving incredibly quick. However, in other cases, it was hard to even get a response or get anyone to do tasks, and it made the game development experience slow and irritating.