A Herculean Effort: Running Factorio on 1,000 Floppy Disks

Instructions

In an age where artificial intelligence increasingly automates our tasks, stripping away human agency, there's a peculiar allure in deliberately making things more complex and manual than necessary. This narrative explores one such endeavor.

Embracing the Absurd: Gaming's Ultimate Retro Challenge

The Audacious Concept: A Game on Antiquated Storage

In a world accustomed to seamless digital experiences, YouTuber DocJade chose an extraordinary path for the game Factorio: eschewing conventional hard drives for over a thousand 3.5-inch floppy disks. This decision immediately presented a myriad of technical and logistical hurdles.

Navigating the Labyrinth of Obsolete Media

The primary obstacle was the minuscule capacity of these disks, typically around 1.5 MB each, coupled with their discontinued production. Factorio, a relatively compact game by today's standards at 1 GB to 1.5 GB, becomes gargantuan when measured against floppy disk limitations. The financial implications were also significant, with the disks alone potentially costing upwards of $2,500. DocJade ultimately acquired 1,250 former AOL trial disks, inadvertently securing an astonishing 250 years of defunct internet access.

Innovative Solutions for Outmoded Hardware

Traditional methods for handling such a project, like virtual disk images or massive RAID arrays, were dismissed as either cheating or impractical. Instead, DocJade engineered a bespoke file system named Fluster, crafted in RUST. This custom solution was essential to manage the game's data across numerous physical disks, circumventing the limitations of standard operating systems.

The Genesis of Fluster: A Custom File System

Fluster was designed to segment each floppy into 512-byte blocks, with 2,880 blocks per disk. Its architecture permitted up to 65,000 disks, providing a theoretical storage capacity of around 90 GB, more than sufficient for Factorio. The file system incorporated a CRC checksum in every block for data integrity and utilized a dual 16-bit numbering system to track disk and block locations, a deceptively simple yet critical design choice.

Overcoming Technical Hurdles and System Migration

The development of Fluster faced significant challenges, including the need to transition from Windows to a Linux-based environment (specifically, Windows Subsystem for Linux) to implement a FUSE file system. Initial tests revealed substantial inefficiencies, with early versions requiring nearly half a million disk swaps for routine operations, a number deemed unacceptable for practical use.

Triumphs and Tribulations: The Final Frontier

Through persistent optimization, DocJade drastically reduced the disk swaps required to load the game to a mere 1,500. This arduous process involved manually preparing and wiping 1,250 disks, with a considerable failure rate. The actual game loading sequence stretched over a week, demanding constant manual intervention from dawn till dusk. Despite some lingering issues, such as Fluster's incomplete support for locked files, pre-saved game states could be loaded, allowing DocJade to complete Factorio in approximately nine hours of playtime. Remarkably, this feat was accomplished by a 21-year-old, prompting reflection on individual achievements. For those inspired by this audacious project, the Fluster file system is now open-source on GitHub, inviting others to explore this unique blend of retro hardware and modern software ingenuity.

READ MORE

Recommend

All