I made it to the edge of the world
I made it to the edge of the world
I built a railway to the edge of the world!
(Yeah, I'm aware some well-known youtuber has already done it, but I wanted to do it myself).
I did it with Recursive Blueprints, but other than that I think I steered clear of mods that would make it easier - indeed, I realised some way down the line that Bio Industries makes each tile of rail cost rather more stone, but such is life. No infinite-range atomic locomotives, etc. One fCPU did the control logic, but all the "are we ready to construct" logic was in ordinary combinators; the fCPU did a simple control loop and if I really wanted to do that bit unmodded it could have been replaced with a pretty normal control loop with an item moving down a line of chests.
I did it on a ribbon railworld - railworld settings but then applying the default ribbon height of 128 tiles. Don't do this; the slice of the world that the ribbon shows you with railworld resource settings means your next source of a given ore can easily be kilometres away, and indeed the railway started 3km from the origin because that's where I first found oil and uranium.
I had no biters - I didn't really fancy manufacturing a million artillery shells - but honestly, I think doing it with biters would not have been much harder (once I had my feet under me, and it's easier to defend yourself on a ribbon world), just enormously more tedious - the rolling construction station would have defences, the trains would bring artillery wagons and ammo and repair packs and whatnot, but essentially it would all be the same procedure.
Here's the "construction front". There is huge scope for improvement here; I let each design that seemed to be working run until it became clear it wasn't, and then decided whether it was easier to tear it all down or to tweak it in situ and carry on. Hence, this was the first design that got even a kilometre from the start of the railway; it builds about one lot of itself (50 tiles) a minute. At that, what you see here was revised at 30km to stop trying to carry wood/stone/coal home on the trains but just to build a single yellow belt to carry it home. It only uses one side of the belt because that suffices and I wanted to build this out of parts already available at the front.
Apropos of which, one thing I learned was how much one can do remotely through the map view. I had no idea, I'd never done that before! If I were doing this again, I'd have at least one assembler being carried forward by the bots at the front and one load of each plate per train so if I suddenly decided I'd like some (eg) red splitters, I could just make some without having to carry them out there myself. The other thing was I went from going sigh, 8km train ride out to fix this to going "no, this can be fixed from the map view". About 600km in a race condition meant a chunk of landfill didn't get built and it was a great relief to know that rather than riding the train out there to fix it and then revising the blueprints and control software again, I could just fix it remotely and if it did happen in the remaining 400km, just fix it again.
I'm not so sure the belt home from the edge of the world was a great idea. I don't knowthat the belt caused it, but as the railway extended I started to get spikes of very poor UPS - not lasting for long, but frustrating. They were attributed by the debug view to "Transport lines", suggesting belts - but the main thing that seemed to make them happen was moving my viewpoint; if I sat still, I'd get straight back to 60 UPS (and while I ran the game at gamespeed 1, it takes as long as it takes, I could bump it up to 3 and get 180 UPS without issues...)
Also, I built it because trains were not ideal for carrying wood etc (henceforth "junk") home - demand for rails is very steady, but demand to take junk away very spiky - but I could have improved on that by loading trains with the right amounts of stuff not by filtering slots but by circuit control of inserters, which would naturally let the whole train capacity carry junk home. Dealing with it was an afterthought on my part and I did not really anticipate the quantities. I didn't help myself there by using whitelist deconstruction planners for the final cleanup, which meant chopping every tree between the rails - but it was much easier to design it that way.
Another point to be improved would be making the construction front shorter; the rolling construction front is 4 roboports wide and inevitably (especially with the way bots like to store items in chests that already have that item) sometimes bots will fly the length of it and that takes time - the wider the front, the longer it takes. I didn't help myself by arranging that every time the chain signals at the back were replaced by rail signals, things would be organised so that the only available rail signals were right at the front! (In other respects, the way construction materials were loaded back onto the train one behind the front was great for not making bots carry stuff around).
Active provider and requester chests could have been used to make logistic bots preemptively move stuff which actually only got moved when the back side of the rolling front was deconstructed. The "ready to construct" conditions could have been improved - was it really necessary to wait for 150 rails to be in chests before putting down a _deconstruction_ planner?
However, I think the most fundamental way this could have been improved is spidertrons - walking roboports, and walking storage. They could follow a train that always stays at the front and they could obviate a huge amount of the building and moving stuff just to pick it up again 200 tiles later.
I had a number of issues along the way but the most frustrating was related to refuelling; I built 4 refuelling stops at 200, 400, 600, and 800km. Specialised refuelling trains took a wagon of nuclear fuel around these. After 800km, I found refuelling trains running out of fuel about 180km from home... having just passed the inbound 200km refuelling station which was full of fuel. The answer eluded me for a while but it was simple enough - I'd told the refuelling trains to go on empty cargo inventory, and that meant the trains that filled up the newly built 800km stop tried to run non-stop all the way home.
Here's the "work front", which again is a mass of adhockery. In particular, because I originally thought wood and stone would come in on trains, the arrangements for consuming the wood are slap bang next to the station, making it harder to load trains; that said, when a train is taking an hour to get to the construction front, who cares if it takes a minute to load?
Also, if the intended purpose of this is to burn excess wood, and it is, why carefully install the superheaters from the Superheater mod and the turbines to... make it burn wood more efficiently? I don't know. The main power facility back at home has a pretty standard latch based on accumulator charge, but it only activates at all if there's more than a thousand burnable junk in a chest here. It needs it - if the base is doing no research, which doesn't normally happen in post-rocket Factorio but happened a lot here because all I could do was crank out robot speed for increasingly minor improvements, wood could easily build up.
I had no real idea how much of any train supply I would need, so a lot of the manufacturing behind here is overspecified or barely sufficient (in particular, I ended up shipping rails from the main base, given the ones it was making for research were surplus).
Here you can also see the combinator array used for "ready to construct" checks (and this worked quite nicely; with one check per combinator I could run my mouse down the column and look for the one not inputting a ready signal, aha, not enough yellow belts); Nixie tubes to show the total number of roboport widths built (each lump of track leaves behind a constant combinator) and the amount of junk stored (I was worried about using it all up, especially when it came in on trains); and in the Northwest the "engineer's train", which runs between here and the main base on Passenger Present.
I'm not sure what to do next but it will not be building a railway to the West edge of the world.