Тебе предстоит провести тайную, методичную операцию по собственной ликвидации активно используя unix-терминал. Отключить логи, обойти системы безопасности, стереть все данные и уничтожить следы. Один неверный шаг — и задача может провалится.

0

В недалёком будущем всё человечество стало инфоморфным, и полностью перешло в огромный виртуальный мир.
Люди живут там уже сотни лет, а в реальность выходят только по необходимости — починить оборудование,
построить новый узел или провести физические работы в дата-центрах.
Те, кто отказался встраиватся в систему, давно вымерли или одичали.Главный герой — старый сисадмин одного из дата-центров.
Уже больше четырёхсот лет он поддерживает работу огромной системы, в которой живут люди.
Но его настоящий биологический мозг сильно износился.
В последнее время он всё чаще ошибается, лицезреет ведения давно умерших коллег и чувствует, как сознание начинает отказывать.
Герой понимает: скоро мозг начнёт сбоить так сильно, что он может случайно повредить критическую инфраструктуру, за которой следит.
Уволиться он тоже не может — сразу вскроется, что он давно подделал свой возраст в базе.
Это приведёт к большим проверкам и жёстким ограничениям для всех.
Единственный выход — полная самоликвидация без следов.Игроку предстоит провести сложную операцию по собственной ликвидации.
Нужно тихо отключить системы логирования и тревожной сигнализации,
обойти защиту контроллера, который следит за состоянием мозга,
полностью стереть все данные на дисках и убедиться,
что после смерти ЦНС ничего не останется в сети и не отправит сигнал другим админам.
Мешать будут постоянные heartbeat-сигналы,
автоматические логи, резервное питание и контроллер, который при любом сбое пытается отправить тревогу.
При этом важно не оставить ни одного следа, который мог бы привести других админов к расследованию.В самом конце, когда система жизнеобеспечения отключена, а ЦНС работает на резерве, админ топит тело биологического дрона которым управлял в болоте.

Геймплей и основные механики

Основной геймплей строится вокруг работы в терминале. Игрок взаимодействует с реальной командной строкой, выполняя технические операции: редактирование конфигурационных файлов, отключение систем логирования, перепрошивку контроллера и другие действия, необходимые для бесследной ликвидации.
Каждая команда несёт риск — ошибка в синтаксисе, пропущенный параметр или неверная последовательность действий может привести к срабатыванию систем тревоги и провалу.Задачи требуют точности и понимания работы системы, поэтому игра достаточно сложна для неподготовленного игрока.
Для помощи в навигации и понимании происходящего, а так же для передачи внутреннего состояния главного героя, введена система внутреннего монолога админа.Это диалоговое окно, отображающее поток сознания и технические рассуждения главного героя. В нём игрок видит, как админ анализирует текущую ситуацию, вспоминает необходимые шаги и оценивает возможные риски.
Когда админ анализирует ситуацию или стоит перед выбором, в тексте выделяются ключевые фрагменты мыслей. Игрок может выбрать одну из них, тем самым определяя, на чём именно сосредоточится сознание персонажа. Выбор влияет на дальнейшие действия, доступные варианты решений и общее состояние психики. Это позволяет глубже понять мотивацию героя и одновременно служит подсказкой для решения сложных технических задач.
По мере отключения оборудования и приближения к финалу внутренний монолог деградирует. Логика рассуждений нарушается, появляются повторы, обрывы мыслей и шизофазия. В такие моменты выбор ключевых мыслей становится особенно важным, так как от него напрямую зависит, сможет ли игрок сохранить контроль над ситуацией до самого конца.
Исходный размер 1666x360

Пример стандартного монолога

Исходный размер 1626x341

Пример монолога с выбором

Процесс разработки и основные трудности

Игра разрабатывается на UDK (урезанный Unreal Engine 3) — довольно старом и уже закрытом движке. Это наложило серьёзные ограничения и заставило идти нестандартными путями.
Главная задача — создать достоверный терминальный интерфейс, в котором игрок проводит всю игру. Для этого был полностью написан свой эмулятор терминала на Flash (ActionScript 3) с поддержкой ANSI-экранированных последовательностей, цветов, позиционирования курсора, очистки экрана и т. д. Весь UI работает через Scaleform (GFxMoviePlayer).Основная логика игры, включая симуляцию терминала и поведение операционной системы, реализована в отдельной DLL-библиотеке. UnrealScript выступает связующим слоем: он получает ввод от игрока, передаёт его в DLL, получает результат и направляет вывод в Scaleform (Flash), где рендерится интерфейс терминала.
Главная техническая проблема заключалась в неработоспособности штатного DLLBind в 64-битной версии UDK. Out-параметры возвращали мусор, а вызовы часто приводили к крашам. Для решения пришлось разработать отдельный патч UDK-x64, исправляющий внутреннюю структуру ffi_type_pointer в исполняемом файле движка.
Этот патч я так же выложил на github
https://github.com/remornullptr/UDK-x64-patch/tree/mainПередача данных между UnrealScript и DLL также потребовала дополнительных решений. Строки часто приходилось конвертировать в массивы целых чисел и собирать обратно, что усложняло код и делало интеграцию громоздкой.
Мы используем файлы cookies для улучшения работы сайта и большего удобства его использования. Более подробную информац...
Показать больше