Hacker News new | past | comments | ask | show | jobs | submit login

I can't wait for the day we can ask a general-purpose gaming AI to optimize the production line for this game, learn from it, and then backport the theories to my codebase at work.

Humans... or at least me... are so bad at this sort of multivariate optimization. Even if you cheat and give yourself infinite resources and all the technologies and set out to plan the perfect economy from the get-go, eventually something you forgot will throw a wrench into some tiny part of the supply chain, and the whole thing comes crumbling down. Then you try to build some redundancies into the system, but the overlapping networks create routing problems of their own.

I wonder, in general, if games like these are "solvable" via some sort of theory, or if you just have to iterate through a billion configurations before you arrive at a better one...




I don't know what your definition of solvable is for Factorio, but for mine, there are already a few calculators out there that can solve the infinite resource/constant thruput scenario just using linear algebra. The base game has a limited number of products. Maybe in some of the overhauls like K2SE or Py's, you might need something more complex since those are 10x-100x the base game, and the system of equations may surpass numerical methods on a single computer.

The real serious solutions are actually you versus your system resources. There solutions look awfully like low level performance tricks like inserter clocking (think SIMD) or belt compression (think fitting data in cache lines/reducing pages). Both of these things would take not just and understanding of the game, but understanding how the game is programmed.


I've work on an algorithm that analyses a blueprint and finds the bottleneck : [factorio_blueprint_analyser](https://github.com/Tomansion/factorio_blueprint_analyser)

It doesn't make suggestion, but knowing where something is wrong is a start.


Constraint solvers have already been used to generate optimal belt balancers (and it's beautiful / incredible). The designs they come up with for 16-wide balancers are, I think, beyond anything a human could have realistically created in a single lifetime.


I have no idea what any of these words mean, lol... can you link to a post/video showing this? That sounds awesome :)


This [Factorio SAT Solver](https://github.com/R-O-C-K-E-T/Factorio-SAT) has generated novel balancer designs. See the [wiki](https://wiki.factorio.com/Balancer_mechanics) to learn about belt balancers.


Oooh boy, rabbit hole time! This is beautiful, thanks for sharing :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: