Как сделать казуальную игру
Как создать мобильный хит — советы от авторов Threes, Monument Valley и Crossy Road
Ресурс Develop Online задался вопросом, как создать казуальную игру, которая привлечет внимание миллионов игроков. Редакция попросила поделиться секретами успеха авторов таких хитов, как Threes, Monument Valley и Crossy Road. Именитые разработчики рассказали о своем подходе к определению аудитории, о том, как упростить геймплейные механики и стоит ли рассчитывать на «богатый игровой опыт» пользователей.
Редакция рубрики «Рынок игр» публикует перевод заметки.
В не столь отдаленном прошлом термин «казуальный» был определен очень четко.
Казуальные игры — жанр, получивший известность в эру ажиотажа вокруг роста и разнообразия игровой аудитории, который впал в немилость почти также быстро, как добился признания. Внутренние шутки про программное обеспечение, записанное на диск ради заполнения оставшегося свободного места, и клише в рекламах семейных игр на Wii TV сделали концепт казуальных игр чем-то вроде непристойного слова. До сих пор этот жанр встречают с подозрением и скептицизмом.
Однако тренд, породивший слово «казуальный», продолжал расти и развиваться. Сегодня в игры играет больше пользователей, чем когда-либо, и гиганты рынка мобильных игр дожили до тех времен, когда их имена вошли в поп-культурный лексикон даже неиграющей публики.
Казуальный жанр не исчез. Он просто изменил свое имя. Существует огромное количество доступных, популярных, привлекающих внимание общественности релизов, которые, кроме того, получили признание критиков, успешны, являются эталоном для всей индустрии, а иногда даже завоевывают награды. Это, например, такие тайтлы как Threes, Monument Valley и Crossy Road.
Самая большая моя ошибка заключается в том, что я создавал не игру, а мешанину, которая не могла никого заинтересовать.
— Ашер Вольмер, студия Sirvo (Threes)
В то же самое время, в общественном транспорте по всему миру частенько можно увидеть людей, играющих в Clash of Clans и Candy Crush Saga, так как гиганты free-to-play-игр продолжают делать из своих «казуальных» тайтлов потрясающе доходные бренды.
Казуальный жанр вырос. Но как сделать так, чтобы игра стала качественной и имела возможность распространиться по всему миру?
Проблемы для разработчиков казуальных игр начинаются с самой огромной задачи: аудитория. Например, если вы делаете крутой файтинг для обычных геймеров, вы, таким образом, приобретаете нишу, группу людей, на которой сосредотачиваете свои усилия, ваша работа должна соответствовать определенным вкусам.
Что же касается казуальных игр, то ваша потенциальная аудитория — это «все», ну или «все, у кого есть доступ к играм». Это очень обширная и разнообразная аудитория, и, кажется, невозможно удовлетворить потребности каждого.
Таргетирование для каждого
Итак, как сделать высококачественную игру, которая заинтересует как можно больше игроков?
«Вам все равно придется считаться со своей аудиторией, именно это я и делаю, — рассказывает Ашер Вольмер из Sirvo, маленькой команды, создавшей сенсацию в жанре пазл-игр — Threes. — Самые большие ошибки, которые я совершал, заключались в том, что я совершенно не учитывал аудиторию и создавал не игру, а мешанину, которая не могла никого не заинтересовать. А потом я очень расстраивался, что игра никому не нравится».
Именно по этой причине, по словам Вольмера, он рисовал в своем воображении особенную аудиторию для игры Threes.
«В эту аудиторию не входили абсолютно все на планете, — говорит Вольмер. — Я включил в неё всех, у кого есть мобильные телефоны. Оставалось сделать игру неотъемлемой частью телефонов. Она должна была соответствовать тому, как люди используют свои устройства, — например, сколько времени они готовы потратить на игру».
Другими словами, сам телефон стал целевой аудиторией игры Threes. Вольмер привязал разработку игры к количеству времени, которое игроки на нее тратят, и придумал тайтл, в котором не было режима реального времени и таймеров.
«У меня определенно была очень широкая аудитория, ровно столько людей, у скольких сейчас есть смартфоны, но было еще кое-что, что мне нужно было продумать», — объясняет он.
Дорога к успеху
Другие разработчики в погоне за всеобщим одобрением используют другой подход. Например, Мэтт Холл, один из двух разработчиков игры Crossy Road от студии Hipster Whale. Он был свидетелем того, как раскрутился проект, объединивший геймплей Frogger с игровой механикой Flappy Bird.
«Каждый раз, когда я создаю игру, я пытаюсь найти того, для кого я ее создаю, одного человека, которому это нужно», — рассказывает Холл, который утверждает, что такой подход может сделать игру заманчивой для более широкой аудитории.
«Это как увеличительное стекло; такой способ сосредоточиться, — продолжает он. — Чтобы создать популярную игру для всех, вам придется сначала сделать ее для кого-то одного. Это такое обращение к широкой аудитории через узкий канал: нужно выбрать одного человека, который мог бы представлять собой всю аудиторию. Иначе получится мешанина».
Все сводится к тому, чтобы понять, что представляют собой игры для аудитории. Возьмем, к примеру, Supercell — эта относительно новая компания стоит за локомотивом в мобильных играх под названием Clash of Clans.
«Вы не должны предполагать, что ваша аудитория играла в игры до этого, — утверждает Вейл Вайнио, дизайнер компании Supercell. — Опытные геймеры знают много об играх, игровые клише и условные обозначения. Например, они понимают, что если выстрелить в красный бочонок, то он взорвется, или что красные сердечки обозначают уровень здоровья персонажа. Ваша аудитория не такая».
«Если начать разбираться в разнообразии символики в различных культурах, то все становится еще запутаннее, — продолжает он. — Вам все равно придется как-то передавать эту информацию игрокам, чтобы они могли принимать осознанные решения. И с этой точки зрения, вам придется общаться с кем-то, кто разговаривает на другом языке. Вам нужно будет брать вдохновение из реального физического мира, и разбивать свое послание на простейшие возможные части».
Рассматривать аудиторию с точки зрения логики и здравого смысла жизненно важно для создания успешной игры с потенциалом повсеместного распространения, но как насчет того, что стоит за пределами дизайна. Что нужно делать, чтобы привлечь «правильную» аудиторию?
Казуальные игры — это хардкор
В некоторой степени разработка казуальных игр не слишком отличается от процессов, стоящих за традиционными или core-играми. По крайней мере, так думает генеральный директор компании Pocket PlayLab Джейкоб Ликкегаард, который подписал с Rovio Stars контракт на издание настольной игры Juice Cubes. Для Ликкегаарда весь процесс выглядит довольно однозначно.
«Нет большого секрета в том, как сделать игру доступной, — говорит он. — Смысл в том, что как бы разнообразна ни была ваша игра, вы должны сосредоточиться на обучении игрока одному новому приему за раз.
Качество игры в основном определяется аудиовизуальной презентацией, вне зависимости от того, казуальная у вас игра или традиционная; оно опирается на последовательность интерактивных аудиовизуальных средств игры, и этот принцип работает вне зависимости от того, казуальная у вас игра или нет».
Что касается глубины, Ликкегаард уверен, что казуальные игры могут быть относительно сложными, изнурительными, и абсолютно точно могут похвастаться содержательной интерактивной основой.
«Игра в жанре “три в ряд”, созданная так, чтобы определенный уровень можно было пройти только после определенного хода или ряда сложных действий, может заставить игроков хорошенько постараться, чтобы пройти уровень, — продолжает Ликкегаард. — У хорошей казуальной игры есть пологая кривая обучения, она постепенно бросает новые вызовы игрокам, позволяя им остановиться в любое время, но всегда вернуться еще раз».
В расположенной в западном Лондоне студии Ustwo, создавшей всеми обожаемую игру Monument Valley, подход немного другой, и технический директор компании считает, что для распространения качественной казуальной игры требуется баланс между ее аутентичностью и доступностью.
«Аутентичность означает, что нужно сделать так, чтобы игра была сконцентрирована на сильнейших и наиболее оригинальных элементах концепта; не стоит отвлекаться на излишние функции и на поддержание “авторского голоса”», — утверждает технический директор Пол Пэшли.
Это значит, что команда часто принимает решения, которые противоречат общепринятым правилам, но по словам Пэшли, иногда нарушать правила означает как раз соответствовать духу всей игры.
«Например, пояснительный текст, который появляется на каждом уровне, — объясняет он. — Идея убрать его могла бы прозвучать дико, но нам казалось, что это правильно».
Что касается доступности, то команда применила проверенный способ — собрала обратную связь от пользователей.
«Мы добивались того, чтобы каждая функция была понятна каждому пользователю, на которых мы ее тестировали, и чтобы никто не чувствовал отчуждения от любого из аспектов игры, — объясняет Пэшли. — Для этого нужно было смотреть на все свежим, по-детски открытым взглядом и не предполагать, что игроки будут знакомы с игровыми клише».
Элегантность систем
Threes, Monument Valley, Crossy Road, Clash of Clans — очень разные проекты но в них всех есть нечто общее — простота и ясность не в ущерб вовлечению и развлечению; это как раз то, что удается далеко не всем казуальным играм.
«Существует много слишком простых игр, — рассказывает Вольмер из студи Sirvo. — Их полно в магазинах приложений, и мне они кажутся слишком скучными. Элегантность дизайна заключается в противостоянии ограниченной механике. Это такой затейливый способ сказать, что базовая механика любой игры должна иметь хорошую отдачу».
Этот подход Вольмер применяет ко всем своим последним играм, таким как ожидаемая вскоре Close Castles. В игре Threes передвижение плитки может привести к разным результатам. Оно может реорганизовать те плитки, которые находятся на экране, вызвать возникновение новой плитки или слияние нескольких имеющихся плиток.
«Мне кажется, что вы можете получить нужное время прохождения уровней и некоторую элегантность, нагрузив одни и те же действия большим количеством возможных результатов, — продолжает Вольмер. — И это может очень заинтересовать игроков. Однако у таких игр как Monument Valley и Crossy Road очень разный подход к таким механикам».
А у Supercell есть особенный фокус на игровых циклах; это не удивит тех, кто читал их теорию разработки игр в жанре free-to-play. Игровой цикл — это то, что, по мнению Вайнио, может в первую очередь и главным образом служить «бастионом простоты» в геймдизайне.
«Поймите, что именно делает вашу игру забавной, и постройте игровой цикл вокруг этого, — советует он. — Только после этого стоит добавлять больше систем в игру. Всегда спрашивайте себя, добавляя новую функцию: “Будет ли польза обычному игроку, если я добавлю это в проект?” В приоритете должны находиться те функции, которые покажутся интересными или полезными большинству игроков».
Сохраняя дизайн
Конечно, разработка казуальной игры — это только начало. В эру, когда работе дизайнера нет конца и края, поддержка, обновление, добавление нового контента в игру влекут за собой целый набор новых проблем для тех, кто занимается казуальными играми. Каждая из этих проблем сама по себе достойна стать отдельным предметом обсуждения, но в отношении разработки казуальных игр удержание пользователей — это то, чему можно способствовать еще до релиза, что можно включить в творческий процесс создания проекта.
«От людей из мира монетизации я четко усвоил одно: приобретение пользователей сводится к их удержанию, — рассказывает Холл из студии Hipster Whale. — Я бы раньше и не задумывался об удержании, пока не поговорил с одним из экспертов на конференции по играм».
Со временем Холлу стало очевидно, что даже если тайтл настолько же успешен, как Flappy Bird, становится неважно, что игроки могут играть по две минуты.
«Мы столкнулись с тем, что половина пользователей, загрузивших Crossy Road регулярно играли в игру около двух недель, — говорит Холл. — У игроков есть достаточно времени, чтобы рассказать об игре своим друзьям — это помогает её распространению. Пользователи вряд ли захотят поделиться игрой с друзьями, если играют в неё только две минуты. Так к нам пришло понимание того, как важно удерживать пользователей».
Как Crossy Road удается удерживать игроков? По словам Холла, все дело в создании хороших персонажей. Этому уделялось особое внимание при создании игры, и, как оказалось, не зря, — ведь это стало мощным толчком для виральной экспансии, которой удалось достичь игре Crossy Road.
Разработка простых игр является сложной задачей, но ясно одно: со взвешенным подходом к аудитории, тщательным продумыванием платформы, механики и простоты, всегда можно создать качественную, успешную и доступную игру.
Механика казуальных игр
На хабрахабре периодически предпринимаются попытки описания процесса игроделания с самых разных сторон — от воплощения 3D-графики до создания сетевых протоколов. Эти темы, безусловно, важны, однако довольно узкие. В данной статье я попробую использовать более широкий подход — рассмотрю принцип создания игрового движка для т.н. казуальных игр. Описываемая механика вполне подойдет для создания всяческих пакманов, арканоидов, платформеров и пр. Описание процесса будет на примере примитивного scrolldown шутера (из ностальгических чувств к Zybex и Xevious) — летаем по полю, сбиваем метеориты. Инструмент — Qt.
Сразу оговорюсь, что никаких красот и законченности в коде нет. Классы примитивны и повторяют код, функции неоптимальны, графика некрасивая никакая, зато это всё пыхтит и ворочается. Это — база, с которой можно работать дальше. Опытным программистам — пролистать за чашечкой чего-нибудь горячего, начинающим или вливающимся в тему возможно даст пищу для размышления. Начинаем.
Цикл приложения
Что это за такие участники?
Тактовый генератор игрового процесса — это привязанный к таймеру… эм… тактовый генератор игрового процесса. В нем контролируются перемещения объектов по игровому полю. Основное его назначение — обеспечение целостности игрового процесса и его одинаковость. Это очень важно — не только для того, чтобы скорость игры не зависела от производительности компьютера, но еще и для обеспечения синхронизации при игре по сети.
Симулятор непрерывности — это вспомогательные функции, основное назначение которых — следить, чтобы между вызовами генератора игрового процесса не произошло что-нибудь важное. Например, рассмотрим такой игровой момент:
Слева и справа изображены два последовательных вызова тактового генератора игрового процесса. Предположим, что скорость желтого круга = 3. Расстояние между кругом и прямоугольником, как видно из рисунка, = 2. Получается, что круг и прямоугольник так и не столкнутся, если им не помочь. Эту помощь и оказывает симулятор непрерывности.
Возможные способы организации циклов
Поток игрового процесса
Структура потока показана на рисунке:
Теперь немного кода с пояснениями.
Для начала устанавливаем частоты. Грубо говоря, сколько мс должно пройти между вызовами обработки логики, рендеринга:
А вот код основного цикла — с вызовом всех участников, проверками по времени и пр.
(прим. — если будете смотреть исходный код — там всё несколько сложнее. Идет подсчет кадров в секунду, вывод дебажной информации и прочее)
Наверняка возник вопрос — зачем функциям рендеринга и симулятора непрерывности знать время, которое прошло с момента последнего обновления игровой логики? Всё просто — для того, чтобы рассчитать моментальное состояние сцены, и верным образом его обработать и вывести на экран. Для экономии ресурсов вызывая симулятор непрерывности можно передавать также время его прошлого вызова.
Как всё это работает
Функция CheckGameRules проверяет игровые правила — кто в кого врезался, кто за рамки чего вышел и прочее. Кстати, в 2D это всё очень удобно делается функциями классов QPolygon, QRect и иже с ними.
Соответственно вызов симулятора непрерывности прост до безобразия. Всего лишь с небольшим шагом проверяем игровую логику:
Рендеринг отрисовывает игровое поле и вызывает Draw() всех объектов с параметром текущего отступа от последнего вызова тактового генератора игрового процесса. Плюс вывод служебной информации:
Собственно, остальное — тривиальное программирование. Скелет приложения разобран, а детали реализации можно посмотреть в прилагаемых исходных кодах. В качестве итога — внешний вид того, что у меня получилось:
Исходники тут. Летаем стрелками, стреляем пробелом.
Исходники на гитхабе.
Семь этапов создания игры: от концепта до релиза
Как создать свою игру? Сколько на этом можно заработать? Какая нужна команда? Каковы ключевые этапы разработки и что нужно делать команде на каждом этапе? Ответ на эти вопросы – в открытой лекции по разработке игр в рамках программы «Менеджмент игровых интернет-проектов», которую разместили наши партнеры — открытая система электронного образования Универсариум. Вот здесь можно посмотреть открытую лекцию:
Лекцию веду я, Константин Сахнов, директор игрового департамента компании Rocket Jump, научный руководитель образовательных программ подготовки кадров для игровой индустрии Высшей школы бизнес-информатики НИУ ВШЭ.
Должен сразу оговориться, в этой статье я приведу только выжимку — список этапов, их цели и логику перехода к следующим. Полная лекция доступна на видео. Помимо подробного описания этапов там есть немного о размере игровой индустрии и расчёте окупаемости игровых проектов.
Большая часть лекции посвящена этапам создания игрового продукта, основным аспектам разработки, документирования, создания игрового контента и развития проекта после начала открытого тестирования. Рассмотрим подробнее эти этапы:
1. Концептирование (Concept)
На этом первом шаге команда придумывает концепцию игры, и проводит начальную проработку игрового дизайна. Главная цель данного этапа – это геймдизайнерская документация, включающая в себя Vision (развернутый документ, описывающий игру, как конечный бизнес-продукт) и Concept Document (начальную проработку всех аспектов игры).
В продуктовой документации геймдизайнер формулирует и сохраняет свои идеи. Исполнителю документация позволяет правильно понимать свои задачи по реализации продукта. Тестировщик четко видит, что и как тестировать. Для Продюсера/ПМа эта документация предоставляет материал для формирования планов и контроля выполнения задач. Инвестор же (особенно на ранних этапах) получает понимание, на что именно он выделяет средства.
Принципиально важно, чтобы вся проектная и продуктовая документация поддерживалась в актуальном состоянии на всех этапах развития проекта. Для её эффективного использования и обновления правильно использовать специальные инструменты. Например, использование Confluence для ведения геймдизайнерской документации сильно упрощает процесс параллельного внесения изменений несколькими участниками разработки, а также позволяет всем членам команды оперативно получать любую актуальную информацию, касающуюся продукта и всех его изменений.
Среди ключевых принципов формирования продуктовой документации стоит отметить: структурированность, защищенность от разночтений, полное описание продукта, регулярную актуализацию.
2. Прототипирование (Prototyping)
Важный этап проектирования любой игры – это создание прототипа. То, что хорошо выглядит «на бумаге», совершенно не обязательно будет интересно в реальности. Прототип реализуется для оценки основного игрового процесса, проверки различных гипотез, проведения тестов игровых механик, для проверки ключевых технических моментов.
Очень важно на этапе создания прототипа реализовывать только то, что нужно проверить и в сжатые сроки. Прототип должен быть простым в реализации, т.к. после достижения поставленных перед ним целей, он должен быть «выкинут». Серьёзная ошибка начинающих разработчиков – нести временную инфраструктуру и «костыли» реализации кода в основной проект.
3. Вертикальный срез (Vertical Slice)
Цель Вертикального среза – получить минимально возможную полноценную версию игры, включающую в себя полностью реализованный основной игровой процесс. При этом высокое качество проработки обязательно нужно воплотить только для тех игровых элементов, которые существенно влияют на восприятие продукта. При этом все базовые фичи игры присутствуют как минимум в черновом качестве. Реализован минимальный, но достаточный для воплощения полноценного игрового процесса набор контента (один уровень или одна локация).
4. Производство контента (Content production)
На этом этапе производится достаточное количество контента для первого запуска на внешнюю аудиторию. Реализуются все фичи, запланированные к закрытому бета-тестированию. Это наиболее продолжительный этап, который может занимать, для крупных клиентских проектов год и более.
На этом этапе задействуется наибольшее количество специалистов, которые занимаются производством всего основного наполнения игры. Художники создают все графические ресурсы, геймдизайнеры настраивают баланс и заполняют конфиги, программисты реализуют и полируют все фичи.
5. Friends & Family / CBT (закрытое бета-тестирование)
На этапе CBT продукт впервые демонстрируется достаточно широкой публике, хотя и лояльной продукту или компании. Среди наиболее важных задач на этом этапе выступают: поиск и исправление гейм-дизайнерских ошибок, проблем игровой логики и устранение критических багов. На этом этапе в игре присутствуют уже все ключевые фичи, создано достаточно контента для полноценной игры продолжительное время, настроены сбор и анализ статистики. Тестирование идет по тест-плану, проводятся стресс-тесты уже с привлечением реальных игроков.
6. Soft Launch / OBT (открытый бета-тест)
На этом этапе продолжается тестирование игры, но уже на широкой аудитории. Идет оптимизация под большие нагрузки. Игра должна быть готова для приема большого трафика. В игре реализован биллинг и принимаются платежи.
На этом этапе полностью завершается разработка новых фичей. Происходит feature freeze, программисты перестают реализовывать что-то новое, а полностью переключаются на отладку и тюнинг имеющихся фичей. Геймдизайнеры, продюсер и аналитики делают выводы из собранной на CBT статистики и проверяют эффективность монетизации.
При этом, к началу этапа должна полностью функционировать инфраструктура проекта: сайт, группы соц. сетях, каналы привлечения (User Acquisition), поддержка пользователей.
7. Release
Ключевая цель – это получение прибыли. Базовый применяемый для оценки прибыльности критерий: количество денег, принесенных в среднем одним игроком за все время (LTV aka lifetime value), должно превосходить расходы на привлечение этого игрока (CPI aka cost per install).
На этом этапе должно быть полностью отлажено оперирование продукта (техническая поддержка, работа с комьюнити), соблюдаются маркетинговые и финансовые планы, ведутся работы по улучшению финансовых показателей, активно отрабатываются каналы по привлечению трафика.
Команда разработки на этом этапе занимается исправлением технических багов, выявляемых в процессе эксплуатации и оптимизацией продукта. Геймдизайнеры занимаются тонкой настройкой геймплея под реальную ситуацию в игровом мире (особенно актуально для ММО проектов). Также реализует различные внутриигровые фичи, поддерживающие новые монетизационные схемы. И конечно идет разработка и интеграция в продукт нового контента, поддерживающего интерес игроков.
Итак, хотите знать больше? Тогда смотрите полную лекцию, ссылки на которую даны во введении к статье.
Кстати, 21го сентября планируется следующая открытая лекция в рамках нашей программы «Менеджмент игровых интернет-проектов», которая также будет являться аналогом «боевого занятия». На этот раз про монетизационные акции от директора программы Уточкина Вячеслава viacheslavnu. Посещение ее как всегда бесплатно, но обязательна предварительная регистрация в связи с ограниченным количеством мест и входом по списку. Регистрация и подробности про новую лекцию ТУТ.
Задавайте вопросы по теме лекций в комментариях, будем рады ответить.