This is an engine for the board game Santorini written in the highly performant Julia scripting language. This game engine simulates roughly 5,000 randomly played games of Santorini a second.
https://julialang.org/downloads/julia> push!(LOAD_PATH,pwd());
julia> include("sant.jl")
The built-in concurrency, once enabled, will likely double this app's speed in games per second given enough cores (concurrency currently disabled due to this bug - should be fixed when I get around to updating to newer versions of Julia)
I wrote this to gain experience in machine learning, specifically reinforcement learning, applied to a medium I am passionate about (board games!). See dominion-game-engine for my second, more complete try at a reinforcement learning implementation using Kotlin coroutines and a Q-Table.