Геймдев
#Руководства

Как сбор статистики помогает сделать игры лучше

Разработка многих игр не кончается после релиза — впереди ещё долгий период улучшений и доработок. И без статистики тут не обойтись.

 vlada_maestro / shutterstock

Даже когда разработчики тщательно прорабатывают игру, она всё равно может получиться не очень удачной. История может оказаться слабой, а геймплей — не таким удобным, как казалось при создании концепта.

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

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

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

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

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

Какую статистику нужно собирать

Сбор статистики зависит от того, что у вас за игра: жанр, платформа и так далее. Мы будем рассматривать её на примере мобильных раннеров (от англ. run — бежать).

Допустим, мы разрабатываем игру, где надо управлять персонажем, который бежит по узкой дорожке, уклоняясь от препятствий. Для игры у нас будут следующие препятствия:

  • пропасть — нужно перепрыгнуть;
  • обвалившаяся слева, справа или по центру дорога — нужно оббежать;
  • заграждение сверху — нужно проскользить снизу;
  • заграждение снизу — нужно перепрыгнуть.

Уровень генерируется случайным образом. Препятствие появляется раз в пять метров. Шансы встретить любое из препятствий равны.

ВАЖНО! Оценивайте как единичные случаи, так и среднюю статистику. Например, если только 1 игрок из 100 постоянно умирает, а у остальных нет проблем, — то всё в порядке.

Какая статистика тут понадобится, чтобы мы могли улучшить игру? С ходу в голову приходят следующие варианты.

1. Сколько всего было препятствий до столкновения

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

Исключение — если игра специально задумана как очень сложная.

Flappy Bird

2. Сколько попыток игрок сделал до этого

Если игрок проиграл при первой попытке, а потом у него начало получаться — это неплохой результат. При том условии, что он не умер в самом начале. Опять же это зависит от самой игры.

Trap Adventure 2

3. С каким препятствием столкнулся игрок

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

4. Как часто встречались те или иные препятствия

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

Вы можете изучать и другие данные, но для этой статьи будет достаточно четырёх переменных — иначе мне придётся писать книгу.

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

Как реализовать сбор статистики

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

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

Например, в этом скрипте могут храниться следующие переменные:

  • lastBlock — последний блок, которого коснулся персонаж;
  • blocksCount — общее количество блоков;
  • xxxBlocksCount — количество блоков определённого типа (название подставляется вместо xxx);
  • attempts — количество попыток за текущую сессию (она начинается с запуска игры) или за всё время.

В конце каждой сессии или после каждой попытки можно отправлять информацию в базу данных — нет смысла хранить это всё на устройстве игрока.

После этого можно приступить к визуализации данных.

Визуализация статистики и анализ

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

Для этого можно использовать различные инструменты, но можно и попросить разработчиков создать для вас платформу для аналитики. Этот вариант даже лучше, потому что вы сможете получить именно те возможности, которые вам нужны. Главное тут — наличие разработчиков.

Например, статистику столкновений по препятствиям можно представить в виде круговой диаграммы:

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

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

Можно углубиться ещё дальше и проверить, какие блоки встречаются во время разных попыток:

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

Причин может быть несколько:

  • такие блоки встречаются очень редко;
  • пройти блок можно только благодаря удаче;
  • что-то не так с управлением.

Дальше на основе своего анализа вы можете попробовать внести какие-то изменения.

Внесение изменений

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

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

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

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

Проверьте свой английский. Бесплатно ➞
Нескучные задания: small talk, поиск выдуманных слов — и не только. Подробный фидбэк от преподавателя + персональный план по повышению уровня.
Пройти тест
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована