Перейти к содержанию

Энтузиаст запустил Factorio с тысячи дискет — игру пришлось загружать неделю

Новости 0

Недавно с симулятором строительства фабрик Factorio провели масштабный эксперимент. DocJade решил запустить игру с тысячи дискет.

По современным меркам Factorio весит очень мало — клиенту игры потребуется менее 2 ГБ на накопителе. Однако одна дискета вмещает лишь около 1.5 МБ данных, поэтому для записи потребовалось очень много дискет.

DocJade смог приобрести 1250 штук, но не уточнил их стоимость.

Источник изображения: Официальный YouTube-канал DocJade

DocJade признал, что мог бы просто сделать виртуальные файлы размером с дискету в виртуальной машине, однако это исключало бы использование физических дискет, т.е. было бы читерством.

Другим вариантом могло бы стать создание RAID-массива с отдельным приводом для каждой дискеты, но такой проект бы стоил порядка 10 тысяч долларов.

Поскольку в привод можно вставить только одну дискету DocJade создал техническое решение: написал кастомную файловую систему «Fluster» на языке программирования Rust.

Это сработало из-за технической особенности Factorio: в отличие от большинства игр она загружает почти весь контент перед главным меню, а не работает в режиме «потоковой загрузки» текстур.

Система «Fluster» делит диск на блоки по 512 байт (всего 2880 блоков на диск). Несколько байт каждого блока выделены под контрольную сумму для обнаружения повреждений диска, а также несколько 16-битных чисел служит указателями на диск, отслеживая все блоки.

В итоге энтузиаст смогу загрузить Factorio с тысячи дискет, но потребовалось больше недели работать «с рассвета до заката».

Игра не полностью функциональна, поскольку не все файлы поддерживаются в созданной им системе «Fluster». Тем не менее возможно запускать сохранённые игры и даже успешно пройти Factorio.