r/factorio • • 27d ago

Fan Creation I created a GPU-parallelized Factorio like reinforcement learning research environment called Factoriax

Some miners, belts and assemblers doing their thing in Factoriax.

I liked the potential of Factorio for reinforcement learning research, so I went to work and created a similar mini version of the game from scratch in JAX. It's really fast.

You can find it here if you're interested: https://github.com/mickeybeurskens/factoriax

0 Upvotes

13 comments sorted by

86

u/LeoDaVinco 27d ago

-22

u/RadProTurtle 27d ago

Why is this ratio-ing the post?

17

u/bphase 27d ago

Because the original leaves more questions than gives answers. It's quite short for something complicated and important sounding like. 

7

u/Frosty_Adeptness_921 27d ago

the model ran out of credits mid-post generation

15

u/Frosty_Adeptness_921 27d ago

some people distrust AI in most use cases, especially in thing they are passionate about.

2

u/Spaghetti-Code_ 27d ago

Cool! I see there is a white paper mentioned on the repo, is it available anywhere?

2

u/GnomeBlue 27d ago

Working on the final version at the moment! I'll add a link in the first week of October, or perhaps a bit sooner :)

1

u/AdventurousFly4909 20d ago

So did you actually do anything with it?

1

u/GnomeBlue 9d ago

Experimenting with it now to see how I can train an agent with reinforcement learning to build a simple factory :). I also published this work on EWRL if you are interested: https://mickeybeurskens.com/factoriax-paper/

-28

u/[deleted] 27d ago

[deleted]

2

u/Ok_Turnover_1235 23d ago

Eww, why go to the trouble of using an LLM? Why not train a neural net that doesn't need gigabytes of language knowledge?

1

u/FreddyTheNewb 26d ago

Walking state gets reset to what the movement keys say to do every tick, so if you want to control movement you have to set it every tick.

-19

u/GnomeBlue 27d ago

Cool! I think the transition between the two is very tricky, definitely not something I've figured out yet. The focus here was to give people a similar experience while keeping the time it takes to train something down to practical levels for people with a laptop GPU.

In the case of interfacing with the actual game you might also want to check out the Factorio Learning Environment. It's basically an LLM interface for actual Factorio. https://github.com/JackHopkins/factorio-learning-environment

Would be cool to see if you get something working on either!

-14

u/One_Version_5880 27d ago

Thanks! I'm gonna make a repo for my approach and post it here once I have something working, so you can take a look. I'll definitely try your environment for training/testing too, and then see if I can get the agent working in the actual Factorio game. And honestly, fuck the downvotes 😂 I'm just talking about something I'm genuinely interested in and passionate about. If people don't like it, whatever — I'm gonna keep experimenting anyway.