ilapaj Library
Articles 日本語
8 min read (1,651 words)

I Reached Aquilo in Factorio Space Age

This is an English translation of the original Japanese article, translated with the help of AI.
Table of Contents

For the first time in about half a year, I suddenly felt like playing Factorio.

Last time’s article ↓

Factorio: Space Age Is Way Too Much Fun

Getting hooked on Factorio completely wrecks my life, so I had been trying not to think about it. But I told myself, “Just a little bit won’t hurt…” and, sure enough, my life got wrecked again.

In the past 4 days, I’ve had three sessions of over 20 hours each. I took paid leave from work and called it sick leave. Somebody help me.

Goal#

Reach Aquilo.

Current Status#

I’ve already built cruise ships running between Nauvis, Vulcanus, Fulgora, and Gleba, plus a dedicated Nauvis-Gleba line for perishables.

But there were a bunch of problems standing in the way of heading to Aquilo.

Problem 1#

First, Nauvis.

My main factory on Nauvis is total chaos, a failed attempt at a main bus. A swarm of bots, there as a monkey patch, is constantly flying around the whole factory, and it’s not pretty.

A complete mess.
A complete mess.

The real problem was that this made it impossible to hold 60 UPS. UPS is the only finite resource in Factorio, and running out of it means the death of the save file itself.

That was part of why I despaired and drifted away from Factorio, but then I bought a new PC and things changed. UPS is holding a perfect 60.0, and one of my excuses for not playing has vanished.

So I need to build a smart, low-load factory on Nauvis.

Problem 2#

Next, the design of the space platform that will head to Aquilo.

The route to Aquilo goes through a bigger asteroid belt than anything I’ve dealt with so far. I tried charging in with my usual ship armed only with gun turrets, and I couldn’t shave off any of the asteroids’ health at all.

To solve this, I need to put rocket turrets on the space platform. That means putting a rocket production line on it too, which means building a platform on a bigger scale than ever before.

I need to level up my spaceship design skills.

Problem 3#

Finally, Gleba.

The Gleba factory has (mostly) finally gotten on track, and barring bad luck, the lines no longer stop. But each module keeps getting clogged now and then, so I have to check on them regularly and, if one is clogged, delete the belts and place them again.

A clogged research module is the worst. To restart it, I had to go there in person and harvest a Pentapod egg.

It’s not fatal to progress overall, but having a task wedged in at regular intervals is pretty bad for my mental health.

I need to stabilize the Gleba factory.

Problem 4#

My overall strategy had problems too.

Half a year ago, I thought it would be good to produce each planet’s best science pack on that planet and consolidate them all on Nauvis.

But making that happen takes an enormous amount of effort. I had bitten off way more than I could chew, and I was standing there dumbfounded, with no idea where to start.

Problem 5#

Nauvis’s defenses are also far from perfect. It doesn’t happen as often as Gleba’s spoilage clogs, but biters sometimes get in from weird places and wreck the factory. I need to build a line of defense that holds up even if I’m away for a while.

Let’s Revise the Overall Strategy#

So, to head to Aquilo, I have to solve the problems above.

Let’s start with Problem 4. For this one, I decided to nullify the problem itself.

If I raise the Mining productivity research level and use high-quality production modules, it looks like I won’t need to fear Nauvis’s ore patches running dry.

Besides, “negotiating” with the natives to find new ore patches and expanding the factory is a lot of fun. I don’t want to ruin that.

So I decided to produce the basic science packs on Nauvis. That cut down my to-do list considerably.

Let’s Build a Generic Rail Network on Nauvis#

Next, I decided to expand the Nauvis factory with a clear design philosophy.

After looking into a lot of options, I concluded that building a generic rail network is light on UPS, smart, and still seems to keep just enough difficulty to leave room for originality.

Designing the Generic Rail Network#

After doing some surveys, I made it work with the following approach.

The design philosophy of the generic rail network is as follows.

  • Each sub-factory imports and exports through the rail network
  • Each sub-factory has an export station and an import station for each product
  • An empty train heads to an export station that is currently free
  • A train carrying cargo heads to the import station that matches the cargo it loaded
  • A train that has nowhere to go because all stations are full heads to a rest station
  • A train that is about to run out of fuel heads to a refuel station

In short, it’s the logistic network’s design philosophy, as done by bots, carried over to trains as is.

  • Provider station: Passive provider chest
  • Requester station: Requester chest
  • Refuel station: Roboport
  • Relax station: Roboport

This lets each sub-factory be designed without worrying about where its inputs and outputs go, and it cuts power and UPS consumption by a wide margin compared to bots.

Taken to the extreme, this means building a city-block-style factory. But city blocks are way too orderly. You end up just slapping blueprints down everywhere, and I was worried it would be no fun.

There’s a saying that “given the opportunity, players will optimize the fun out of a game,” and this approach seems like it can dodge that.

The Main Station near the landing pad. The biolab is nearby too, so all the science packs get gathered here.
The Main Station near the landing pad. The biolab is nearby too, so all the science packs get gathered here.

Implementation#

So here’s how I implemented it.

Every freight train in this rail network has only provider stations as its destination.

But I set the interrupts as follows.

  • If fuel is almost out, go to a refuel station.
  • If it’s carrying any cargo, go to a requester station that requests that cargo.
  • If there’s a free provider station, go there.
  • If it can’t find a destination, go to a relax station and wait until a new destination turns up.

Train schedule.
Train schedule.

Designing the Aquilo Ferry#

Aquilo is a planet where one careless trip can leave you completely stuck. Resources are limited, so transporting supplies over a robust regular line is a must.

At the same time, Aquilo is the farthest planet from Nauvis. If robustness were all I wanted, I could just fly slowly, but I want to secure a decent amount of throughput.

On top of that, solar panel efficiency drops sharply the farther you get from the sun. For rocket production and for saving space, nuclear power is a must.

The drag a space platform takes seems to depend heavily on the ship’s width. So for the same area, longer and narrower is better.

In other words, the Aquilo line needs to meet these requirements.

  • Can carry a huge number of rocket turrets
  • Never runs out of rockets
  • Runs on nuclear power
  • As long and narrow as possible, to reach top speed

So I designed the Aquilo ferry.

Aquilo-Class Cruise Ship: UrbanWulf#

UrbanWulf. I took this after reaching Aquilo, so note that the nuclear power plant has been replaced with a fusion power system.
UrbanWulf. I took this after reaching Aquilo, so note that the nuclear power plant has been replaced with a fusion power system.

I put the following touches into this ship.

Inventory Management with Two Sushi Belts#

Roughly speaking, this ship has two sushi belts.

  • The asteroid chunk belt
    • A belt for putting collected asteroid chunks on and handing them to the crushers.
  • The main belt
    • A belt for putting the crushers’ output and everything else on and distributing it throughout the ship.

Dynamic Recipe Switching for Asteroid Crushers#

From my Gleba experience, I learned that circuit networks are extremely powerful for inventory management. As a new challenge, I tried changing recipes through the circuit network.

Roughly speaking, every crusher decides its recipe by the following criteria.

  • If water drops below the set amount
    • Switch every recipe to the basic Oxide asteroid crushing to get ice
    • (If water runs out, the reactors can’t generate power, so this takes top priority)
  • If there’s at least the set amount of some asteroid chunk
    • Run the processing recipe for that asteroid chunk
  • Otherwise
    • Randomly run the advanced crushing recipe for each asteroid type

This avoids the belt clogging up from a specific asteroid chunk filling it, while letting me prioritize getting whatever chunks I need in an emergency. After tuning a few constants, this system became surprisingly stable.

The circuits around here manage the inventory on the belt.
The circuits around here manage the inventory on the belt.

Inventory Management with Cargo Bays#

To keep the main belt from clogging, I decided to pack in as many rare cargo bays as I could and use the ship’s storage as a buffer.

At the end of its loop, the main belt passes right next to the space platform hub. There I placed one inserter that stores items from the belt at random, plus an unloading inserter for each item that only turns on when the stock in the hub exceeds a certain amount.

This keeps the hub from filling up, and also lets the ship itself work as a collector of carbon, sulfur, and calcite.

Anything this buffer still can’t absorb gets dumped overboard.

Dynamic Target Speed Adjustment#

By PWM-controlling the amount of oxidizer fed to the thrusters with a pump, I made it possible to adjust the ship’s speed (that is, the amount of incoming asteroids) depending on the situation.

  • If ammo drops below the set amount: 0 km/h
  • If sailing between Gleba and Aquilo, or Fulgora and Aquilo: 100 km/h
  • Otherwise: no limit

This prevents the ship from being destroyed by running out of ammo, while still letting it run at full speed on relatively safe routes.

Improving Gleba#

After dozens of hours of trial and error, I managed to design a module that can produce various items while keeping them fresh.

The new module.
The new module.

Gleba is truly brutal, but there’s something weirdly addictive about it.

Improving Nauvis’s Defense Line#

I designed a defense base armed with artillery that can connect to the generic rail network I described above. I extend a rail to a remote location and set up this defense base, and it wipes out the biters within the pollution cloud’s range. This put a stop to the biter attacks.

The defense base.
The defense base.

To Aquilo at Last#

And finally, Aquilo.

What is this little island? How the hell am I supposed to develop this????

HELP
HELP

More articles

All articles →
ilapaj
ilapaj

Notes on games, radio and technology, translated from the Japanese blog.

封面
Sample Song
Sample Artist
封面
Sample Song
Sample Artist
0:00 / 0:00