October 16, 2019

Дмитрий Николаев - про создание мобильного тайкуна, дизайн документацию, геймджемы

Дмитрий Николаев - молодой разработчик, выпустивший мобильную игру Pharmacy Tycoon (ссылка на игру - в конце статьи). Дмитрий захотел поделиться своим опытом создания игры и согласился дать интервью каналу "Кодзима Гений".

О себе

- Как ты познакомился с видеоиграми?

- С видеоиграми я познакомился, когда мне было год или два. Мой отец играл в Diablo, Starcraft и другие олдскульные игры. Мне как ребенку было очень интересно узнать, что же там такое происходит на экране монитора. Поэтому обычно он играл, а я наблюдал. Лет в 5 я и сам сел за компьютер.

- В каком момент ты понял, что хочешь создавать видеоигры?

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

- Какое у тебя образование? Ты пошёл учиться для того, чтобы создавать игры, или просто «лежала душа»?

- Я получил бакалавра прикладной математики в Киевском Политехническом Институте и продолжаю обучение в Техническом Университете Дрездена. В 17 лет я понятия не имел, что хочу делать, знал только, что это должно быть связано с IT. Удалось поступить на прикладную математику, там и остался. Не скажу, что я жалею о выборе, но эта специальность больше связана с анализом данных, а курсе на 3-м я понял, что душа у меня к этому не особо лежит.  

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

О Pharmacy Tycoon

- Опиши в трёх предложениях, что представляет собой твоя игра.

- Pharmacy Tycoon — симулятор развития фармацевтической корпорации. Игроку необходимо не только избежать банкротства, но и не дать погибнуть ни одному из регионов, импортируя в них лекарства. Без вмешательства игрока со временем состояние каждого из регионов ухудшается, пока все люди в нем не вымрут.
- Как ты пришёл к идее игры?

- До создания Pharmacy Tycoon я оттачивал навыки на простых играх. В какой-то момент мне захотелось создать что-то более сложное, интересное и уникальное. Решил сделать какой-нибудь тематический тайкун, где игроку нужно заработать много денег и стать самым успешным предпринимателем.

Я решил, что создание игры хорошо подойдет в качестве дипломного проекта ввиду своей сложности с математической и технической части.

Первой идеей сеттинга была нарколаборатория и бордель. Заправлять баром, нанимать стриптизерш и варить мет в подвале до сих пор кажется мне очень интересной идеей. Суть была в правильном управлении персоналом и удовлетворении желаний посетителей. Все планировалось сделать в 3D.

В итоговой версии было решено вообще отказаться от каких-либо персонажей в угоду производительности и простоте разработки.

К сожалению, дипломному руководителю так не показалось, и мне пришлось быстро менять концепцию. В то время я активно смотрел Доктора Хауса и мне прям запала в душу вся эта тема с больницами и таблетками. Как оказалось, игр с темой про создание лекарств не так и много. Так и родился Pharmacy Tycoon.

- Не кажется ли тебе, что сейчас на рынке достаточно много игр, которые используют эту тему? Например, Weed Inc.

- Игры с такой тематикой, несомненно, уже существуют. Я верю, что даже из избитой идеи можно сделать хорошую игру при грамотном подходе, обыграть её как-то по-новому, привнести нечто своё. Сейчас тяжело найти тему, которую до тебя еще никто не использовал.

- Что отличает твой проект от других симуляторов производства, если их так можно назвать?

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

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

- Какие механики и функции в игре нравятся лично тебе?

- Самым большим вызовом для меня была система строительства, подсмотренная у Fallout Shelter. Одна огромная комната образуется после апгрейда двух смежных комнат поменьше. Именно с этой механики я и начинал разработку игры, возможно потому она мне и запомнилась больше всех, такая себе первая победа.

Проблема большинства последних тайкунов в том, что в них нельзя проиграть, очень быстро теряется азарт и интерес. Я хотел, чтобы перед игроком стояла не только задача заработать денег, но и какая-то другая цель. Поэтому я придумал механику с “лечением” разных регионов с помощью созданных лекарств. Таким образом в игре реализовано дополнительное испытание. Его невыполнение ведёт к проигрышу так же, как и банкротство.

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

О процессе разработки

- Ты разрабатываешь игру один или в команде?

- Все, что касается геймдизайна и кода, я делал сам. С артом и интерфейсом мне помогал знакомый художник.

Естественно, друзья тоже помогали с тестированием. Было бы ошибкой не показать игру людям, не знакомым с концепцией и не знающим, как играть. Наблюдения за их игрой помогли мне понять, как можно упростить игровое взаимодействие и сделать проект user friendly.

- С чего ты начал разработку игры?

- С создания дизайн-документа и четкой обрисовки внутриигровых механик, анализа конкурентов.

- Для создания игры ты написал геймдизайн документ. По нему же ты и вёл разработку. Показывал ли ты документ другим людям?

- Документ я показывал только художнику. Поначалу концепция не была понятна даже ему. На основе его обратной связи я детализирован геймдизайн. От текстового описания я перешёл к графическому объяснению для упрощения восприятия.

- Как много раз ты переделывал дизайн документ?

- Я ни разу не переделывал его с нуля, но довольно много раз менял уже написанное. Очень важно поддерживать диздок и вовремя его обновлять, иначе можно запутаться, забыть какие особенности должны быть в игре, а каких уже не должно быть. Такие несоответствия копятся, как снежный ком. В итоге они приводят к значительным проблемам коммуникации и разработки. В моем случае проблемы эти были не такими явными, так как копия “активного” дизайн-документа всегда находилась у меня в голове, потому геймдизайнер (в виде меня) и программист (все еще в виде меня) всегда знали о текущем состоянии игры. В команде же не всегда у всех одинаковая информация, что без должного контроля может создавать проблемы при разработке.

- Как ты считаешь, переделывание дизайн документа много раз – это положительный или отрицательный показатель?

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

- Насколько сильно итоговый вариант игры отличается от первоначального варианта?

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

- Есть ли в первоначальном варианте геймдизайна механики и функции, которые отсутствуют в итоговом варианте, но которые очень хочется видеть в игре?

- Да, безусловно. Некоторые механики и должны были быть в игре на релизе, поэтому не исключено, что однажды я их внедрю в релизную версию. 

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

- Как выглядит твой типичный рабочий день?

- Обычно к началу работы у меня есть какой-то план, список задач, которые нужно выполнить. Раньше я создавал эти задачи в проекте на гитхабе, но затем перешел на обычную бумагу с ручкой, потому что так быстрее, когда работаешь в одиночку. Затем следует либо написание тестов либо обычный плейтест (что происходит чаще). Нахожу баги, просматриваю код еще раз, чиню то, что поломано, приступаю к новой порции задач - и так по кругу.

- С какими проблемами ты сталкивался при разработке? Можешь привести примеры проблем, связанных с геймдизайном, программированием и коммуникацией, которые могли оказаться критическими.

- С геймдизайном проблемы довольно типичные. Сначала встал вопрос о связывании всех механик в единое целое, создание того самого “геймплея”. Игровой цикл должен был быть понятен, прост и не перегружен. Долго экспериментировал на бумаге, думал, как оно будет лучше играться. В общем, на продумывание ушло около месяца. Туда же можно отнести и фильтрацию всех новых идей, которые появлялись в ходе разработки. Порой долго решал, приживется ли фича или нет. Советовался с художником (который тоже порой подкидывал идеи), мы спорили, пока не приходили к консенсусу. 

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

С программированием тоже было не всё гладко. В какой-то момент я понял, что в коде у меня получается каша, приходилось много рефакторить, чтобы самому не запутаться. Обнаружил для себя Event-driven programming и активно стал его использовать, что очень упростило мне жизнь. Начинать разработку нужно с продумывания общей архитектуры. Определить то, какие сущности должны быть, как они связываются между собой, какие паттерны использовать.

По поводу коммуникации никаких проблем не наблюдалось, так как общаться по поводу разработки приходилось только с художником. Я старался все детально описывать и мы хорошо понимали друг друга.

- Какими инструментами разработки ты пользуешься?

-- Github использовал в начале разработки как доску с задачами. Наглядно, удобно, но с бумагой и ручкой было быстрее.
Другой важнейшей функцией Github является возможность бекапа, но я это решил, подключив Collab в Unity. Это позволило мне делать бекапы сразу внутри редактора, кликнув два раза мышкой.

 Я выбрал Unity из-за простоты в обращении и мультиплатформенности. Кроме того, C# в Unity мне нравится куда больше, чем С++ в Unreal, так что я особо долго не раздумывал.

В качестве редактора для разработки в Unity я использую Visual Studio или встроенный Monodevelop.

Для редактирования аудио я установил Audacity. Добротная программа, если нужно подкорректировать аудио-трек или какой-то звук. Не всесильная конечно, но для старта точно подойдет.

Трейлер монтировал в After Effects, арты делались в Photoshop. Стандартный набор.

- Ты выпустил игру в Google Play. Почему? Планируешь портировать на другие платформы?

Я выпустил игру в Google Play исключительно по финансовым причинам. Лицензия разработчика стоит гораздо дешевле, чем на iOS и действует гораздо дольше. Никаких портов в данный момент не планируется. По крайне мере, пока игра не начала приносить доход мне это кажется сомнительной идеей. Да и со временем у меня сейчас напряженно.

- Проводил ли ты исследование аудитории перед выпуском?

Не проводил, скорее ориентировался на похожие игры (к прим. Fallout Shelter, Hustle Castle, даже Plague Inc.). Ожидал около 2000 загрузок за все время (так как бюджет для маркетинга у меня равен нулю), за пару дней получил уже около 200, посмотрим, как пойдет дальше.

- Какой фидбек ты получил после релиза? Какой из них тебе запомнился больше всего?

Судя по фидбеку я понял, что игра хорошая, если разобраться, но разобраться поначалу некоторым людям было сложно. У многих присутствовали проблемы с туториалом, жаловались, что не очевидно (ведь текст в туториале никто не читает). Несколько дней назад я выпустил обновление, делающие обучение более наглядным.

О личном опыте

- Ты участвовал в геймджемах?

-- Пара университетских хакатанов, а из глобальных только Global Game Jam.

- Как ты считаешь, геймджемы полезны для геймдизайнера, или это пустая трата времени?

- Однозначно полезны, и не только для геймдизайнера. Работа в стрессовых условиях и при сжатых сроках помогает понять, что ты действительно можешь сделать и что умеешь. Кроме того, это прекрасная возможность чему-то научиться или перенять опыт сотоварищей по команде (у конкурентов тоже можно много научиться, кстати говоря).

- Что тебе больше всего запомнилось на геймджеме?

- Больше всего запомнилось то, как я кодил два дня практически без сна, такое было впервые, а по началу от паники я вообще забыл, как программировать и гуглил, как заставить объект двигаться в Unity. К счастью, на второй день паника прошла.Я был и главным геймдизайнером, моя идея в итоге и пошла в прод, если можно так сказать. По моему опыту, после того как идея придумана и детально описана, пользы от дизайнера на геймджеме не особо много, потому таким ребятам приходится перенимать на себя роли художников или подключаться на написание кода.

- Перед тем, как сесть писать дизайн документ, ты изучал какие-нибудь книги или курсы по геймдизайну?

- Прослушал открытый курс лекций по геймдеву в своем университете и читал Level Up! The Guide to Great Video Game Design, частично The Art of Game Design: A Book of Lenses.

- Твои ожидания от процесса разработки игры отличаются от реального процесса разработки?

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

Обращение к читателям

- Мы любим романтизировать работу геймдизайнером из-за недостатка информации о том, чем же они занимаются на самом деле. Можешь дать пять советов для читателей, на что им стоит обращать внимание в первую очередь после того, как они решили делать свой собственный игровой проект?

- Конечно:

  1. Нужно делать дизайн документ
  2. Не бояться отдавать на тест случайным людям, а лучше вообще провести альфа или бета-тесты и получить как можно больше отзывов, найти как можно больше багов.
  3. Думать об игровом балансе заблаговременно, вначале разработки.
  4. Не бояться экспериментировать, даже если ваши идеи кажутся всем остальным странными.
  5. Заранее думать о продвижении.

- Дима, большое спасибо!

Ссылка на Pharmacy Tycoon:

https://play.google.com/store/apps/details?id=com.coldzero.pharmacytycoon