Симулятор хакера: Val Verde inc

Это длинный псто о творческих метаниях, поисках и, в перспективе, о хакерском симуляторе, который мы сочиняем уже месяца два. В какой-то момент стало понятно, что нужно мнение сообщества: третье, четвертое и любое другое мнение. Как это стало понятно и как мы вообще докатились до жизни такой? Вы не просили, а я расскажу.

Симулятор хакера: Val Verde inc

Начало

"А что если будет такая игра как Uplink, но по настоящему, ну типа начиная от эмулятора процессора и заканчивая операционкой и сетевым стеком и все напишем сами?" — спросил голос в моей голове. Мозг, конечно, отсеял какую-то часть сложности. Мол, ну не прям процессор, а что-то наподобие Cardiac — смешная бумажная модель процессора. Какой-то однопроходный конпелятор из книжки Никлауса Вирта. А в качестве ОС в очередной раз перепишем Minix из книжки профессора Танненбаума. Когда прошлый раз какой-то финский студент его переписывал, получилось много шуму, очень удачно.

Голоса в голове также заставили потратить первый месяц на написание процессора воображаемой модели 7076. Эмулятор процессора писать приятно: захотел, внес строковые операции прямо в инструкции. И математику. Правда, если перестараться, процессор может получиться сильно задумчивым. К концу месяца процессор был фактически готов, он умел ветвления, вектора прерываний, процедуры, стек; уже планировался С-компилятор. А потом мы его выкинули. Почему?

Прощай, 7076-эмулятор
Прощай, 7076-эмулятор

Механики

Моя девушка загуглила остальные игры.

Сначала никакого беспокойства: остальные игры были технически просты. Hacknet, Grey Hack, Hacker simulator. Наши же планы разрастались до симулированного открытого мира. Рядом с тем, что мы затеяли, это все были поделки. Очень красивые поделки. С, чёрт его побери, геймплеем, о котором я совершенно забыл. Нам нужны внятные игровые механики, консоль никого не веселит. Это было неприятной новостью. Без внятных игровых механик получится не игра, а шизофренический цифровой артефакт вроде TempleOS.

Делание операционной системы
Делание операционной системы

Вообще, хакерский симулятор, это очень несчастный жанр. Игроку скармливают "типа техноштуки чтобы потом бдыщь и owned by {nickname}". Приятная новость в том, что с этим можно соперничать. Надо просто перестать делать эмулятор интернета и начать писать игру. Итак, что у нас с механиками?

Сам по себе взлом не всегда весёлый квест. У игрока должно быть по меньшей мере два способа решить задачу.

* Веб-хакинг. Условно занимательно искать способы заставить скрипт сайта выполнить нужный тебе код или впихнуть запрос к базе данных в какое-нибудь сайтовое место. Веб это сравнительно просто, наглядно и легко, берём. Мы можем встроить в игру как браузер, так и соответствующий сервер.

* Взлом сети. Это одновременно нудно и сложно: пробить NAT, сканировать порты, попытаться не задеть систему обнаружения вторжений, получение-повышение доступа. Звучит "игриво", но представьте что вам это надо делать десять раз. Двадцать. Да, игроку можно подсунуть сканеры уязвимостей и как-то автоматизировать этот процесс, но в целом это не продает игру. Если геймифицировать, то сойдет для авто генерируемых заданий. Разбавлять в пропорции "один к двадцати".

* Поиск своих уязвимостей в сервисах. В чистом виде это кромешный ад. Однако, превращать игру в покупку "эксплойта" и колдование купленного эксплойта на атакуемый сервер не хотелось бы. Решение нашлось в виде облегченного аналога core wars, она же "война в памяти": игрок подключается к "порту" и загружает предварительно написанный эксплойт на облегченной версии ассемблера (вот он и пригодился!). Задача — победить "сборщик мусора", заполнить N ячеек за определенное количество тактов чтобы все это не продолжалось веки вечные. Задача сборщика мусора, соответственно, очищать ячейки. Если игрок не справился, он идет покупать компьютер с аналогичной защитой и переписывать эксплойт под сборщик. Какие-то эксплойты мы ему продадим на рынке, но не всё, ой не всё.

Core wars и почему его надо облегчать
Core wars и почему его надо облегчать

* DOS-атака. Не дудос. Тут мы сочиняем один некорректный пакет в виде комбинации символов и направляем на атакуемый сервер. Задача состоит в том, чтобы парсер подавился такой комбинацией. Сервер ложится, заказчик платит деньги, все счастливы кроме владельца сервера.

* Фрикинг и всякие странные интерфейсы. По сути сборник мини игр, который сгодится разнообразить геймплей. Подключиться к спутнику, к сотовой вышке, к ядерному реактору, к сердечному импланту, сделать там что-то осмысленное и уйти восвояси.

* Социальная инженерия. У нас есть очень осторожные планы использовать анализ естественного языка и нейросеть. Мысль состоит в том чтобы в режиме квеста найти админа и начать ему писать некоторый текст. Соответствующие алгоритмы позволяют оценивать текст как "злой", "добрый", "заискивающий", etc. То есть определить его тональность. Дальше в режиме диалога же мы пытаемся раскрутить админа на то чтобы он сдал нам пароль, подбирая к нему ключик: определенный и уникальный набор подходящих высказываний. В общем, должно получиться что-то среднее между симулятором свиданий и игрой на повышение симпатии в Oblivion. Дай Бог мне сил сделать это не таким нудным, как мини-игра в Oblivion.

Экономика

Со знанием о механиках пришло знание о сроках. Мы хотим закончить альфа-версию до тепловой смерти вселенной, а то и вовсе к марту-апрелю. Поэтому пришлось писать ОС непосредственно на C#. Выкинули сетевой стек, прощай протокол ДЦП/IP. Выкинули сложную модель процессов, под вопросов возможность игрока писать свои программы. На их место пришла экономика.

Много кто пытался делать экономику, но у нас-то точно все получится. В хакерском симуляторе и рогалике это в целом выглядит не так сложно. Берем инициативного человека, заставляем его взять кредит и выйти на рынок. Делаем фондовый рынок, где можно торговать акциями и фьючерсами. Если грубо, фьючерс это обещание что-либо поставить, акция это доля в предприятии. Так, по крайней мере, у нас.

Технически, инициативный человек это сборник бизнес-стратегий: он может демпинговать, завышать цены, заказывать конкурентов. Собственно, хакерские заказы это только одна из стратегий, оттуда мы получаем "денежные квесты". Его задача — захватить большую долю рынка. Выстрелит — выходит на рынок акций. Прогорит — отправится на органы в счет оплаты кредита. На его место приходит более инициативный человек. И, чтобы он мог избежать той же судьбы, генерирует инициативных людей генетический алгоритм — это как раз ему по плечу.

Вся эта возня генерирует цены на продукты питания, на ресурсы, кредитную ставку и прочие параметры; они в свою очередь влияют на недовольство населения. Из этих параметров генерируются новости, а через новости игрок узнает что он как-то влияет на окружающий мир. Без этого вся игра превращается в сборник миниигр, а это уже невкусно.

Покупайте деньги
Покупайте деньги

ЛОР и еще раз экономика

Итак, наш мир — это середина девяностых. Повсюду irc-чаты, еще живы bbs-доски — такие сайты, к которым надо подключаться консолью. Но с некоторыми поправками в виде криптовалют для взаиморасчетов по хакерским услугам; еще должен быть облачный провайдер. Чтобы хакер на ворованные документы, купленные на кардерском сайте, смог приобрести себе приличный сервер.

Это часть игровой экономики. Если у нас есть автогенерируемые задания с зарабатыванием денег, то должны быть и способы их потратить на более мощные компьютеры. Более сложные компьютеры смогут расшифровывать более сложные пароли, запускать некоторый софт вроде сканеров уязвимостей, возможно мы позволим игроку вести собственный бизнес, для чего также потребуется компьютер. В общем, игрок должен тратить деньги. А чтобы он не заработал всех денег и всех не победил очень уж легко, мы вводим систему репутации.

Особая фишка игровой вселенной это мануалы, подсказки, сделанные в виде сайтов. Совершенно точно будет поисковик и будут мануалы в духе статей Криса Касперски, ms rem, wasm.ru и прочая. Там же новостные сайты, сайт банка, интерфейс фондового рынка, et cetera. Для пущей атмосферности мы соберем странички в какой-нибудь древней версии FrontPage — это сама по себе древняя программа для создания сайтов. Точно будет irc-чат, где генеративная нейросеть будет обсуждать сама с собой новости при помощи сленга и такой-то матери, она же будет источником подсказок для квестов, а иногда и заданий.

FrontPage собственной персоной
FrontPage собственной персоной

Чего, наверное, не будет

По моему глубокому мнению, хакерство это медитативный процесс. Это про подумать, поэтому скорее всего не будет экшона с таймерами, "ваш компьютер взломал другой хакер", "вас арестовали и оштрафовали". Возможно у проваленных квестов будут какие-то дополнительные последствия кроме снизившейся репутации; но моя душа ближе к медитативным головоломкам, чем к кликер-играм про взлом пентагона. Хотя это опционально, если аудитория заинтересуется и захочет чтобы персонажа преследовала сетевая полиция, все это можно переиграть.

А еще не будет консоли и нищего WPF, вместо этого мы сочиним красивый интерфейс на Unity. Зачем здесь Unity, спросите вы? А какой я к черту инди-разработчик без Unity...

Итак, вы все дочитали до конца и вы большой молодец. Теперь моя большая просьба: если у вас есть какие-то идеи, предложения, пожелания, замечания, дайте обо всем этом знать в комментариях. И всех с наступающим Новым годом!

66
4 комментария

а кто ЦА? чем мудрёнее и аутентичнее, тем больше вероятность, что в игру мало кто сунется. Hacknet для вас простой? в Стиме по 100-300 человек в онлайне

Ответить

О том и речь же. Hacknet одарил меня откровением что надо делать механики, а не начинать с симулятора электронов. Но технически он несложный.
ЦА... интересующиеся хакерством люди. Разумеется мы ознакомим игрока со всеми механиками и дадим возможность пройти игру с помощью спинного мозга. Но для тех кто пожелает задуматься и усугубить, должна быть возможность получить более аутентичный опыт.
Все как в реальности, можно быть скрипт-кидди, а можно потеть за отладчиком.

1
Ответить

Была ж игра где сидишь в квартире и по дарнету шаришься. Там тебя могли убить бандиты, маньяк, мог спецназ вломится.

Ответить

Welcome to the Game наверн. Это скорее хоррор-паззл, чем симулятор; так они себя по крайней мере позиционируют

1
Ответить