An open API service indexing awesome lists of open source software.

https://github.com/roman01la/minimax

Minimalist 3D game engine in Clojure
https://github.com/roman01la/minimax

3d-graphics bgfx clojure game-engine

Last synced: about 1 month ago
JSON representation

Minimalist 3D game engine in Clojure

Awesome Lists containing this project

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.
>
> — https://brilliant.org/wiki/minimax/

## How to run

_Tested only on Apple Silicon system_

- Make sure to replace [native packages in deps](https://github.com/roman01la/minimax/blob/main/deps.edn#L15-L23) 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`

## Features

- 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