Running Factorio from over 1,000 floppy disks is a masochistically manual process that surely sets a new record for game load times

I beat Factorio on 1,000 Floppy disks. - YouTube I beat Factorio on 1,000 Floppy disks. - YouTube
Watch On

In this age where AI threatens to do everything for us, robbing the human race of agency, is there a certain masochistic appeal in intentionally and needlessly making something much more complicated and manual than usual?

This immediately throws up almost countless problems, starting with the circa 1.5 MB capacity of a double-sided variant of such a disk and the fact that they're not made any longer.

That's before you even think about the technicalities. Factorio is a very small game by modern standards, taking up about 1 GB to 1.5 GB of storage space once installed. But that's absolutely massive if a floppy disk is your metric.

Cost is an immediate problem, with 10 old-stock floppies apparently costing about $23, you're looking at about $2,500 in floppies adding in some spares. In the end, DocJade managed to source 1,250 disks from floppydisk.com for an undisclosed price. They turned out to be old AOL dial-up internet free trial disks, which added up to 250 years of free AOL dial-up access, albeit AOL recently ended that service after 34 years. Pity.

Factorio on 1,000 floppies

1,250 AOL dial-up trial floppies FTW. (Image credit: DocJade)

Anyway, DocJade says the easy way to do this would be to make a series of floppy-sized files and open them one-by-one in a virtual machine. But that, as he says, would mean no using physical floppies. And that's cheating.

Another option is a huge RAID array, but you'd need a drive for each disk, which would cost over $10,000 and, as he says, "Windows does not like having a lot of USB devices plugged into it."

So, how to run the game from the disks when you can only have one disk in the drive at a time? This where things get very technical. But very long story hugely truncated, he wrote his own file system. Yep, really. It's dubbed Fluster and was written in RUST.

For most games, an approach like this would be a nightmare. Things like texture streaming would mean manually locating and retrieving endless non-physically-adjacent floppies. He says many modern games couldn't cope with this and would "simply crash". But Factorio loads almost the entire game before hitting the title screen. So it should theoretically work.

Anywho, the Fluster file system divides each disk into 512-byte blocks, with 2,880 blocks per disk. The specifics of Fluster's file system headers mean it's limited to about 65,000 disks. But that adds up to about 90 GB, more than enough for Factorio.

Coding Factorio onto 1,000 floppies

Like any of us would in this situation, DocJade coded his own file system. (Image credit: DocJade)

Other details include the last four bytes of every block allocated to a CRC checksum to enable accurate disk corruption detection, while a pair of 16-bit numbers act as disk pointers, keeping track of all the blocks. The first stores the disk number for the block, the second the block number on the disk. Simples!

From here, there's some stuff about inodes used for pointing at files in the system that's well beyond me. And then more stuff about directory blocks and file extent blocks that's even more beyond me, but essentially allows files to be split up into chunks so they can be allocated across multiple blocks.

Initially, DocJade used Windows, not Linux. But because he wanted to make Fluster a FUSE file system, but he couldn't get that to work on Windows, he switched the whole thing to Linux, or rather Windows subsystem for Linux, which had its own set of problems with things like USB passthrough.

Initial versions of Fluster seemed promising for smaller file sizes. But problems emerged as the data scaled up. Early testing showed that writing 1,000 files with random small sizes to a folder would take nearly half a million physical disk swaps, each individually promoted by disk number. Not good!

Factorio running off 1,000 floppies

It takes a mere week to load the game up. (Image credit: DocJade)

But after trying a lot of different cache strategies, DocJade managed to get the whole thing down to 1,500 disk swaps for loading the game. He then made up 2,000 custom stickers for the floppies and had to wipe all 1,250 of the disks manually, with a 10% failure rate for that process alone. As for actually loading the game from the disks, that takes over a week, working "sunrise to sunset".

The game still isn't 100% functional due to issues like Fluster's lack of support for locked files. But pre-saved games can be launched and the YouTube video shows it running apparently well enough for DocJade to "beat" Factorio in a little under nine hours play time.

Rounding this insanity out, it's worth noting that DocJade is just 21 years of age. In an ironic kind of way given the ultimate frivolity of this endeavour, that's enough to have you wondering what the heck you've done with your life.

Finally and for the record, the Fluster file system is now fully open sourced and available on DocJade's GitHub. So, if you fancy a go you won't even have to code your own file system. Bit too easy then, if you ask me.

Asus RX 9070 Prime graphics card
Best graphics card 2026
Jeremy Laird
Hardware writer

Jeremy has been writing about technology and PCs since the 90nm Netburst era (Google it!) and enjoys nothing more than a serious dissertation on the finer points of monitor input lag and overshoot followed by a forensic examination of advanced lithography. Or maybe he just likes machines that go “ping!” He also has a thing for tennis and cars.

You must confirm your public display name before commenting

Please logout and then login again, you will then be prompted to enter your display name.