Here's an overview of my Factorio ship designs which can be built inexpensively.
See also the Design topics section below.
These ships are designed for use within the first four planets.
- The Hornet (the cheapest useful ship)
- The Tanto (a fast, cheap solar ship)
- The Crockett (the cheapest useful nulear ship)
- The Wakizashi (a fast, cheap nuclear ship)
- The Aquiller (an Aquilo-capable ship)
Cheap | Fast | |
---|---|---|
Solar | Hornet | Tanto |
Nuclear | Crockett | Wakizashi |
Image | Name | Cost | Furnaces | Nauvis/Fulgora Lap time |
---|---|---|---|---|
![]() |
The Aphid | 4 Launches | 1 | 1.5 hours (non-loiter) |
![]() |
The Gnat | 4 Launches | 1 | 65 minutes (non-loiter) |
Image | Name | Cost | Furnaces | Nauvis/Fulgora Lap time |
---|---|---|---|---|
![]() |
The Flea | 5 Launches | 2 | 27.5 minutes (non-loiter) 44 minutes (loiter) |
![]() |
The Mosquito | 5 Launches | 2 | TODO |
Image | Name | Cost | Furnaces | Nauvis/Fulgora Lap time |
---|---|---|---|---|
![]() |
The Tick | 6 Launches | 3 | 20 minutes (loiter) |
Image | Name | Cost | Furnaces | Nauvis/Fulgora Lap time |
---|---|---|---|---|
![]() |
The Wasp | 6 Launches | 4 | TODO |
![]() |
The Bladder | 7 Launches | 4 | TODO |
![]() |
The Foam Hand | 7 Launches | 4 | TODO |
Image | Name | Cost | Furnaces | Nauvis/Fulgora Lap time |
---|---|---|---|---|
![]() |
The Hornet | 7 launches | 5 | TODO |
![]() |
The Stomach | 8 launches | 5 | TODO |
Image | Name | Cost | Furnaces | Nauvis/Fulgora Lap time |
---|---|---|---|---|
![]() |
The Mini Falcon | 9 launches | 6 | TODO |
![]() |
The Revolver | 12 launches | 6 | TODO |
Image | Name | Cost | Furnaces | Nauvis/Fulgora Lap time |
---|---|---|---|---|
![]() |
The Tailfin | 10 launches | 7 | TODO |
Image | Name | Cost | Furnaces | Nauvis/Fulgora Lap time |
---|---|---|---|---|
![]() |
The Space Needle | 20 launches | 8 | TODO |
Image | Name | Cost | Furnaces | Nauvis/Fulgora Lap time |
---|---|---|---|---|
![]() |
The Tanto (v2--) | 13 launches | 10 | TODO |
Image | Name | Cost | Furnaces | Nauvis/Fulgora Lap time |
---|---|---|---|---|
![]() |
The Crockett | 9 launches | 6.4 equiv. | TODO |
![]() |
The Photonuke | 11 launches | 6.4 equiv. | TODO |
![]() |
The Swordfish | 12 launches | 9.6 equiv. | TODO |
![]() |
The Wakizashi | 15 launches | 13 equiv. | TODO |
Image | Name | Cost | Furnaces | Nauvis/Fulgora Lap time |
---|---|---|---|---|
![]() |
The Aquiller | 21 launches | 9 equiv. | TODO |
Image | Name | Cost | Purpose |
---|---|---|---|
![]() |
Gleba Station | 20 launches | Rockets + Ammo |
Table of contents:
Fuel metering can be used to limit top speed and improve fuel efficiency.
This is often required, as unlimited multi-engine speeds can cause the turrets to be overwhelmed and running engines at 50% efficiency can result in ice shortages.
Note: I use the word "fuel" below, but you can instead pump-control the oxidizer (as shown in the screenshots).
A decider combinator "clock" can be used to pulse-width modulate (PWM) the fuel pump.
It offers a lot of flexibility.
Wire it up like so:

Here is a basic "clock":

It counts up (from zero) and wraps at 14, creating a period of 15 ticks:
Configure the pump to "Enable when C = 1":

With a full tank attached, a pump will move 20 units of fuel per tick.
With 60 game ticks per second, our period-15 clock operates 4 ticks per second, metering a flow rate of 80 units of fuel per second.
This implements constant-efficiency control:
This gives the ship in question (single-thruster, 16-tile-wide) an "uphill/downhill" speed variation of 117/137kps:
Increasing the clock "wrap" value (from 14) would decrease fuel flow (and speed), and increase efficiency, while using a smaller value would increase fuel flow (and speed), and decrease efficiency.
Note that increasing fuel flow beyond the max input rate of the thrusters has no effect.
In this example, a single thruster can consume a max of 120 fuel per second,
which corresponds to a clock period of 60 / (120 / 20) = 10
, i.e. a "wrap value" of 9.
The above formula is <period> = <ticks per second> / (<max thruster rate> / <fuel per tick>)
, then subtract 1 to convert the period into the "wrap value".
I took some measurements of speed and efficiency for some select flow rate values:


We can control speed by adding an "AND" condition to our combinator:
The clock only runs when speed is below the limit.
Note that we need to choose a wrap value which can at least reach the (uphill) speed we want.
Here, I've chosen 13, which from the table above can achieve an uphill speed of 120kps, which gives the control loop a bit of (needed) head room.
We also need to connect a wire from the cargo hub to the combinator's input, and configure the hub to enable "Read speed":

If we continue to pump fuel while the ship is stopped, it will saturate the thrusters.
When the ship subsequently departs, it will experience a burst of high, unregulated speed as the thrusters empty to the control loop's set-point.
This burst of speed can cause the turrets to get overwhelmed, and is also very inefficient.
We can avoid this burst of speed by adding AND conditions to check if we are stopped at any planet:

The clock only runs when we are not stopped at a planet.
Again, we also need to ensure a wire is run from the combinator input to the cargo hub, and configure the hub to enable "Read moving from" and "Read moving to":

However, note that this creates a deadlock issue if the thruster ever empties completely:
- it needs thrust to beat the "!= 3" condition
- but the "!= 3" condition must change before it can produce any thrust!
The empty thruster happens in two cases:
- the ship was just constructed and this is its maiden voyage
- the ship exhausted its supply of fuel while en route
The first case leaves it stuck at Nauvis and the second case leaves it drifting in space.
In both cases, the deadlock can be broken by very briefly disabling the pump's "Enable" condition.
The second case can be solved permanently by... (continue to the next section)
If fuel consumption presistently exceeds fuel production, continuing to run the thrusters at a low efficiency setting can be counterproductive.
If we add minimum fuel and oxidizer conditions, when tank values get critically low the ship will effectively fall back to operating at the rate of fuel production.

The clock only runs when fuel and oxidizer are above 1k.
This also prevents the thrusters from emptying completely during a trip, which eliminates the second case of the stopped-ship deadlock issue described above.
If the ship runs out of ammo while at speed, we're cooked.
We can add an AND condition to compare velocity and ammo:

The clock only runs when speed is less than ammo count.
Note that you'll need to set a higher-than-usual minimum ammo condition in the schedule to prevent the ship from slowing down near the end of each hop:
