Ознакомительная версия. Доступно 26 страниц из 130
противоречие с соображениями, продиктованными геймплеем. Система плохих прыжков предоставила нам очень объективную информацию о важности или незначительности выявленной проблемы, и это здорово повлияло на плодотворное сотрудничество художников и дизайнеров.
Рис. 26.3. Система плохих прыжков в Uncharted 3: Drake's Deception показывает, где игроки пытались забраться и потерпели неудачу. Изображение предоставлено: UNCHARTED 3: Drake's Deception™ © SIE LLC. Создано и разработано компанией Naughty Dog LLC
Эти примеры взяты из однопользовательского режима игры в жанре приключенческого боевика, но метрические данные могут положительно изменить дизайн многих типов игр, от соревновательных и спортивных, где мы хотим исследовать частоту использования определенных способностей, до интерактивных повествовательных, где мы хотим увидеть, как часто игроки выбирают определенный сюжетный путь. Я призываю вас выйти за рамки очевидного и найти новые оригинальные способы сбора данных, которые дадут вам основательные знания и новое понимание того, как именно ваши игроки на самом деле играют в игры.
Внедрение метрик в вашу игру
Для внедрения системы игровых метрик часто достаточно простого кода, хотя эта работа может потребовать от вас изучения некоторых новых вызовов функций. Есть много готовых программ, которые вы можете использовать и которые могут вообще не требовать от вас никакого кодирования. На момент написания книги движки Unity и Unreal уже предоставляют встроенные аналитические плагины, которые относительно просты в использовании.
Начните с определения того, какие данные вы хотите собрать. Если вы не занимались этим раньше, то хорошо бы начать только с одного или двух типов данных. Затем вы добавите и другие. Проведите мозговой штурм со своими товарищами по команде, чтобы определить, какие метрики вы хотите собирать и что нового вы сможете узнать из полученных данных.
• Обычно собираемый тип метрических данных фиксирует, сколько времени игрок проводит в каждой части игры.
• Если игрок проигрывает и начинает игру заново, можно подсчитать количество попыток, которые он делает для завершения каждого уровня.
• Вы можете записывать, когда и где игрок использует предоставленную вами механику.
• Вы можете отслеживать значения, связанные с ресурсами, такими как очки опыта, которые игрок зарабатывает по мере прохождения, или сколько игровых денег у него есть на данный момент.
Подумайте о степени детализации ваших данных: как часто вы к ним обращаетесь и, следовательно, какой объем данных вы собираете в целом. Не стоит жадничать: я встречал системы метрик, которые приводили к сбою самих игр, потому что данные фиксировали каждый кадр, и выходной файл становился огромным. Нужный уровень детализации собираемых данных будет зависеть от типа создаваемой вами игры и ее общей длительности.
Если вы хотите создать собственную систему данных, вам нужно написать скрипт, который будет активен на протяжении всей игры. Этот скрипт будет содержать функцию, которая будет вызываться всякий раз, когда вы хотите получить некоторые данные об игре, копировать одно или несколько значений переменных в строку с понятным для человека текстом, а затем добавлять эту строку в текстовый файл, записанный на жесткий диск компьютера. (Строка также может быть записана где-нибудь в базу данных.)
Вы можете вызывать функцию либо всякий раз, когда в игре происходит что-то конкретное, либо через регулярные промежутки времени. Например, всякий раз, когда игрок нажимает кнопку прыжка, система записывает текущее время в игре и копирует его в строку, которой предшествует текст: «Игрок прыгнул». Или раз в десять секунд система записывает текущее время в игре и уровень здоровья персонажа игрока, предоставляя вам относительно детальную информацию о том, как здоровье растет и падает с течением времени.
Вы можете найти ресурсы, необходимые для настройки системы данных для вашей игры на сайте этой книги.
Согласие на сбор метрических данных
Разрабатывая программное обеспечение для сбора информации об игроках, мы должны остановиться и подумать, насколько этично мы поступаем. Право на неприкосновенность частной жизни – ценность многих сообществ в мире, а в некоторых странах оно закреплено в конституции или законе. Как разработчики мы должны гарантировать соблюдение прав человека и запрашивать согласие наших игроков на сбор данных.
Согласие может быть необязательным для сбора данных о том, когда игрок прыгает или открывает дверь, но если вы запрашиваете личную информацию об игроке (например, связанную с его убеждениями или состоянием здоровья), то вы должны получить разрешение на запись этой информации в ваших метрических данных. Вы можете попросить ввести нужную вам информацию на загрузочном экране игры. Если игрок не дает согласия, то не записывайте его данные – ни в коем случае не пренебрегайте правами другого человека.
Тестирование систем метрических данных
Важно регулярно тестировать системы данных, чтобы убедиться, что они работают исправно. По моему опыту, эти системы – одни из самых хрупких составляющих игры, и, возможно, причина в том, что они работают бесшумно, а потому легко не заметить, что они сломались. Однажды в начале моей карьеры по окончании дорогостоящего формального плейтеста мы не получили вообще никаких метрических данных из-за простого сбоя системы, которого мы не заметили.
Протестировать эти системы довольно легко: просто сыграйте в игру в тех же условиях, что и плейтестеры, и убедитесь, что нужные вам данные успешно записываются. Следите за незначительными различиями между тем, как вы тестируете игру, и тем, как она будет тестироваться в условиях плейтеста. Например, распространенная проблема с метрическими данными заключается в том, что между плейтестами из игры не выходят и ее не перезапускают, что приводит к путанице в системе.
Визуализация метрических данных
После формального плейтеста нам нужно визуализировать метрические данные, чтобы
Ознакомительная версия. Доступно 26 страниц из 130