Создание глобальной стратегии про тайное правительство: опыт авторов Secret Government
Планирование разработки, рисование карт и попытки обучить нейросеть.
Всем привет! Мы GameTrek, небольшая студия из Москвы. Secret Government — наш первый игровой проект. До этого студия уже существовала не один год, но занималась исключительно бизнес-играми. Так что при создании Secret Government мы, что называется, узнали много нового.
Только что мы запустили кампанию по сбору средств на Indiegogo и, можно сказать, находимся на финишной прямой к релизу. Самое время оглянуться назад и вспомнить об этапах создания игры. Надеемся, наш опыт будет полезен другим молодым инди-командам.
Secret Government — это симулятор мирового правительства. Или, говоря чуть более полно, — это историческая стратегическая игра, в которой игрок управляет тайным обществом и направляет ход развития мировой истории согласно своему Великому Плану.
По ходу игры ему предстоит избегать разоблачения, распоряжаться ресурсами общества, тайно внедряться в правительства разных стран и с помощью косвенных методов управления и манипуляций вмешиваться в происходящие в странах процессы.
Игра разбита на миссии, каждая из которых ставит перед игроком определённую историческую задачу: например, устроить Великую Французскую революцию. Игра начинается в 17-м веке и продолжается до наших дней и недалёкого будущего.
Выбор идеи
В нашем случае всё начиналось не с конкретной идеи, а с появившейся возможности сделать «какую-нибудь» игру.
Мы устроили мозговой штурм, в ходе которого придумали около двух десятков самых разных идей для игр (в диапазоне от казуального парного раннера для мобилок до стелс-экшена в стиле Mark of the Ninja в сеттинге антиутопического ретро-футуризма). На этой стадии мы не ограничивали себя ни жанром, ни движком, ни платформой.
После этого мы изучили относительно похожие игры, установили наличие потенциальной аудитории и перспектив окупаемости, выбрали четыре наиболее перспективных идеи и проработали их до стадии полноценного концепта. К каждой игре создали ёмкий двухстраничный документ с описанием жанра, целевой аудитории, монетизации, базового геймплея и списком уникальных фишек. Из этих четырёх идей мы выбрали одну, по ходу дела изрядно её переработав, дополнив и улучшив.
На этой же стадии стали понятны основные ресурсы, нужные проекту. Мы добрали необходимых членов команды, выбрали Unity в качестве движка, прикинули начальную архитектуру кода и просчитали приблизительный план грядущих расходов.
Весь этот подготовительный процесс занял около месяца. Значимость его сложно переоценить. За это время идея сформировалась, выкристаллизовалась, каждый член команды теперь мог внятно объяснить другим и самому себе, что конкретно мы делаем и почему делаем именно это.
После того, как мы сформулировали идею сами для себя, настало время проверить, насколько наша будущая игра будет интересна аудитории. С этой целью мы собрали визуальный прототип игры: якобы летсплейное видео, для которого мы создали короткий игровой сценарий и нарисовали необходимые для этого сценария элементы.
В итоге голос за кадром комментировал свои решения на сменяющих друг друга нескольких экранах. В это время ничего, кроме начальной документации и этого ролика ещё не существовало, однако аудитория среагировала на игру, как на уже почти готовую (кое-кто даже спрашивал, где можно купить) и выдала нам весьма позитивный фидбек.
Утвердившись в концепции, мы запустили два параллельных процесса: проработку визуального стиля будущей игры и геймдизайна.
Геймдизайн и разработка
Проработка геймдизайна началась с определения ключевых ценностей, которых мы должны были придерживаться в разработке. Не все ценности пережили проверку временем, однако они задали фундамент для всей дальнейшей работы. В конце концов остались вот такие.
- Достоверность мира, симуляционность.
- Сторителлинг.
- Конспирологическая атмосфера.
- Динамичность игрового процесса.
- Мидкорный геймплей.
- Историчность.
- Многовариантность действий игрока.
Любое геймдизайнерское решение прогонялось через линзу этих ценностей. Всё, что не работало хотя бы на одну из них, отбраковывалось.
При этом последние две ценности вступили между собой в конфликт: либо сюжет игры двигается в соответствии с историческими реалиями, либо игрок может свободно развязывать не существовавшие конфликты и перекраивать карту мира по своему вкусу. До конца этот конфликт так и не решён.
Появилась компромиссная система свободы и даже провокации игрока к экспериментам во время самой миссии. Однако каждая следующая миссия при этом должна была начинаться с исторически достоверной ситуации. Одновременно мы сформулировали режим полностью свободной игры.
Также трудность вызвала размытость определения мидкорного геймплея. На разных стадиях проекта наше понимание варьировалось. Начали мы с чего-то напоминающего несколько усложненный Plague Inc. и постепенно, в погоне за симуляционностью, всё больше двигались в сторону Europa Universalis. Несколько раз за время проекта приходилось себя одёргивать, чтобы не переусложнять без необходимости и не погрязнуть в невыполнимом объёме работы.
Если говорить о последовательности разработки, то сначала был создан концепт-документ. В него, помимо ценностей, вошло описание структуры игры, структуры игровой сессии, условий побед и поражений, а также описание всех основных игровых сущностей, их иерархии и принципов взаимодействия между собой.
Далее постепенно начала появляться основная масса документов с подробной проработкой игровых механик (война, экономика, доступные игроку действия, игровые события) и формулами. Появился отдельный документ с основными сюжетными событиями. Постепенно заполнялись таблички по игровому контенту с данными по странам: религиям, национальностям, партиям, ценностям, сословиям и так далее.
Отдельной проблемой было создание искусственного интеллекта. Наш искусственный интеллект должен был, играя за правителей всех стран, уметь оценивать риски и выгоды собственных действий: повышения налогов, начала новых войн, угрозу революции и так далее. И в то же время он должен был сопротивляться действиям игрока по внесению дестабилизации.
В какой-то момент мы попытались приспособить под это дело нейросети. Но поняли, что, хотя нейросети замечательно обучаются и принимают какие-то решения, мы и сами не понимаем, на чём они основываются. Так что вся работа по балансированию проводилась вслепую. В итоге от нейросетей пришлось отказаться.
Вообще мы стремились к тому, чтобы большую часть времени код писался сразу по мере появления соответствующего раздела документации.
Мы дописывали одну механику за другой, покрывали их юнит-тестами и добивались, чтобы модели политических, экономических, дипломатических и военных процессов работали правильно после внесения изменений.
Мы работали двухнедельными итерациями с плейтестами и регулярными правками на их основе. При этом в зависимости от результатов тестов корректировались ТЗ на предстоящую работу. Несколько раз мы переделывали отдельные механики или убирали их вовсе.
Главный вывод из основной части работы — грамотное планирование очень ускоряет все процессы. Но, как ни планируй, всё равно всего не предусмотришь! Чем раньше у вас появится корректно функционирующий прототип, тем меньше лишней работы вы проделаете.
Визуальный стиль и интерфейс
Самой большой проблемой на этой стадии была коммуникация. Нередко оказывалось, что члены команды вкладывали в одни и те же слова или даже референсы совершенно разное.
Мы составляли довольно подробные требования к атмосфере игры и к тому, что и как рисовать и не рисовать. Искали референсы из разных игр, составляли мудборды, подбирали цвета и материалы. В какие-то моменты казалось, что количество проб и ошибок превышает разумные пределы.
Однако в конце концов нам всё же удалось прийти к определённому согласию. В этом нам тоже весьма помогла наша аудитория, которой мы время от времени показывали варианты картинок и спрашивали, что нравится, что нет, какие вызывает ассоциации и так далее.
Ситуация осложнялась тем, что наш художник не был поклонником жанра стратегий, и вообще был не из игровой индустрии. Поэтому для него были неочевидны многие вещи с точки зрения удобства игрока. Особенно это касалось интерфейса. Приходилось отдельно контролировать, какие картинки или иконки надо делать, например, контрастными или крупными, какая форма подачи информации будет привычна геймеру, а какая нет. Вероятно, художник из игровой индустрии обошёлся бы нам в меньшее количество потраченных усилий. Однако тут всё зависит от качества художника.
Карты
Одна из самых неожиданных проблем возникла у нас с созданием игровой карты. Казалось бы, что сложного — обычное для стратегий разделение континентов на страны, а стран на провинции. Однако мы хотели придерживаться максимально исторического разделения регионов, которое к тому же сохраняло бы адекватность на протяжении нескольких веков.
По наивности нам казалось, что нужно просто найти исторические карты и перерисовать их. Жестокое разочарование постигло нас, когда мы обнаружили вот эти факты.
- Вообще исторических карт очень мало. Вся картография европоцентрична, и что там происходило с границами в Азии или Южной Америке, никто толком не знает. При этом чем более ранний период мы берём, тем карт меньше. Карты стран, в которых в нужное нам время «ничего не происходило», вообще практически отсутствуют.
- Размеры административных делений областей в соседних странах кардинально отличаются друг от друга. Где-то области огромные и не делятся на более мелкие, а где-то невероятно мелкие и не объединяются в более крупные. Скажем, в рамках Священной Римской империи существовало больше фактически независимых государств, чем сейчас на всей планете.
- И вишенка на торте — исторические карты рисовали криворукие картографы. При попытке совместить границы разных карт оказывалось, что они совершенно не совпадают.
В итоге мы несколько умерили свои амбиции в плане историчности. Теперь мы ориентируемся на современные карты и отчасти даже на другие игры.
Сейчас мы собираем карты, обводим их в Adobe Illustrator и скриптами перегоняем их в игру.
Мы работаем над этой игрой уже больше года, и сейчас разработка уже близка к завершению. По результатам всей проделанной работы можем сформулировать главный совет молодым разработчикам — добавляйте себе в план разработки больше времени. Примерно на 30% больше, чем вам кажется разумным после того, как вы всё посчитали.
На начальной стадии невозможно предугадать, какие именно проблемы, мелкие и крупные, перед вами встанут, и сколько времени вы на них потратите. Тем не менее хороший результат окупит все ваши усилия, а планирование позволит избежать разочарований.