ShadowTheAge / yafc

Powerful Factorio calculator/analyser that works with mods
GNU General Public License v3.0
161 stars 50 forks source link
factorio factorio-calculator factorio-tool yafc

Yet Another Factorio Calculator

YAFC is a Factorio calculator, planner and analyser. The main goal of YAFC is to cope with heavily modded games.

Simple usage

YAFC is more than just calculator. It contains multiple analysis algorithms and tries to understand what is going on in your modpack. These analyses go as deep as trying to estimate amount of ores generated by the map generator, and as wide as calculating late-game base trying to figure how much of everything you are going to need. It knows which items are important and which are less important, which recipes are efficient and which are less efficient.

I have started working with YAFC when other tools (such as Helmod) failed to work with deeply recursive Pyanodon recipes. YAFC handles recursive recipes extremely well, it uses Google OrTools as its model solver

YAFC also includes several tools, the most important currently is "Never Enough Items" - it is FNEI on steroids, showing not only recipes to produce or consume an item, but also which recipes you probably want to use, and how much.

Yafc is currently in early beta, but main functionality is ready to use.

Project features

Auto module tool in action

Auto module tool in action More gifs can be found here (Traffic warning!)

Possible incompatibilities

YAFC loads mods in an environment that is not 100% compatible with Factorio. I have tested YAFC with some of the most popular mods, but mods are changing and Factorio is changing.

I am playing Seablock / Other "scripted progression" mod and YAFC thinks that items are inaccessible

I don't know any nice solution for this, but you can open Dependency explorer and manually mark a bunch of items as accessible (And also starting technologies for Seablock for example)

For Seablock specifically, check this issue that contains small list of things to enable at first.

For mod authors: You can detect YAFC by checking data.data_crawler variable during data stage. It will be equal to yafc a.b.c.d where a.b.c.d is yafc version (e.g. yafc 0.5.4.0)

Download YAFC

YAFC is a desktop app. Windows build is the most tested, however OSX and Linux builds also exist. For those OS see Linux and OSX installation instructions

License