Tiksu Golf
Timo Thon Phet Schwarzbach, Henry Hoang Son Vogel, Louis Maximilian Goerlt
Tiksu Golf is a golfing game where you play as Tiksu and try to continuously lock in holes around the map. It is written in Rust using the Bevy game engine.
The executable can be downloaded from the repository's releases page Link
Current state of the game
Features
Procedural generated terrain Video
Challenges:
- The chunk-loader created race conditions when a chunk despawned while other systems tried to access it.
- Keeping track of all currently loaded chunks, compared to those that should be loaded, was difficult. We solved this by introducing a chunk manager that keeps track of all chunks as well as multiple systems for loading and unloading chunks.
- Getting the grass texture onto our terrain was also a challenge.
Golf ball physics Video
Challenges:
- We initially tried to roll our own physics which was buggy and complicated.
- We then prompted to use a physics library which meant we had to adjust the rest of our game and add colliders. This took time.
3d Model of Tiksu
Challenges:
- The model was done before we had the blender practice session.
- We have no blender experience. The rigging took some time.
- The model's textures took also longer than expected.
Skybox
Challenges:
- Bevy requires the skybox as an array of 6 PNGs in a particular order (or some other cubemap format we're not familiar with). We solved this by explicitly telling bevy that our png should be read as an image array during asset loading.
- Finding a good, free to use skybox was also hard.
- Aligning the sun in the skybox and bevy's light source took time
2d flag + shader Video
Challenges:
- Maths
- We tried to do it orthographically because we didn't want to have an overlap with the 3d flag and it's shader. Therefore the shader looks kinda weird.
3d flag + shader (not merged yet) Video
Challenges:
- Vertex shader doesn't affect bevy's shadows
- The shader itself currently doesn't consider lighting
- We are still in the process of solving this
Future features
- Different landmarks for the ground (sand banks, water)
- Grass, trees
- Course route generation
- Functioning UI
- LOD for chunks
- Gameplay loop
- Trajectory
- Animations for Tiksu
- Sound effects (We plan on using this music link)
- Particle effects when scoring a hole
Local Setup
- Install the latest version of rust
- Clone the repository
- Start the program by typing
cargo run