What was originally an introductory post to a series about designing a city block blueprint book for Factorio 1.1; right now I don’t have any plans to continue work on this until well after 2.0 is released. I may still write up another post or two about the current blueprint book as I feel there are some other concepts in there that deserve further exploration.
Over the past few years I’ve been slowly putting together a blueprint book for a city block system in Factorio. There’s a few key features that makes my system fairly unique:
- Rails are run through the middle of blocks, not at the edges
- Rails are only run where needed, not in every block
- It uses a fairly sizeable 128×128 grid
But in playing out a 900spm belt base recently, a lot of shortcomings started to make themselves apparent:
- The block/station size made it difficult to scale beyond 1-4 trains, and impossible to go beyond 2-8. So most of the games I played went with 1-4 trains and never to larger ones.
- Larger production areas were taking 2, 3, or even more blocks to produce one item.
- Train stations took up an entire block by themselves.
- The corners of the global grid met up at (0,0), which meant the crashed spaceship was always in the way.
- It had incomplete roboport logistic coverage (although it did have complete construction coverage).
So I came to the conclusion that a new plan was needed. The new plan needs to address all the issues of the old plan as well as add some things the old book never had.
Block Size
I had a lot of criteria for deciding on a block size, but the three important ones were:
- Bigger than 128×128
- Remains chunk-aligned (so a multiple of 32)
- Able to have complete roboport logistics coverage without an excessive number of roboports
That third point has a few reasons behind it; mostly it’s to fix the gaps from the previous version, but also having close to the minimum number of roboports required to have full coverage allows the usable space within a block to be maximized.
The first candidate was 256×256, but I quickly ruled this out for the sole reason that you’d need 6×6 roboports to cover the entire thing, with a lot of overlap and smaller open areas to use (42.66 tiles spacing on average). Next size down would be 224×224, which just seems like an awkward size to use and isn’t much better on roboport ratio (44.8 tiles spacing). Going up was unlikely to happen, so 192×192 fit into a nice place – it can be completely covered by 4×4 roboports at 48 tiles spacing, and also met the previously unwritten criteria of being an even number of blocks – so the first block can be centered on the origin.
The Block
So I went right into a new game and started playing things out (not using any creative mode or anything, just building it in-game), just playing through until I had large power poles and roboports unlocked. This is the core block that everything else will be based off of – everything within each build needs to leave room for these power poles and roboports. The image above actually shows slightly more than one block – the actual edge of the block is in the middle of the path area, as highlighted below:
There’s 4 tiles of “path” room on the very edge of a block, which is shared with adjacent blocks to make an 8-wide path that is free of obstructions for driving or just walking around on. The next 4 tiles inward are taken up by the large power poles and lamps. After all that’s accounted for, we’re down to 176×176 usable space, and of course the internal power poles and roboports also take up space and need to be built around.
This is why one of the primary criteria was using the minimum number of roboports – by having close to the maximum spacing, there’s more rooms for builds to have neater belts, add beacons, or just have breathing room. We can always add more roboports to individual blocks if denser charging coverage is needed (like if we ever unload trains by bot, or for a central storage location).
While playing around with this, I also found another benefit to this specific block size.
This will fit 16 smelter lanes perfectly. At least…in one direction. To get the full 48 smelters for filling a yellow belt with stone furnaces (or a red belt with steel furnaces) we need to add a gap in the middle to accommodate the roboports in the middle of the block.
The good news is we have plenty of space, so this doesn’t really have any negatives for the design. We are probably going to have to do something similar with long production lines anyway.
What’s Next
We now have a solid framework to work from, so the next thing is to start planning out builds within this system. The original blueprint book was divided into a bunch of sub-books that had different purposes. I plan to keep largely the same structure but with a few small changes to make it easier to find certain blueprints.
Blocks: These are just different variants on “empty” blocks that have, at minimum, the outer ring of power poles and a narrow path. These are designed as “staged” blueprints so you can place one, and then as you unlock technologies, place more advanced versions (in this case the path gets upgraded from stone brick to refined concrete, lamps are added, and finally, roboports). This book also included full-block blueprints for stone brick, concrete, refined concrete, and landfill. I’d like to add a few more landfill blueprints, including one that covers only the tiles needed for a minimum roboported block (so you don’t have to landfill the whole block when you just need to landfill a few key areas).
Power: Version 1 of the book had only two main blueprints in here: a 60MW solar block, which has exactly the 25:21 ratio of solar panels to accumulators (and exactly 1,000 solar panels, hence 60MW); and a 12 reactor nuclear power block, which needed to be placed near water to feed all the pumps. For version 2, I want to add a “staged” steam power block, which can start with a small amount of starter power and build up to using the full block for ???MW of power.
The solar block will also need to be redesigned to fit the new roboport spacing and use the larger space available – about 2.3x as much. I will probably just double the numbers, using 2,000 solar panels and 1,680 accumulators for 120MW, but this will have more open space available. One thing I might look at doing is adding some paths through the middle, as these blocks are getting fairly large and it could be annoying to have to walk around a long distance, especially if you don’t have squeak through installed.
Rails: Like I said earlier, one of the big reasons for doing a redesign was the shortcomings of Version 1’s rail system. We’re going to start off with some “standard” blueprints that most rail books would have – straight, 45/90 degree turns, T-junction, 4-way junction, and stations. I also like to include a “railyard” blueprint with an associated “fill” blueprint – the yard is the rails and stations for parking unused trains, and the fill is the blueprint that fills the yard with trains. We will want to at minimum accommodate both 1-4 and either 2-8 or 3-8 trains in every blueprint – this is mainly a consideration for signal spacing on open segments, but also stackers in station blocks and of course the stations themselves. Unfortunately I don’t think I can make my 4-way junction work for longer trains; within the 128×128 block, the left-turning side lanes barely fit a 1-4 train:
This is unfortunate because I really liked this design – it was a very simple way to have a 4-way junction that minimized conflict points and therefore had a much better throughput than most 4-way junctions get. Another thing I wanted to look at is adding a 4-lane overlay to some blocks (most likely straights, turns, and T-junctions only) and some connecting parts to change from 2 lanes to 4 and back.
The expansion makes a lot of the rail plans obsolete with the addition of rail bridges, and it might even make me think about revisiting an edge-rail design over a center-rail. As mentioned at the top, this was originally supposed to be the start of a series where I design the entire system while playing through a game, but at this point I feel the gameplay changes from 2.0, combined with the quality of life improvements, make it not worth continuing to design a blueprint book that will immediately become obsolete. In fact, I’m strongly considering not playing any Factorio at all until the expansion releases.
It can’t be that far away, can it?