Factoriax

Factoriax#

“The Factory must grow!”

Factoriax is a GPU accelerated factory building simulator for reinforcement learning research in the style of the game Factorio, written in JAX.


A Factoriax factory: miners on ore patches, belts that carry ore to furnaces and assemblers, and a player among them

Why Factoriax?#

Factorio is quite a cool game with an enormous amount of emergent gameplay complexity, and it is interesting to use it as a benchmark to evaluate AI systems. However, even though the game is famous for being carefully optimized, training Reinforcement Learning agents on the base game is very slow. Factoriax is basically a simplified version of the core Factorio game mechanics that can run millions of game ticks per second on higher end GPUs (as of writing), while also running quickly enough to train models on local laptop GPUs. This allows researchers to test their RL ideas in Factoriax at scale, while allowing students to get familiar with RL concepts without the need for enormous GPU clusters.

And honestly, Factorio is just a lot of fun. Even though the Factoriax implementation of the original game mechanics is quite minimal, I hope it does some justice to the original game.

Using The Docs#

The documentation is divided in different sections:

  • Installation: A tutorial to get you up and running with Factoriax and JAX as soon as possible.

  • API Reference: A reference for understanding the code in the repository.

Remember:

The factory must grow!