Glorious Golf
Role: Lead Developer
Platform: Steam (PC)
Status: Released
Project Overview
Glorious Golf is a rage-inducing golf platforming game that combines precision golf mechanics with challenging platforming elements. The game features physics-based mechanics that require players to carefully calculate their shots while navigating through increasingly difficult levels.
My Contributions
- Implemented core golf physics and ball mechanics
- Handled physics & math for game functionality
- Handled menu, UI-elements and shop feature functionality
- Implemented full checkpoint managing system
- Full intro scene implementation
Technical Challenges
- Memory leak: Figuring out a memory leak issue in the instantiation of materials when handling transparency of some objects. This was fixed by communication, looking at a memory profiler, and changing the platform textures between old ones instead of duplicating them.
- Version control: Working together with other people on the same project required effective communication and coordination to manage changes and avoid conflicts. The conflicts we encountered were primarily due to overlapping changes in the same files, which necessitated careful merging and testing, often reverting changes when things were overlapping.
- Level Design Difficulty Integration: When we were designing our level we did not account for the difficulty curve properly, which led to the beginning of the level being too challenging for new players. In the future, I have learned the need to implement a more gradual difficulty curve to better accommodate new players.
- Balancing mechanics: When implementing the physics of the ball, we collected feedback from playtesters and made adjustments to the ball's weight and drag to ensure a satisfying gameplay experience. This took several iterations and playtesting sessions to finalize a movement that felt natural.
- Maintaining scope: As the project evolved, we had to make tough decisions about which features to prioritize and which to cut. This required constant communication with the team and a clear understanding of the project's goals. We ended up with a vertical slice that did not fully represent the final vision of the game, we did however end up with a satisfying result. The key takeaway was the importance of setting realistic goals and being adaptable to change.
Technologies Used
- Unity Engine
- C# Programming
- Cinemachine
- Unity Physics System
- Input System (New Unity Input System)
- Steam SDK Integration
- P4V (Perforce)