Bowling
A lightweight 3D bowling game built in C++ using OpenGL ES 3.0, SDL2, GLM, and the Jolt Physics engine, with a fully custom rendering pipeline. The UI is built with the Clay UI library.
Planned platforms include desktop (Windows, macOS, Linux), web (via Emscripten/WebAssembly), and mobile (Android, with possible iOS support). The architecture is platform-agnostic, but the web build runs under Emscripten’s single-threaded environment, making performance constraints tighter and requiring careful optimisation.
Audio uses the YMFM library for chip emulation, with optional OPN (FM) synthesis when device performance permits. The OPN chip family was used in the Sega Mega Drive, giving the sound a distinctive retro character.
The goal is clean rendering, responsive gameplay, and consistent performance across a wide range of devices.
Because of this project I made the following tools:
- My OPN instrument plugin to use a DAW to write music:
https://github.com/luke10x/arm2612
- Tracker style library to describe notes to play the music:
https://github.com/luke10x/eggsfm
Also contributed GLES3 renderer to Clay UI.
These are the 3rd party libraries used:
-
Jolt Physics
-
SDL2
-
Clay UI
-
YMFM (chip emulation)
-
stb (single-header libraries)
-
GLM
| Updated | 56 minutes ago |
| Status | Prototype |
| Platforms | HTML5 |
| Rating | Rated 5.0 out of 5 stars (1 total ratings) |
| Author | Lapė Kalė (Žvaigždes) |
| Genre | Sports |
| Content | No generative AI was used |

Leave a comment
Log in with itch.io to leave a comment.