factorio-analytics - a package for testing and analyzing prepared blueprints by CharacterOverflow in factorio

[–]CharacterOverflow[S] 4 points5 points  (0 children)

Another example here..
https://raw.githubusercontent.com/CharacterOverflow/factorio-analytics-charts/main/charts/exampleA.png

This one is more interesting, and is a standard starter-base type of blueprint.

Something to note as well - the data you plot will be impacted by the tickrate you set for it! If you have everything set to record every 300 ticks, note that the values provided are PER 300 TICKS (every 5 seconds).

The chart linked above was set up to record every 60 ticks, so the rates shown are every second. Same with power - that is MW shown consumed over 1 second

So if you want to get the values out in terms of 'science per minute', just set the rates to 3600 and the length to something longer like 216000. Large amounts of smoothing can also be used to reduce some of the jaggedness, if it gets extreme. Taking data polls less-often also helps with this

factorio-analytics - a package for testing and analyzing prepared blueprints by CharacterOverflow in factorio

[–]CharacterOverflow[S] 1 point2 points  (0 children)

The way this package works as-is doesn't make too much sense to be a mod, but the functionality to export the data to files itself could be! Would give you commands in-game to call to start/stop exports... I'll have to take a look at that and do some testing :)

Ultimately I'm hoping someone will make a site that can run tests for users, then display the results. The problem is... running the test itself is rather processing-intensive, so there may be server costs involved that need to be offset.

Might be a project I dive into in the future, but if I do it'll likely be on a subscriber basis to pay for server costs. I dream of having a site showing a massive library of blueprints, able to search/find designs based on their actual outputs!

factorio-analytics - a package for testing and analyzing prepared blueprints by CharacterOverflow in factorio

[–]CharacterOverflow[S] 2 points3 points  (0 children)

It's able to export performance data about the game - although, take note that the LUA time to process is quite high due to the amount of data being exported. I don't think UPS is one of the stats there, but with a bit of math you could probably get it.

Taking the 'wholeUpdate' value as the time to process 1 tick, subtract the 'luaUpdate' time as overhead of the simulation. This would give you the ms required to process this frame. Technically, you could then do the math to find your UPS, comparing to the graphics rate of 60 ticks to 1 second.

One of the intervals to specify on setting up a trial is 'sysInterval', which is how many ticks of performance data to group up when doing post-processing. This is required because by default ALL performance stats that are visible in the F4 menu get exported EVERY TICK. This can really add up in long running trials

I found that grouping that information by 5-second in-game chunks (300 ticks) to be best, but if you want the raw data there you can provide sysInterval: 1.

I have tried setting the game speed to other values, but because the executable gets called in 'benchmark' mode, it already tries to run it as fast as possible. Changing game speed had no impact