mgerdes/Open-Golf

A cross-platform minigolf game written in C.

C

1,938

404 commits

updated Mar 18, 2024

See the code

README

Open Golf

A cross-platform minigolf game written in C.

Platforms

Info

Image

  • Used the Sokol libraries to create a cross platform application with 3D graphics and audio.
  • Wrote the Physics code to handle collision detection and collision response for the golf ball.
  • Used ImGui to create in games tools for fast iteration. Also created an in game-editor that can be used to modify the terrain of a hole and then quickly play to get fast feedback. The game-editor can also run scripts to generate the points and faces of more interesting models. Image
  • Used the library Lightmapper to generate lightmaps for the terrain and also xatlas to generate lightmap UVs. These lightmaps are then baked into the files for the courses. It can also interpolate between multiple samples to create lightmaps for some moving objects. Image Image

Building

Windows

  • To compile run build\build-win64.bat

  • To start the game run out\win64\golf.exe

  • This also creates out\win64\golf.sln which can be opened in Visual Studio to compile / run everything

Linux

  • To compile run ./build/build-linux.sh

  • To start the game run out/linux/golf

OSX

  • To compile run ./build/build-osx.sh

  • To start the game run out/osx/golf

3rd Party Libraries

android
c
game
game-dev
gamedev
game-development
ios
minigolf

mgerdes/Open-Golf

A cross-platform minigolf game written in C.

C

1,938

404 commits

updated Mar 18, 2024

See the code

README

Open Golf

A cross-platform minigolf game written in C.

Platforms

Info

Image

  • Used the Sokol libraries to create a cross platform application with 3D graphics and audio.
  • Wrote the Physics code to handle collision detection and collision response for the golf ball.
  • Used ImGui to create in games tools for fast iteration. Also created an in game-editor that can be used to modify the terrain of a hole and then quickly play to get fast feedback. The game-editor can also run scripts to generate the points and faces of more interesting models. Image
  • Used the library Lightmapper to generate lightmaps for the terrain and also xatlas to generate lightmap UVs. These lightmaps are then baked into the files for the courses. It can also interpolate between multiple samples to create lightmaps for some moving objects. Image Image

Building

Windows

  • To compile run build\build-win64.bat

  • To start the game run out\win64\golf.exe

  • This also creates out\win64\golf.sln which can be opened in Visual Studio to compile / run everything

Linux

  • To compile run ./build/build-linux.sh

  • To start the game run out/linux/golf

OSX

  • To compile run ./build/build-osx.sh

  • To start the game run out/osx/golf

3rd Party Libraries

android
c
game
game-dev
gamedev
game-development
ios
minigolf

Significant stargazers

(top 24 of 27)

John Paul Adrian Glaubitz

102 followers · starred Mar 2022

Senthil Kumaran

316 followers · starred Mar 2022

flouthoc

162 followers · starred Mar 2022

Rob Zinkov

210 followers · starred Apr 2022