Factorio

Factorio Dev Tracker




29 Dec

Hello,
Another year has come to an end, from all of us here we wish you good fortune in the year to come.

Mod portal recap 2023Vinzenz

Hey it's the end of 2023 and surprise surprise we're still counting mod downloads. While most of those downloads are via the built-in mod manager, some of you like to automate your Factorio installs with download scripts or Docker containers.

Some of them crash when updating their mods, then restart, download all the mods again, crash, restart and after a short while it's very likely that the Factorio auth server starts ignoring the download script. So maybe this festive season is the time you'll remember your poor mini-PC sitting in a forgotten closet, mindlessly downloading 'Power Armor MK3' over and over again.

In 2023 we had:

  • 676 651 engineers downloading 44 954 072 mods.
  • 2 043 new mods and 7 832 mod updates...
Read more

26 Dec

Post

Bugfixes

  • Fixed a crash when entering bad number values in some input fields. more
  • Fixed a crash when removing an item that is being used to hand craft a recipe while also changing the recipe to take fluid ingredients.
  • Fixed a crash when defining a recipe that takes zero fluid as the first ingredient.
  • Fixed cloning a furnace would not preserve previous recipe id.
  • Fixed that selecting a locale would sometimes reset the setting back to "Default"
  • Fixed that choose-elem-button equipment tooltips were missing the equipment name and description.
  • Fixed being unable to focus search in the train overview GUI with Control + F when a mod attaches a relative GUI element to it.
  • Fixed a crash when item stack of item-on-ground becomes empty because...
Read more External link →

22 Dec

Hello,
We've had a lot of requests to talk about map generation. It's difficult to talk about map generation without first explaining noise expressions. From time to time we need to talk about noise expressions anyway because they are a critical part of the game, but I don't think we've ever done a good job of explaining what they actually are at a high level. We will a closer look at planet mapgen again in the future, but for now this will introduce the basic concepts and act as a primer for later.


What are noise expressions?Earendel

The "expression" part

When making a game world in Factorio you need to decide what gets placed where. All you really have to work with is the X and Y position. The terrain generator can't know anything about what is already placed. Somehow you need some code that converts X and Y into the type of tile to place, and which tree...

Read more

17 Dec

Comment

Factorio doesn't use much GPU power normally, so at times GPUs go to a 'low-power mode' and ramp down available power, then when it needs a little bit more (Zooming out or something), it will use more GPU as a percentage until the GPU goes back to normal power mode.


16 Dec

Comment

Originally posted by Herestheproof

It sounds pretty trivial to add a “and inventory empty” condition to the go to depot interrupt if you’re worried about that.

This is what we show in the FFF screenshot.


15 Dec

Comment

Originally posted by F_Carrod

Will there also be interrupt conditions like "train is currently at station X"?

Use case: Maybe I want my trains to stop by the refuel station only on their way from outpost to main hase, but not on the way to the outpost. Because e.g. my refuel station is better reachable on the way to the main base.

I don't know how this can be done if all interrupts are checked at each station (apart from "hacks" like "check if cargo is full").

For the generic system, it is basically required to allow going to depo or refuel only when the train is empty.

Otherwise, once the system backs up, all the full train will fill the depo and wait there.

Comment

Originally posted by Goranim

Does "global" in the context of train interrupts being global mean that they are the same for each train on the same planet or the same for each train on all planets?

Across all planets.

Comment

Originally posted by AbyssalSolitude

We have been asked to do something like 'logistic trains' many times. Schedule interrupts provide a more generic system, where logistic trains is just one of the things you can build from it.

RIP native logistic trains, I guess.

I very much hope that we can generate interrupts automatically, because writing the same "if cargo = x, then go to x drop station" interrupt for every single cargo type in the game to make generic trains going sounds like the opposite of what Factorio is.

I 100% agree with this.
We don't have antyhing implemented yet, but we were considering several times to have some kind of generic interrupt possible. So you could say something like:
if ([X] Cargo > 0) -> (go to station [X])
It would only work as long as you would consistently use chat tags to name your stations, but since we (and probably many other poeple) do it anyway, it would be a good option.

Comment

Originally posted by wheels405

Amazing update.

One concern about train limits being held until the train leaves the station: is it possible this will lead to deadlocks if a player tries having [sum of train limits] - 1 trains? If a train has no destination to go, and no trains can leave to take its spot, that seems like a deadlock. To avoid this, I feel like you would need to have no more trains than either [sum of loading limits] - 1 or [sum of dropoff limits] - 1, which could be significantly fewer trains.

This is where the depot and the interrupt "Destination full" comes into play. If it has nowhere to go, you send it to the depo.

Comment

Originally posted by punkbert

for not letting us have these things already.

I'm smoking some excellent hopium for a Factorio 1.5 beta christmas surprise release with all the QOL-features already described in recent FFFs.

It's a potent mixture.

I'm sorry, but it is just not happening.

Hello,
trains are one of our most favorite parts of the game. We already talked about the ways we improved rails (FFF-377), so its time to talk about how we improved the way you can control the trains that ride on them.


Train Schedule Interrupts

The way you control the trains is very static at the moment. You have a list of stops to visit, and the train just goes through them one by one and thats it. The only dynamic part is the wait time at each of the stops.
There is no way to just go somewhere else dynamically based on what is going on.

T...

Read more

08 Dec

Comment

Originally posted by Ilsor

we just forgot to re-enable the requests again after recovering the corpse, and have to figure out what is going one, and why aren't we supplied with our stuff.

Automate the typo out!

fixed

Comment

Originally posted by Ikalpo

Cliff explosives are not unlocked from the start of the game, and with the expansion there are even more delayed.

Minor typo!

fixed

Hello,
we have shown some bigger things recently, so it is time to also show some smaller things, because the bigger things wouldn't shine that good without the smaller things working properly!


Billions of years' worth of Factorioraiguard

We had always thought that having a normal 32-bit unsigned integer to track the number of ticks passed would be enough for everyone. You have 60 ticks per second, which makes it 2.2 years of continuous playing on a single game save. But Factorio is a game about automation, so it was inevitable that someone would leave their factory running in the background and eventually overflow the tick counter.
This obviously will n...

Read more

04 Dec

Comment

Surprisingly nothing crashed and burned

Post

Bugfixes

  • Fixed loader would not connect to belts in preview in some cases. more
  • Fixed bad pumpjack drain logic related to yield. more
  • Fixed recipes with ingredients craftable for free could n...
Read more External link →
Post

Bugfixes

  • Fixed loader would not connect to belts in preview in some cases. more
  • Fixed bad pumpjack drain logic related to yield. more
  • Fixed recipes with ingredients craftable for free could n...
Read more External link →