roman01la / minimax

Minimalist 3D game engine in Clojure

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 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

About

Minimalist 3D game engine in Clojure

License:Eclipse Public License 2.0


Languages

Language:Clojure 52.6%Language:Shell 31.8%Language:C++ 11.1%Language:SuperCollider 2.4%Language:Scala 0.9%Language:C 0.7%Language:CMake 0.5%