Mini Golf with 3D Splines and Map Editor

In this team project we created a 3D mini golf simulation. Some of the features I was in charge of developing were:

  • 3D graphics.
  • Map Editor (Real time editing).
    • Custom Raycasting to interact with the map.
    • Custom 3D Splines editing.
    • Obstacles addition and deletion.
    • UI.
  • Software architecture based on the Game Programming Patterns book.
    • Object Pooling.
    • Game Loop.
    • Component Pattern.
    • Command Pattern.
    • Etc.

The mini-golf simulation includes 3 different AIs that can solve multiple pre loaded maps, where if possible the AI will win 1 turn by hitting in the best direction with precise speed. In case of the map being a maze due to obstacles, it proceeds to use a path finding algorithm and finds the best shot to every 'corner' point, therefore reaching the goal in minimal amount of moves.

The simulations has the following 4 derivation and integration methods to calculate the speed and acceleration of the ball (taking in count the terrain).

Here is the GitHub link with instructions of how to run the software.

Rodrigo Alejandro Chávez Mulsa
Rodrigo Alejandro Chávez Mulsa
Machine Learning Engineer

My research interests include computer vision, natural language processing and information retrieval.