/indigo

An FP game engine for Scala.

Primary LanguageScalaMIT LicenseMIT

MIT License Latest Tagged Release Discord Chat Join the chat at https://gitter.im/Purple-Kingdom-Games/Indigo

Indigo

Indigo is a game engine written in Scala for functional programmers. It allows game developers to build games using a set of purely functional APIs that are focused on productivity and testing.

Indigo is built entirely on Scala.js + WebGL, but it's sbt and Mill plugins will export games for web, desktop (via Electron), and mobile (via Cordova). Hypothetically consoles could also be supported.

Documentation can be found on indigoengine.io.

Full local build and test instructions

Build requirements

You will need:

  • Mill
  • SBT
  • JDK (Update: 1.8 works, 11 is used in Indigo's development)
  • glslang validator - can be installed with your favorite package manager.

Running the build

On Mac / Linux, from the repo root to do a full build and test:

bash build.sh

Windows users: Most of the things in the script mentioned above should work, but Indigo is not routinely built on Windows machines so we currently offer no guarantees or support. We hope to in the future.

There is also another script which is a bit faster since it doesn't build the examples or demos.

bash localpublish.sh