
Nothing but Scala.
Nothing but Scala.
If you can write Scala, you can make games. Indigo is powered by Scala.js, and builds with sbt & Mill.

Easy to Type. Easy to Test.
Easy to Type. Easy to Test.
Confident development using Scala's advanced type system, purely functional APIs, and a deterministic game loop.

Big Beautiful Pixels.
Big Beautiful Pixels.
Indigo was designed for crisp, modern, beautiful pixel art. You can make non-pixel art games too!
Let's have some fun!
Indigo is a game engine for programmers. People who know how to code and want to make games by writing code. Just for the fun of it!
The engine has been designed specifically with programmers in mind. It focuses on developer productivity and ease of testing.
Building games in Indigo is just like working any other Scala project, we've worked hard to keep the surprises to a minimum. You can even use all your favourite Scala.js compatible libraries and build tools, with extra support for SBT and Mill built in.
Indigo is free to use and the engine is open source. There are no limits on its use, or fees or royalties to pay, ever.
We can't wait to see what you're going to build!
Who makes this?
Purple Kingdom Games is made up of two long time collaborators that like building software together. They are both called Dave.
Although the bulk of the early work on Indigo came from the Dave's, since launch we've also gratefully recieved a number of wonderful community contributions too!
You can contribute!
We'd love you to get involved! You could...
Build a new feature
Report an issue
Help with the documentation
If you're not sure where to start or would like to discuss your ideas, come and say hello on Discord, or post a question on GitHub Discussions.
Please sponsor our work!
Indigo is a passion project, and in software, passion projects come from coffee and biscuits and ...from the ability to cover some less exciting running costs.