minimax - Win/Linux check branch
Minimalist 3D game engine in Clojure (This fork is for Win/Linux compatibility check)
- NOTE: PR (#16) was created from PR branch. This fork's only task left is to check compatibility with LWJGL 3.3.6.
- PR branch is also suitable for regular use for Win/Mac/Linux (while waiting PR merging.)
# compile shader first if you need, but most of them are already compiled (included)
# nu ./scripts/shaders.nu
nu ./scripts/start.nu check.empty
nu ./scripts/start.nu check.empty2
nu ./scripts/start.nu check.triangle_2d
nu ./scripts/start.nu- Upgrade to LWJGL 3.3.3 (NOTE: 3.3.4 - 3.3.5 has known compatibility issues)
- Check compatibility with LWJGL 3.3.6
- empty
- triangle (2d)
- Build passing
- Run through
- Sound
- Model loading (-> probably working)
- Rendering compatibility
- Shadow
- Background
- Cloud
- Castle
- Stones
- Windows / DX11
- macOS / Metal
- Linux / Vulkan (Ubuntu)
- Linux / OpenGL (Currently disabling for shader compatibility, such as phong shading)
- code cleaning for PR
(Original README)
Minimalist 3D game engine in Clojure
In game theory, minimax is a decision rule used to minimize the worst-case potential loss; in other words, a player considers all of the best opponent responses to his strategies, and selects the strategy such that the opponent's best strategy gives a payoff as large as possible.
Tested only on Apple Silicon system
- Make sure to replace native packages in deps with the ones matching your platform
- Compile shaders
./scripts/shaders(shaders code might need changes depending on rendering backend choosen on your platform) - Run the sample project
./scripts/start
- Windowing and input handling
- GLTF loader
- Renderer
- Blinn–Phong shading
- Shadow maps
- Scene graph
- Audio playback
- Small and incomplete UI system
- Scroll views
- Buttons
- Component system with local state
- Flexbox layout