Комната: общая
×

Обзоры игр

30.09.2013 02:05 Doga

Социальные игры для начинающих. Советы от JoyRocks. Часть 2.

#5346

В ходе конференции Sociality Rocks! 2013, студия JoyRocks, создатели социальной игры "Птичий Городок", провели мастер-класс на тему "Создание социальной игры за 90 минут", в ходе которого члены команды делились своим опытом в организационных вопросах, в планирования проекта, в монетизации и поддержке социальной игры, а также поведали о некоторых технических моментах реализации проекта. В первой части статьи можно ознакомиться с советами основателя JoyRocks - Тараса Тарасова, он рассказал о тех организационных аспектах, на которые нужно обратить внимание при создании игр. Вторая часть включает в себя советы продюсера, Андрея Митковского, а также технического директора JoyRocks - Ивана Лаворика.


Андрей Матковский (продюсер, JoyRocks)
По словам Андрея, продюсер это тот человек, который занимается организацией процесса создания проектов. На каком-то этапе его команда прошла через попытки работать в кафе, и в других заведениях, но в итоге они пришли к тому, что дело идёт быстрее, когда есть офис. Процесс создания Bird’s Town длился около 1 года и двух месяцев. Художника взяли со стороны и в процессе создания поменяли довольно много людей. В итоге получилась стабильная, сплоченная команда. Для написания квестов в небольшой, на то время, команде, не было отдельного человека. У кого было свободное время и идеи, тот и писал. Андрей уверен в том, что заниматься разработкой игр нужно серьёзно, только так можно довести дело до конца и добиться хороших результатов.

Проект. Что будем разрабатывать?
Во-первых, нужно определиться с идеей и остановится на ней. Если вы уже определились, тогда есть вероятность завершения. Дальше нужно решить в каком жанре вы будете работать. Нельзя допускать чего-то такого, вроде «Мы делаем Птичий Городок, давайте добавим туда шутер и будем бомбы продавать». Нужно на чём-то остановиться и придерживаться выбранного пути.

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

История
История - важный элемент. У JoyRocks получилось создать историю до геймрелиза и вплести ее в игру. Что должно быть в истории? Есть смысл, например, написать, что птичка ходит без огнемета. С историей, её изменением и презентацией нужно быть аккуратными. В игре Bird’s Town промелькнул такой момент - часть истории была изображена в виде комиксов. На каком-то этапе разработчики подумали о том, что комиксы лишние и убрали их. Количество активных игроков тут же упало. Пришлось комиксы вернуть в игру.


Сеттинг
В случае с Bird’s Town это была природа, птички т.п. Важно, чтобы сеттинг соответствовал жанру. Не должно быть дисбаланса.

Аудитория
По словам Андрея, аудитория это те «юниты», которые кормят ваши семьи. Её нужно изучить. Знайте точно «куда» вы позиционируете вашу игру. Можно читать книги по психологи и другую литературу, журналы, статьи, следить за тематическими изданиями, например за Casual Connect. Всё это поможет вам понять аудиторию и её желания.

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

Контент
Нужно планировать очень жестко. Можно рассчитать, что контента хватит на пол года, а игрок увидит / проиграет всё за 3 месяца и убежит. Такое нельзя допускать, поэтому лучше делать контент с запасом.


Виральные механики и инструменты
Идеально работает внутриигровая виральность. Например, домик или ресторан стоит, но ему для этого нужен персонал. Можно попросить друга или подругу поработать в магазинчике. Энергию, как и многое другое, можно также продавать / покупать, но игрок может попросит ее и у друга. Таким образом ваши игроки будут заинтересованы в введении в игру своих друзей, которые до этого момента в неё не играли. Не забывайте смотреть на успешные проекты, на то как у них построена внутриигровая виральность.

Удержание пользователей или retention
Retention – возвращаемость пользователя в игру. Игроков, которые возвращаются можно разделить на платящих и не платящих. Для человека, который уже вложил деньги в игру этот показатель более высокий. Универсального способа для повышения «ретеншн» не существует. Разные инструменты используются для разных платформ.

Проект
Вы определились с историей, сеттингом, жанром и механикой, теперь всё это нужно задокументировать в общем документе. Для этого не обязательно использовать какие-то изощрённые инструменты, Google Docs вполне подойдёт.

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

Планирование проекта
Гейм дизайн это процес, как и строительство, как написание музыки. Все в нём нужно описать. Людям, работающим над проектом нужно показать их часть работы, за которую они будут ответственными, а также прикинуть за какое время эту задачу можно выполнить. Всегда добавляйте 10%, т.к. с уверенностью можно сказать, что вовремя сделано не будет. Главное, что в итоге должно быть выполнено всё, что было «забито» в проект.

Управление производственными процессами
Нужно использовать task tracking, т.е. планировщик заданий, для этого существует множество программ и онлайн-сервисов.
Что касается контроля качества, то Андрей убёждён в том, что в командах это происходит не всегда правильно. Нельзя подходить к кому угодно, показывать то что сделано, спрашивать их мнение и на его основе делать выводы. Должен быть один ответственный за это человек - продюсер, который оценит результат, скажет «хорошо», или «не хорошо». Это должен быть человек с опытом, тот кто держит проект. Он видит конечную цель, знает как должен выглядеть результат и как всё должно работать.

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


Релиз
Выпускайте как можно быстрее и тогда будете знать есть ли смысл делать дальше. Вместе с тем, не выпускайте игру в массы, не протестировав её. Если человек пришел поиграть и столкнулся с серьёзным багом, он пойдет в другую игру.

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

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

Апдейты
Они должны быт регулярными, в идеале 2-3 раза в неделю. Даже небольшие, но они должны выходить и об этом нужно сообщать пользователям, таким образом игроки видят, что проект живёт.

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

Помните, что нет предела совершенству. Постоянно анализируйте что хорошо, а что плохо. То что хорошо нужно улучшать, то что плохо искоренять и тогда всё будет хорошо.

Технические моменты разработки. Иван Лаворик (технический директор JoyRocks)
В «Птичий Городок» можно играть в социальных сетях. Основной платформой является социальная сеть Вконтакте. Клиент писался с помощью Flash, в качестве сервера использовали LAMP, т.е. Linux, Apache, MySQL и PHP. Всё, что нужно для такой игры – это запрос / ответ. Т.к. нагрузка очень большая, то без кэширования не обойтись. Для этого создатели Bird’s Town используют memcached, который позволяет хранить «тяжелые» запросы к базе данных в оперативной памяти, что значительно быстрее постоянных обращений к MySQL, количество которых достигает 10 тысяч в секунду. Количество же запросов клиентов к HTTP-серверу – около 649 в секунду. Кэшируются локализации, домики и т.д., то есть вся статика. Что касается PHP, то разработчик использует его в чистом виде, без framework(ов), т.к. использование последних требует дополнительных ресурсов, а при таких нагрузках это не допустимо.


Разработка невозможна без дебагинга
Рекомендуют использовать xdebug, firebug, charles.
В качестве IDE - NetBeans, intelliJ, IDEA (платная). Flash develop вполне подойдёт как бесплатная IDE, особенно на старте, когда денежные ресурсы ограничены.
Обязательно используйте Version Control System (система версионирования), для этого подойдёт SVN (Subversion), git, perforce и другие.
В качестве онлайн-сервисов можно обратить внимание на assembla.com и github.com. Не обязательно разворачивать систему у себя.

Базы данных
По словам технического директора Ивана Лаворика, базы данных следует разделять, то есть все таблицы не должны быть в одной базе данных.
В случае с Bird’s Town, существуют три отдельные базы. Это база игровых объектов, база прогресса мира игрока, а также база локализаций и других статических данных. Всё это делается потому, что будет очень трудно работать при миллионах клиентов на одной базе, кроме того, такое разделение даёт дополнительные возможности для масштабирования / скалирования.

Для «птичек» используется 3 выделенных сервера, которые соединены между собой. Весь контент заливается через один сервер и потом распределяется по остальным. Все 3 сервера на процессорах Xeon E3, в каждом по 4 x HDD SATA 1000GB, 16MB RAM. То есть это серверы среднего уровня. По словам Ивана, не смотря на то, что можно использовать более дорогостоящее оборудование, например жесткие диски SAS или твердотелые накопители SSD, пока в этом нет необходимости, всё работает хорошо на текущей конфигурации.

Что касается библиотек и дебаггинга, то технический директор рекомендует взглянуть на Greensocks, flash console и buggix.
Иван Лаворик убеждён в том, что свою игру, проще всего разместить именно в соц. сети Вконтакте, т.к. для этого нужно минимум согласований. Он также советует всем командам разработчиков найти себе хорошего системного администратора, который кроме самого администрирования разбирается и в программировании. В идеале, администратор должен понимать проблемы разработчиков и тесно сотрудничать с ними.

Нельзя забывать и о мониторинге сервера, для этого подойдут zabbix, wtfwms.com и другие инструменты. Также будет полезна sms и e-mail-нотификация, чтобы вы вовремя могли отреагировать на любые возникающие проблемы. И напоследок, - «Backup всего или смерть». Не забывайте делать резервные копии, фанаты вашей игры не простят потерю своих данных.

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