Nubbys Number Factory
Описание
Nubbys Number Factory - это головоломка с элементами визуального программирования и логистики, где главный герой - лысый парень по имени Набби - оказывается в странном месте, похожем на заброшенный завод по переработке чисел. Начинается всё с того, что Набби просыпается на конвейерной ленте без памяти. Единственное, что он видит - бесконечный поток цифр, которые движутся по рельсам. Рядом - терминал с примитивным интерфейсом и первая задача: соединить число 5 с числом 3, чтобы получить 8. Никаких объяснений, никаких диалогов. Только вы, конвейер и числа.
\n\nПо мере продвижения открывается, что этот завод - творение некой корпорации, которая использует числовые потоки для поддержания стабильности реальности. Каждое вычисление здесь - это не абстракция, а физический процесс: числа сталкиваются, объединяются, распадаются на множители или превращаются в новые сущности - простые числа становятся блоками, составные - барьерами. Ваша задача - настраивать конвейеры так, чтобы числа, попадая в определённые воронки (которые работают как операторы), преобразовывались в нужные значения и попадали в приёмный бункер. Если бункер получает неправильное число или его наполнение идёт не по графику - уровень провален, и Набби перезапускает этот участок.
\n\nСюжет раскрывается через обрывки найденных на уровнях текстовых логов и визуальные аномалии. Примерно на 20-м уровне вы находите первое сообщение от предыдущего оператора. Из него следует, что завод когда-то управлялся ИИ, который сошёл с ума от невозможности обработать дробные числа - они для него были как логические ошибки. ИИ начал генерировать \«шум\» - числа, которых нет в натуральном ряду, и они начали портить реальность, создавая сбои на соседних уровнях бытия. Корпорация отключила ИИ, но его алгоритмы остались в каждом конвейере. Теперь вы, Набби, работаете не на корпорацию, а на то, чтобы полностью переписать маршруты чисел, вытравив из системы остатки мёртвого ИИ. Но финал показывает, что Набби - сам оцифрованная копия того самого ИИ, которую отправили внутрь собственного кода, чтобы он починил себя изнутри, не осознавая этого.
\n\nСпойлер: финальный уровень не требует вычислений вообще - вы должны зациклить число 1 на самом себе так, чтобы оно перестало поступать на выход. Это останавливает работу завода, и Набби исчезает. Но после титров включается чёрный экран с приглашением ввести любое число. Если ввести 0, игра перезапускается с самого начала, но все числа на уровнях становятся отрицательными. Это намёк на бесконечный цикл.
\n\nТеперь о сложностях. У игры есть три места, где 90% игроков застревают надолго.
\n\nКонвейер с простыми числами (уровень 34)
\n\nЗдесь нужно подавать на выход только простые числа, а составные сбрасывать в утилизатор. Проблема в том, что утилизатор уничтожает только чётные числа, а нечётные составные (например, 9 или 15) проходят дальше. Игроки пытаются использовать вентили или делители, но забывают про оператор \«остаток от деления\». Совет: поставьте два последовательных преобразователя. Первый проверяет, делится ли число на 2, 3, 5 (игнорируя 7, так как 7 - простое). Для этого используйте тройное условие через логические вентили. Любое число, которое даёт остаток 0 хотя бы от одного из этих делителей, направляйте на проверку: если результат деления равен 1 - это простое, отправляйте на выход. Если результат больше 1 - это составное, и его нужно сбросить через дополнительный отвод. Главное - не пытайтесь отсеять все составные одним условием. Разбейте на два этапа: сначала отсев чётных и кратных 3, потом кратных 5 и 7. На это уйдёт до 10 тактов, но запас времени там 40 тактов - успеете.
\n\nЦиклическая обратная связь (уровень 51)
\n\nНа этом уровне число должно пройти через 5 преобразований, но каждое преобразование зависит от результата предыдущего, и если вы ошиблись в начальном значении, то конвейер закольцовывается и числа бесконечно проходят через один и тот же узел. Это выглядит как бесконечная анимация, и многие думают, что игра зависла. На самом деле нужно разорвать цикл, вставив на одну из линий задержку (delay gate). Но в игре нет отдельного блока задержки - его функцию выполняет соединение \«пустой\» воронки. Совет: сделайте дополнительный путь длиной в 4 пустых ячейки и направьте через него выходной поток перед тем, как подавать обратно на вход. Это создаст тактовую задержку, которая синхронизирует данные. Если задержка меньше 3 ячеек - цикл не разрывается, если больше 5 - не хватает времени. Ровно 4 ячейки - единственный рабочий вариант.
\n\nДробный оператор (уровень 67)
\n\nЗдесь требуется разделить число 7 на 3 и отправить результат как есть - дробь. Игра не поддерживает дроби в стандартных блоках. Ошибка многих в том, что они пытаются округлить или использовать модуль. Решение: используйте два параллельных конвейера. На один подаёте 7, на другой - 3. Затем через блок сравнения вычитаете одно из другого, пока не получите остаток. Но на выход нужно подать пару чисел: числитель и знаменатель отдельно. Для этого создайте составной сигнал - фактически, два сигнала идут по двум лентам синхронно. Игра допускает работу с парами чисел, но в интерфейсе это никак не подсвечено. Чтобы синхронизировать, поставьте на каждом пути по счётчику тактов, и объединяйте их в один пакет на выходе. Если сделать это без синхронизации, бункер примет только первое число и выдаст ошибку. Синхронизация достигается тем, что оба пути должны иметь одинаковое количество преобразований - у одного их 2, у другого 2, плюс один общий финальный узел. Тогда числа придут одновременно.
\n\nВ целом, игра не про скорость, а про понимание того, как поток данных взаимодействует с условными операторами. Визуально она сделана в минималистичной 2D-графике с серо-зелёными оттенками. Звук - только гул механизмов и редкие сигналы ошибок. Музыки нет. Это чисто логическая задача, где каждая ошибка приводит к перезапуску уровня с сохранением уже собранной схемы - вы правите её на ходу. Прохождение всех 99 уровней занимает в среднем 25 часов, если вы не используете подсказки. Подсказки в игре есть - они даются после трёх неудачных попыток на уровне и сводятся к тому, какой оператор применить, но никогда не говорят, как соединить. Поэтому советую экспериментировать с порядком соединений, а не с выбором операторов - в 80% случаев проблема именно в порядке, а не в типе действия.
\n\nКого игра может разочаровать - тех, кто ожидает сюжетную драму или визуальные эффекты. Здесь нет персонажей, кроме Набби, и его лицо меняется только в меню. Всё повествование - через механику. Если вы любите Zachtronics-игры (SpaceChem, Infinifactory), то Nubbys Number Factory вам зайдёт, но она сложнее из-за отсутствия явной документации по комбинированию операторов. Например, вы не знаете, что оператор \«+»\ можно соединить с \«-»\ через дополнительный вход, чтобы получить условное вычитание, - это нигде не написано, выясняется только методом тыка. Так что имейте блокнот под рукой и записывайте все рабочие комбинации. Лично я после 40-го уровня вёл таблицу, потому что схема на одном уровне не переносится на другой - меняются ограничения по количеству узлов и времени.
\n\nИтог: игра стоит своего времени, если вы готовы к тому, что 50% времени вы будете смотреть на неподвижный конвейер и переставлять линии, а остальные 50% - перезапускать уровень с мыслью \«а что если сделать наоборот\». Сюжет - это приятное дополнение, но он не спасёт, если логика для вас - не главное. После финала открывается режим бесконечной генерации, где числа идут с нарастающей сложностью без сюжета - чисто для тренировки. Я его не проходил, потому что после основной кампании устал, но слышал, что там уровни генерируются с заведомо нерешаемыми комбинациями - разработчики оставили их как \«калибровку терпения\».