Дайте новичку шанс: руководители Wargaming о разработке системы адресного обучения игроков PRMP
Руководитель разработки в Wargaming Сергей Васюк и CRM-директор компании Максим Мозговой написали для рубрики «Рынок игр» колонку о системе контекстного обучения для новичков PRMP и о том, как она улучшит игровой опыт. PRMP уже применяется в играх издателя - в том числе, в мобильной игре World of Tanks Blitz.
Как из плохого опыта сделать хорошую идею
Сергей Васюк: Идея создать систему персональных обучающих рекомендаций для игроков пришла из моих воспоминаний о том непростом времени, когда я сам был новичком в World of Tanks Blitz и остро нуждался в помощнике, поскольку не понимал, что, куда и как делать в игре.
Приложив собственный опыт к нашему главному проекту World of Tanks, я понял, что новичкам не хватает личной, адресной поддержки на начальном этапе, когда еще ничего не понятно: ни что такое дерево развития, ни чем отличается элитный танк от остальных, ни кто такой досылатель и почему он так важен.
Конечно, вся нужная информация есть на наших веб-ресурсах, но, как и в любом другом новом деле, будь то Photoshop или шахматы, гораздо лучше, если в начале пути у тебя есть проводник, который этот путь хорошо изучил.
Так родилась идея помочь пользователям играть лучше и, соответственно, получать больше удовольствия.
Максим Мозговой: Концепция этой системы начала разрабатываться уже полтора года назад. К этому моменту компания - как единый, огромный, отлаженный механизм - осознала, что наше будущее в адресном взаимодействии с игроком на каждом этапе его жизненного цикла. Поскольку благополучие компании напрямую зависит от того, насколько счастлив наш клиент.
Что такое PRMP
Сергей Васюк: Это аббревиатура, которая расшифровывается как Player Relationship Management Platform - «платформа для управления взаимоотношениями с игроками». В названии системы содержится описание ее ключевой функциональности: PRMP определенным образом фиксирует, как ведет себя пользователь в игре и в зависимости от этого взаимодействует с ним путем отправки сообщений во внутриигровой клиент.
Другими словами, PRMP - это система персональных рекомендаций и предложений для игроков, работающая по принципу взаимной выгоды. Благодаря нашим подсказкам и советам пользователи быстрее и эффективнее усваивают правила и специфические особенности игры. Мы же получаем важную информацию об игроках, что позволяет нам подбирать интересный и полезный контент в соответствии с предполагаемыми желаниями конкретного пользователя и проводить маркетинговые кампании на внутренних ресурсах.
Наша цель - используя данные об игроке, научиться понимать его лучше, чем он понимает себя сам, и предугадывать его желания.
Сейчас мы создаем сеть, объединяющую площадки Wargaming и подбирающую контент в соответствии с предполагаемыми интересами и нуждами игрока. PRMP станет базовым звеном системы рекомендаций, а впоследствии - основным инструментом CRM.
Максим Мозговой: Если учесть, что наша главная задача - сделать игроков счастливыми, PRMP можно считать одним из инструментов создания предпосылок для этого счастья. Меньше зубодробительной прокачки и больше удовольствия - вот что значит PRMP на деле.
Как это работает
Сергей Васюк: В фундаменте всего многообразия возможностей PRMP лежит особая технология. Созданная на основе CDH (Cloudera Distribution Hadoop), наша платформа собирает данные в единую шину, построенную на базе Kafka. Все операции происходят почти в реальном времени, при этом отставание от событий на игровых серверах составляет менее секунды. Spark-джобы обрабатывают данные и формируют профиль игрока, куда складываются конечные метрики: количество боев, побед и так далее. Бизнес-логикой взаимодействия с игроками управляет Rule Engine, а весь код пишется на Spark.
Максим Мозговой: Платформа PRMP отслеживает внутриигровые события (триггеры) и управляет правилами применения той или иной коммуникации (рекомендации, подсказки, направляющие соображения - называйте их как угодно) в ответ на эти события либо на их комбинацию.
Как только такое правило создано, мы можем отслеживать его эффективность: сколько правил сработало, когда, при каких условиях и так далее. Задача системы - обрабатывать одновременно очень большое количество событий и с минимальной задержкой, фактически в режиме реального времени (и, главное, адресно) отправлять игроку соответствующее сообщение, в зависимости от того, какой именно триггер сработал.
Триггером может выступать любое событие в игре: человек повалил дерево, выстрелил, пробил, уничтожил вражеский танк - все это триггеры. Смысл в том, что реакция на эти события может быть очень разной.
И в зависимости от этой реакции, а также от индивидуальных параметров игрока (уровень мастерства, длительность игрового опыта, процент побед, принадлежность к тому или иному сегменту игроков) мы выстраиваем специальную логику взаимодействия с каждым пользователем отдельно, преследуя в конечном счете нашу основную цель - выяснить, понять, каким образом триггеры влияют на поведение игрока, и потом использовать эту информацию для формирования лучшего пользовательского опыта.
Грамотный игрок - счастливый игрок
Максим Мозговой: В первую очередь наша платформа рассчитана на новичков, которые по неопытности совершают много глупостей на поле боя: несутся по центру, творят тактический беспредел, отрываются от коллектива, навлекая на себя вражеский огонь. Ничего удивительного, что их убивают на второй минуте боя. И помимо того, что новичку самому неприятно и обидно, он еще и подводит свою команду, в которую он попал волей рандома. Этим объясняется, почему так много негатива в коммуникации между игроками.
Чтобы у новичков не опустились руки после первых поражений, а в сообществе снизилось количество негатива, мы будем проводить контекстное обучение с помощью PRMP. В этом одна из задач нашей платформы.
Сергей Васюк: Платформа PRMP дает нам три инструмента улучшения игрового опыта. Первый - таргетирование, то есть снабжение разных игроков полезными подсказками, опирающимися на игровой опыт данного конкретного игрока.
Второй путь - контекстный анализ. Система PRMP позволяет нам узнать, о чем общаются игроки на форумах, какой контент они читают, что им интересно в игре. На основе этих сведений мы предлагаем пользователям ознакомиться с теми материалами, которые предположительно вызовут у них интерес.
И наконец, третий способ - социализация. Зная из разных сервисов Wargaming, кто есть в друзьях наших игроков, мы можем рассказывать им об успехах их товарищей, мотивируя не отставать, идти к лучшим показателям, а также заводить новые знакомства.
Максим Мозговой: Каждый пользователь уникален. Мы совершенно отчетливо видим это в наших играх - World of Tanks, World of Warships, в «Блице» и других проектах. Несмотря на то, что игровой мир создан и зафиксирован, разные пользователи могут испытывать проблемы при вхождении в этот мир и эффективного взаимодействия с ним на каждой стадии своего жизненного цикла.
Понятно, обучением дело не ограничится. Вероятно, мы будем стимулировать командное взаимодействие игроков, более активное социальное поведение в игре. На каких-то стадиях будет поощряться переход игрока в киберспорт, который сейчас в компании очень активно развивается.
Как это будет реализовано
Сергей Васюк: Сейчас мы занимаемся технологиями машинного обучения: учим систему самостоятельно искать возможность общения с пользователем в зависимости от его поведения в игре. Также мы готовим lookalike-модели, с помощью которых сможем давать подсказки игрокам на основании действий похожих игроков, рассказывать о переводе боевого опыта в свободный, советовать перейти на другой вид техники или использовать другие расходники или модули.
Максим Мозговой: В интерфейсе будет сформировано специальное место, в котором будет отображаться этот контент. Происходить это будет после окончания боя, так сказать, в «мирное время», чтобы не отвлекать игрока. При этом анализироваться будут те события, которые происходят во время боя.
Конечно, в World of Tanks существует уйма возможностей для обучения, но важнее именно контекстные подсказки, некий набор действий, которые помогут игроку эффективнее использовать имеющийся в игре контент. Общее обучение, как правило, проходится пользователями в стиле «далее-далее-далее» - понятно, что толку от этого немного. Нужно вовлечь игрока в процесс обучения.
Кто это будет реализовывать
Сергей Васюк: Все начинается с человека, команды. С технической точки зрения, внедрение PRMP - трудоемкий процесс, со своими подводными камнями и сюрпризами. Серьезным испытанием стал начальный этап интеграции системы. Мы собирали порядка 3 терабайт данных в день с пиковой нагрузкой в 40 тысяч сообщений в секунду, чтобы поддерживать в актуальном состоянии профиль размером всего в 20 Кбайт - непростой челлендж. Немалых усилий нам стоило свести к минимуму задержку с конечным ответом - сейчас мы выдаем ответ в клиенте не позднее чем через 5 секунд после того, как произошло событие на сервере (завершение боя). За это время происходит сбор данных, обработка и формирование сообщения.
Понятно, что для преодоления всех этих трудностей нужна команда превосходных специалистов. На момент начала работы над проектом людей с требуемой экспертизой в компании не было. Поэтому мы решили взять готовую команду, которая до этого писала на языке Python, и перевести их на стек Hadoop. Проект - инновационный, с множеством белых пятен, концепция менялась раз в неделю. В итоге из первоначальной команды в пять человек осталось двое.
Мы точечно вводили новых людей в команду, и сейчас в ней шесть специалистов: проектный менеджер, Solution Architect, два разработчика, DevOps-специалист и тестировщик. Ребята полностью поддерживают продукт, от разработки до оперирования, так что я называю их джедаями.
Впрочем, с готовыми командами удобнее стартовать - мы быстро начали разработку. На поиски новой команды ушло бы слишком много времени, мы же за это время смогли попробовать две-три комбинации специалистов.
Возможности платформы широки, как Енисей. Собирая данные в реальном времени, мы можем реагировать на изменения поведения пользователей где угодно. Мы собираемся применять PRMP для формирования порталов с персонализированным контентом - что-то вроде ленты Facebook.
Планы и перспективы
Сергей Васюк: Сейчас платформа PRMP уже внедрена в World of Tanks Blitz и в World of Warships и осенью, я надеюсь, будет интегрирована в наш основной проект, World of Tanks.
Наша главная задача сейчас - успешно запуститься в World of Tanks с нагрузкой в 1 миллион CCU. Мы уже завершили первый этап - сбор данных и построение сценариев взаимодействия с пользователем на основе Rule Engine.
Максим Мозговой: PRMP постоянно растет, расширяется. Для World of Tanks мы создаем новые триггеры, которые были бы интересны для запуска целевых коммуникаций с клиентом. К тому же это органичный рост, обусловленный постоянным появлением новых задач, новых триггеров, новых потребностей для разного взаимодействия с игроком.
В планах - интеграция PRMP с системой автоматизации целевых коммуникаций, которая уже внедрена в компании. Если говорить о гибкости нашей платформы, можно отметить, что она применима к любым игровым проектам. Конечно, для этого необходима интеграция с конкретным проектом, сбор данных, сбор событий. Но сама логика уже обкатана.
Неоценимое преимущество PRMP в том, что она позволяет работать с существующими логами системы, которые пишутся в реальном времени. То есть мы не нагружаем серверное оборудование, а просто триггерим то или иное взаимодействие на основе сообщения, полученного путем экстракции логов.
Сергей Васюк: Мы сделали нашу систему быстрой, следующий шаг - сделать ее умной.