GOLF
Description: GOLF is a small mini-golf game made using crisp-game-lib (a small game library meant to make quick games). The goal of the game is to make all three holes in as little shots as possible. This game was made as a group project for Game Design Studio I (CMPM 170) at UCSC.
Features:
Simple physics to account for friction and collisions.
Modular design to ease the production of new levels.
Three levels with varying designs and obstacles.
My Role: I was responsible for the physics and modularization of this game. The physics were achieved by building upon the existing crisp-game-lib collision detection and implementing a new friction system. Modularization was achieved through functions that created different types of golf tracks. For example, there could be StraightVertical(position) and TopRightCorner(position) functions to create those specific portions of the track. The parameters of that function would be the position to place that track. This allowed for rapid production of various golf tracks.
Lessons Learned: The main takeaway I had was the importance of creating easy-to-use tools to speed up the development process and improve scalability. This lesson has guided my perspective on game development, leading me to search for opportunities to create modular processes.
Game Link: https://plobbert.github.io/GOLF/index.html?/duo-game