Factorio

Factorio Dev Tracker




26 Jul

Comment

Originally posted by Soul-Burn

Isn't this already done for accumulators?

When they are placed or changed, they are separate until their energy level syncs up with the rest of the accumulators, and are then computed as a single entity.

Yes, but the difference is, that they can be used together, without any change in behaviour. Consumption machines can use different levels of energy based on activity (one fully beaconed assembler uses way more than assembler full of efficiency modules for example). So the problem with entities is little bit more complex, but solvable.

Comment

Originally posted by 10g_or_bust

As the game engines stands now, is it better to have more smaller rail blocks (signals closer on straight sections) or fewer larger blocks, assuming we don't make such a drastic change that the distance between trains going the same way changes?

For performance, it is always best to have as few blocks as possible, as blocks (parts of blocks actually, as junctions split it even more), are the steps the pathfindiner is using to find the goal.

This is because of simplification, the pathfinder is using the already existing block structure for itself. But it would be reasonable to build special data-structure for pathfinding, where only junction points would divide individual steps, which would greatly reduce the comlexity of the search in real-life scenarios.

Comment

Originally posted by smurphy1

Good read. I still think the electric network update could be changed to having one electric buffer per entity type (eg all fast inserters on one network share the same buffer and all the stack inserters share a different buffer, etc) reducing the number of buffers to update from the number of electric entities to the number of entity types for each network. This would improve both the electric update obviously but should also help the entity update by significantly reducing cache misses for fetching the entity's electric buffer because the buffers are shared.

I believe I have a way to incorporate all electric network mechanics except drain but there are several ways to make something like drain depending on what the intended gameplay purpose is.

Wait a second ....

...

My brain is trying to figure out the reason why it can't work.

Eh? Derp?

Obviously, it would change the behaviour in some ways, but maybe not in ways that would matter. It might be weird for some bigger entities like roboports, which can charge up and discharge. So a lot of roboports in a big network sharing their buffer would mean it takes much longer to run out of energy completely, but maybe it doesn't really matter that much.

For small buffer entities like inserters, assemblers or laser turrets, they have buffers, but just for technical reasons, and we want them to slow down or shut down in a coordinated way when there is not enough electricity anyway, so a shared buffer wouldn't matter.

This would be a problem once we want to independtly update entities at the same time, but in this case, the buffers could still be split based on the group in which the entities would be updated.

And as you suggested...

Read more
Comment

Originally posted by Early-Pomegranate-54

I have a save file that i quit a while ago because of performance. I was about 900 hours in with 39% of research done. I wanted to complete a PY run with every intermediate having a train station but with only the base game, no LTN or Cybersyn

Some spec: 

Trains: 1130

Train station: 5372 

UPS: between 24-26

My train take 2/3 of the update time

https://preview.redd.it/64gfgsqm0ved1.png?width=942&format=png&auto=webp&s=b24d3eece5319361ddba5e1ad795d2d6bbf07f83

But 95% of those repath are not required. The train go in a straight line and wont encounter a fork until about 300-400 tile later. It should be scheduled for a repath. But the repath should not happen until he really need to figure out were he want to go for an optimal path… a fork

Read more

There is still quite a big reserve when it comes to both train movement and repathing, it just wasn't usually that much time consuming in our saves, but with the additional improvements, it is just a question of time before it does. Can you post a link to the save (or the forum with the save?)

Comment

Originally posted by 15_Redstones

Having the bots move once every 20 ticks looks interesting, but how does that work with robot-biter interaction? If a worm tries to kill a bot that flies overhead, it needs its current position updated at the speed of combat.

The construction robots (only kind of robots relevant to this), upate every single tick whenever enemies are around. This keeps the behaviour around enemies consistent, but keeps the performance boost when enemies are not around (which is usually almost always).

Hello,
We all love building bigger and bigger, but hitting the UPS ceiling really puts a damper on the mood.
Thats why we must continue our endless quest to optimize the game.


Roboports OptimizationRseding

I've profiled many save files over the years of working on Factorio and frequently see saves where logistics and or construction robots are taking a lot of update time. That's nothing new, but along with robots come Roboports - in large numbers.

A typical factory with lots of roboports.

Roboports have never been "slow" but they're always present and people are encouraged to build a lot of them - even more in the upcoming Space Age where you want to do a lot remotely. After the most recent play-testing session, the resulting save once again showed them taking some small, but non-zero amount of time, and it got...

Read more

19 Jul

Post

Hello,
I'm sure you're familiar with the good old Nuclear reactor. It's a fission reactor that makes a lot of power in conjunction with its steam turbines. The nuclear energy system is unlocked on Nauvis, and in the context of Space Age, that makes it an early-to-mid game unlock.

For the planet Nauvis, nuclear power is great for the whole game. Water is endless, and uranium is plentiful. For space platforms it's not ideal because it takes a lot of water and a fair amount of space. Solar panels are so good in space, especially near the sun, that it's harder to justify a reactor on a small platform. If you're mainly going around Fulgora then nuclear becomes more competitive because Fulgora has more ice from asteroids and less solar energy.

Later, when you head to the 4th new planet, nuclear becomes a much better option because the solar power is so low and ice is more abundant. At that point, you've had nuclear as an option for all the 5 ...

Read more

12 Jul

Hello,
Welcome to our facts for the week.

Sign posts or bulletin boards are a common sight in videos games, probably not far behind the ubiquitous wooden crate or explosive barrel. They are a nice clean understandable way to communicate with the player, and it was something we wanted to see in Factorio for a long time...


Display Panel - DesignEarendel

The full functionality of the new display entity will be fully explained further below. For the design, all we need to know is that it is an entity that can display any icon of your choice (item, recipe, virtual signal).

The first version I saw was a signpost added by Klonan. It was a nice placeholder, and the general concept of the display entity as a signpost was something to consider. In theory a signpost could work, but there are a few detracting factors:

  1. A signpost is primarily a 2D structure, and by that I mean it is tall and flat but doesn't...
Read more

05 Jul

Comment

Originally posted by [deleted]

[deleted]

yes

Comment

Originally posted by scarhoof

Since you have capped Productivity to 300% and implemented all the other restrictions, have you ever considered allowing them back in beacons in certain scenarios? Maybe set a cap on how much you get from them if they are broadcast? Could be interesting as it would allow for more variety in builds.

Not really. The 300% productivity is only achiavable in the very late end game with limited number of recipes. The overall boost from all of the bonuses available combined is enough. We don't need to break the game by semi-forcing productivity beacons everywhere.

Post

Hello,
Today we want to share some exciting news!


Factorio: Space Age - Release date

We plan to release Factorio: Space Age expansion on October 21st 2024. The reasoning for this date is that it will give us enough time after summer vacations to polish the release, while also leaving enough time afterwards if we need to do bugfix patches before the Christmas holidays.

The price of the Space age expansion will be $35.00, the same price as the current base game.

You can wishlist the game now over on ...

Read more

04 Jul

Comment

You might be right. Because you are generally expected to build bigger in the expansion. But definetly not so much bigger, if you just want to progress.

I tried to steer the game design into a direction where if you compare the end state you had (all (nauvis) research finished), things should be ok because:

1) You finish all nauvis only research faster compared to vanilla

2) The rocket is cheaper and simplier compared to vanilla

3) The planets are effectivelly an alternative to progress compared to the infinite research, which should be more fun.

4) You can build "relatively" small if you want to just finish the game, there is one tester who finished in 37 hours by trying to go as minimalistic as possible (some semi/exploits were used, which we want to patch, so it will be more), but it still wouldn't be crazily more. We finished our MP playtrhough with very seldom use of quality, so we kind of proved it is far from necessary.

Obvious...

Read more

01 Jul

Comment

Originally posted by Lizzymandias

Yeah I agree. Quality is useful for things that will be built and exist permanently, not for things that get consumed for science.

quality science packs doesn't make sense indeed (one if the reason is, that there still will be normal production all these quality ingredients are supposed to support). But quality ammo or fuel has bonuses. I didn't try it with ammo, but quality fuel allows train acceleration and max speed to be increased a bit. And since trains generally don't eat that much, and fuel isn't that expensive, it is a reasonable thing to do in the end game stage of the game.


28 Jun

Comment

Originally posted by korneev123123

Could you please describe how landing pads work? Orbital platform inventory is instantly available for extraction from landing pad? Or some kind of delivery cannon required?

What if there are multiple platforms in orbit? How to select which one is "connected"?

Is it possible to transfer items between platforms?

It works similarly as with logistic network. Landing pack has logistic requets which can be satisfied by the set of platforms (working as passive provider chests) currently on orbit. It is not teleported, but transported by a capsule with a delay

Comment

Originally posted by zantax_holyshield

Can you also disable building function if it is not on full health? If yes then you could emulate how it is in many RTS games, where buildings are low health when you plop them down and you have to actually build them before they start to function (or wait untill they are built).

Comment

Originally posted by jDomantas

100% productivity bonus does wonderful things. For example - 5spm needs 1 belt of iron and copper ore. If you add 100% productivity to everything, you get 200spm out of the same amount of resources.

Productivity boost calculated with warptorio2 modules, as the mod adds that while barely changing existing recipes. Of course the comparison does not match what will happen in the expansion (warp modules apply productivity to every recipe, but also we don't take into account buildings with builtin prod bonus or prod researches, we don't know recipes for the new science packs, etc...). But you can see what could happen if you take just base game + quality mod, without space age.

Don't forget about the productivity researches (only available for specific set of items, but still important)