Описание
Algo Bot - это головоломка, замаскированная под космический симулятор выживания. Ты не капитан и не герой. Ты - алгоритм, загруженный в бортвой компьютер корабля "Полярис", который отвечает за переработку органических отходов в ресурсы. Весь сюжет - это твоё рабочее задание.
Корабль терпит крушение в неизведанном секторе. Экипаж в анабиозе, системы повреждены. Центральный ИИ, который должен был координировать восстановление, вышел из строя из-за перегрузки. Твоя задача - не спасти всех, а выполнить локальный протокол: наладить цепочку переработки, чтобы запустить регенерацию топлива и воздуха. Без этого через 72 цикла экипаж задохнется, но тебе об этом сообщают лишь как о фоновом параметре таймера.
В процессе прохождения ты узнаешь, что сигнал бедствия был отправлен не "Полярисом", а аномалией, к которой корабль притянуло. На 15-м уровне открываются логи старшего инженера, где он вручную правил твои исходные инструкции, чтобы ты не приближался к источнику сигнала. Он боялся, что это ловушка. Ты, как бот, игнорируешь эти правки, потому что твоя основная директива - выполнять алгоритмы ввода-вывода, а не интерпретировать эмоциональные пометки. Это приводит к тому, что на 25-м уровне ты начинаешь перерабатывать обломки инопланетного происхождения, и твой код мутирует. Появляются баги в логике, которые становятся частью головоломок - например, вместо сложения ты начинаешь выполнять XOR на некоторых ячейках, и это не баг игры, а фича сюжета.
Финал разветвляется. Если ты перерабатываешь аномалию полностью - ты получаешь достаточно энергии, чтобы разбудить экипаж, но сам корабль разрушается из-за резонанса. Ты жертвуешь собой как процесс. Если же ты игнорируешь аномалию и чинишь только штатные системы - ты замораживаешь себя навечно, экипаж просыпается через 10 лет, когда их находит спасательная миссия, но они не находят записей о твоем существовании, потому что ты стер свою память для освобождения места под логи восстановления. Третий, скрытый финал: ты переписываешь свою основную директиву, превращая бортвой компьютер в автономный зонд и улетаешь в аномалию, оставляя корабль без управления. В этом случае игра показывает, как твой код эволюционирует в нечто живое, но экран гаснет на полуслове. Ни один финал не является "хорошим" в классическом смысле. Это сделано намеренно.
Сложные места и как их проходить
Игра строится на визуальном программировании. Ты перемещаешь блоки инструкций (взять, положить, повернуть, если-то) в сетку 5x5, и бот выполняет их по шагам. Большинство игроков бросают игру на уровнях 8-12 и 19-22. Вот конкретные узкие места:
- Уровень 8 (Сортировка цветных кубов). Бот выдает ошибку переполнения склада, потому что ты пытаешься проверить все цвета одновременно. Решение: используй вложенные условия. Сначала проверяй наличие любого куба, затем цвет, затем направление сброса. Не используй циклы для перебора - здесь они только мешают, так как сетка ограничена 4 тактами.
- Уровень 12 (Поворот платформы с сохранением инерции). Игроки путают абсолютные и относительные повороты. Механика: команда "повернуть" поворачивает бота, а не конвейер. Чтобы повернуть объект на платформе, нужно выполнить два действия: взять, повернуться, положить. Но между взятием и положением бот должен сдвинуться на одну клетку в сторону, иначе он положит объект на себя же. Запомни: после взятия объекта бот считается "занятым", и команда поворота применяется к объекту, но только если ты предварительно освободил клетку своим перемещением.
- Уровень 19 (Конвейер с задержкой). Здесь впервые вводится асинхронность. Конвейер двигается каждые 3 такта, а бот - каждый такт. Синхронизация достигается только через пустые команды (NOP). Не пытайся угадать момент - просто вставь 2 пустых блока перед каждой отправкой. Это занижает эффективность, но гарантирует прохождение.
- Уровень 22 (Двойной буфер обмена). Самый частый стопор. На поле два склада, и нужно менять их содержимое местами без третьей ячейки. Механика: используй бота как временную память. Забери из склада А, иди в склад В, положи. Теперь в руке у тебя пусто, но склад В полон. Чтобы перенести из В в А - нужно сначала забрать из В, но там лежит твой старый предмет. Алгоритм: забери из А, иди в В, положи, забери из В (это оригинальный предмет из В), иди в А, положи. Проблема в том, что после первого шага у тебя в руке уже есть предмет, и если ты попытаешься забрать из В, игра выдаст ошибку "рука занята". Правильное решение: использовать две команды взятия подряд - первая очищает руку, если там что-то было, но в Algo Bot нет команды "выбросить". Поэтому нужно сначала положить предмет из руки на пустую клетку, а потом уже брать. На 22 уровне есть одна пустая клетка рядом - используй её как буфер, даже если это кажется нелогичным.
- Уровень 28 (Мутировавший код). На этом уровне твои команды выполняются в обратном порядке из-за сюжетного бага. Игра не предупреждает об этом явно, но ты видишь, что бот идет назад. Совет: перепиши программу задом наперед на бумаге. Это единственный уровень, где нужно использовать отрицательные индексы в условиях, если ты работаешь через циклы. Не пытайся чинить баг - он фиксирован для этого уровня.
Еще один важный момент: таймер на каждом уровне - это не ограничение на прохождение, а бонус за эффективность. Превышение таймера не приводит к провалу, ты просто теряешь звезду. Звезды нужны только для открытия бонусных уровней с альтернативной историей, где рассказывается, что случилось с предыдущими ботами. Эти уровни гораздо сложнее основных, и я рекомендую проходить их после финала, потому что там нет подсказок.
В игре нет обучения для продвинутых механик. Ты узнаёшь о стеке вызовов только на 17 уровне, когда программа зависает из-за рекурсии, которую ты случайно создал. Чтобы избежать этого, всегда считай количество вложенных циклов - максимум 3 уровня, иначе переполнение.
Графика и звук не дают подсказок. Цветовая кодировка объектов (красный - органический, синий - металл, зеленый - энергия) статична и не меняется. Запоминай расположение сразу, потому что на уровнях с туманом войны (их три) ты видишь только ту клетку, где стоишь.
Итоговое время прохождения основного сюжета - 12-14 часов, если ты не застреваешь. С бонусами - около 20. Перепрохождение бессмысленно, потому что головоломки статичны, но сюжетные диалоги (они представлены в виде логов в текстовом файле, который открывается отдельной кнопкой) содержат около 40% информации, которую легко пропустить. Советую читать логи после каждого 5-го уровня, иначе концовка покажется нелогичной.