Product in Gamedev
7.21K subscribers
72 photos
6 files
465 links
Авторский канал Андрея Дельцова для тех, кто устал от воды в статьях. Конспекты и переводы материалов по продукту, аналитике, геймдизайну в игровой индустрии...

По любым вопросам: @andrew_de
加入频道
UPD. Комментарий специалиста: "Когда идет речь про применения критерия, всегда указываются полученные значения p-value. В данном тесте ребята брали significance level = 0.1 = alpha, что дает достаточно низкую точность. Возможно это обусловлено данными, с которыми работали. Для большинства случаев это очень мало, обычно берут 0.95, в точных тестах стараются брать 0.99 или 0.999."
​​Лекция от создателей в candy crush по использованию AI для тестирования уровней match3
#ml #gd
Лекцию писал по памяти и фото, некоторые моменты опустил (непосредственно обучение бота - оно достаточно поверхностное, для того чтобы взять и запилить у себя инфы будет мало).

Любопытные моменты.

- Если конкретный пользователь не справляется с уровнем за N попыток - ему высылается zip с корректировкой баланса выпадающих гемов. Наконец хоть кто-то официально подтвердил эту инфу

- Уровни не тестируются на субъективные критерии типа интересности, данный момент проверяется уже по отвалам на продакшне.

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

- Уровни передаются на ферму тестировщиков в Канаде, где 500 человек пытается их пройти

- Хорошим считается уровень, который смогли пройти 80% тестировщиков, если не попали в сложность - level-дизы переделывают

- Используют облачную платформу от google

Подходы к реализации бота:

Heuristics - эвристики, самый простой и быстрый способ, бот совершенно не похож на человека, но позволяет проверить потенциальную проходимость уровня

Исследование дерева по методу Монте-Карло (MCTS) - бот перебирает все возможные комбинации, что очень долго. Можно сравнить с тем, как проходит человек

Deep learning - берутся накопленные данные по сессиям игроков и на них обучаем бота, быстрый как эвристики, точнее чем MCTS

Reinforcement learning - в бота закладываются базовые принципы, а дальше он сам обучается проходить уровни, что имитирует поведение человека. Основная проблема в том, что в определенный момент бот начинает слишком хорошо играть и по скиллу выбивается за 80% игроков, на которых ориентируемся

Сложности в создании.
- Визуальные эффекты и анимации были интегрированы в логику, это замедляет обработку
- Вопрос ответственности за бота размазывается между разработчиками, QA и аналитиками
- Необходимо иметь наработанные данные по пользовательским сессиям, свои или купить
- Непросто воспроизвести поведение человека, быть не лучше и не хуже

Результаты.
- Уменьшилось количество проблем с уровнями, ловятся вылеты на большой скорости ходов
- Упростилось тестирование и производство новых уровней
Плэйтесты проводятся за минуты (требуется пара секунд на попытку)
- Улучшилось понимание поведения пользователей. К примеру при прочих равных они будут матчить наверху уровня или внизу и т.д.

Источник (нормального пока нет, "текстовый camrip" в моём исполнении): https://telegra.ph/Ispolzovanie-AI-dlya-sborki-urovnej-match3-12-26
​​Машинное обучение при оперировании играми
#ml
Время для выжимки из статьи от приглашенного эксперта.
Для чего используется машинное обучение при оперировании играми:

Расширение платежеспособной аудитории игры - Look-alike таргетинг, основанный на сегментировании по поведенческим паттернам.

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

Динамическое изменение цен на внутриигровые товары - Изменение цен на товары за реал в зависимости от платежеспособности и истории платежей.

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

Конвертация в платящие - акции первого платежа. Причем дядя говорит обощенно, а на деле имеет в виду полностью сборные предложения, когда товар подставляется в акцию автоматически на основании паттернов, с весами.

Оптимизация частоты появления рекламы - корректировка лимитов на показ в зависимости от поведения. Терпимым - больше, прочим - меньше.

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

Вместо заключения
Один из самых масштабных тестов влияния машинного обучения на монетизацию (из тех, что были озвучены публично) провели разработчики сервиса Game of Whales, который специализируется на ML-монетизации. Сначала их алгоритмы 18 месяцев изучали поведение 18 млн игроков. Затем была выделена контрольная группа пользователей, с которыми и работал ИИ. Выяснилось, что в этой контрольной группе выручка от фритуплейных игр выросла на 25%, а отток пользователей сократился на 10%.

Источник: https://app2top.ru/marketing/kak-mashinnoe-obuchenie-pomogaet-gejmdevu-zarabaty-vat-i-e-konomit-rasskaz-playgendary-130592.html
​​Как улучшить UX через небольшие анимации
#ux
Основная тема:
Через микроанимации можно увеличить удовлетворенность пользователя продуктом и сгладить болезненные моменты взаимодействия.

Предложения:
1. Менять отображение элементов UI сразу после взаимодействия с ними пользователя, чтобы фидбэк был максимально быстрым и информативным. Пример нажатая кнопка залогиниться красится в красный если пароль не подошел или в зеленый, если всё ок

2. Запилить ненавязчивые хинты, особенно на онбординге. Хороший тон по мнению автора мягко пульсирующая и с переливанием иконка

3. На моментах с долгой подгрузкой добавить замысловатую анимацию. По исследованию Aberdeen 2008 года для веба цена одной секунды задержки 11% падение просмотров страницы. Решение - сложная анимация, в которую можно позалипать. Как пример иконка рисующаяся из линий

4. Нотификации о событиях, которые происходят без участия игрока. Ненавязчивые, но заметные. Как изменение счетчика писем с эффектом отлетающих от него плюсов

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

6. Продолжительная анимация UI элементов во время нажатия и обрывающаяся в момент отпускания пальца повышает ощущение интерактивности интерфейса

6. Небольшие мотивационные анимации-награды за выполнение рутинных действий. По сути использование логики работы достижений из игр + анимация

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

Источник (англ.): https://anadea.info/blog/how-micro-animations-improve-ux
​​Немного machine learning на праздники
#ml
Дорогие друзья! Время приближает нас к новому, 2019 году. Позади насыщенный, полный забот декабрь... Да и в принципе год выдался довольно бодрым. Для тех, кто полон сил и энергии, не хочет останавливаться на достигнутом и интересуется ML - вот пара подборок:

https://github.com/trekhleb/homemade-machine-learning

https://github.com/demidovakatya/vvedenie-mashinnoe-obuchenie

На праздниках подкоплю темы и продолжу постить. Спасибо всем, кто поддерживал данную тему с каналом, кто давал фидбэк и рекомендовал материалы для публикаций. С новым годом!
​​Product sense 03/2018. Growth hacking
#UX #custdev
За праздники наконец добрался до докладов с конфы product sense, будут попадаться вещи довольно банальные для custdev'щиков со стажем, но остальным может пригодиться. И для начала небольшой доклад про Growth hacking.

Growth hacking - область на стыке маркетинга, UX и управления продуктом, основная цель - агрессивный рост продукта.

Задачи продуктивного growth hacking сводятся к созданию непрерывного процесса экспериментирования на всех этапах AAARRRR для поиска нестандартных путей роста.

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

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

AAARRRR метрики:
- awareness - информирование пользователя о своем существовании
- acquisition - получение контакта пользователя
- activation - привлечение пользователя в продукт, первый экспириенс
- retention - задачи на возврат
- revenue - задачи на конвертацию пользователя в плательщика и увеличение дохода
- referral - привлечение пользователей другими пользователями
- resurrection - возврат ушедших пользователей

Обычно работают над acquisition и revenue, упуская всё остальное, а прибыль по сути произведение всех метрик.

Aha moment - момент когда пользователь впервые достигает успеха с продуктом или понимает какие действия к нему привели.

Примеры нахождение aha момента по версии компаний:
AirBnb - красивые фотографии, зашли и сразу видите их
Uber - момент движения машин на карте,
Yelp - (приложение - каталог бизнесов) отрицательные отзывы, людям не нужно, чтобы было очень хорошо, а хотя бы чтобы не было очень плохо

Работа с aha моментом - берется customer journey map, определяется наиболее ценный для пользователя момент и передвигается как можно раньше. К примеру выкидывается всё перед этим.

Тестировать гипотезы дешевле на этапе рекламы, до разработки, сделав акцент на aha-моменте и посмотрев на конверсию.

Задачи growth hacking находятся между компетенциями маркетинга и product, для этого создаются growth team, которые объединяют всех причастных к задачам на aaarrrr метрики. Такие команды созданы в FB, LN, uber, amazon и т.д. Они генерят обоснованные гипотезы и затем их тестируют.

Источник (19 минут): https://www.youtube.com/watch?v=Ht11C6mj9AA
​​Рассылки для вовлечения пользователей, уменьшения отвала и увеличения дохода
В одном из выступлений на product sense была упомянута статья от Baremetrics (B2B, занимаются аналитикой) про то, как они поднимали показатели за счет email рассылок. Спросите при чем тут геймдев? По сути они описывают своего рода механики неблокирующего тутора, пушей на возвраты и получения фидбэка от пользователя.

В мобильных приложениях получить имейл от пользователя сложнее чем в B2B сервисе, но способы есть. И ничто не мешает реализовать внутреннюю систему обмена сообщений с пользователем.

Лучше работает, если письма исходят от конкретных людей.

От первых писем максимальный эффект.

Рассылка по этапам:

Онбординг.
Основные задачи - показать ценность продукта для пользователя, а также рассказать про функционалы, о которых он может не знать. Данный момент отлично обвязывается сплит-тестами с целью улучшения возврата.
День 1 - приветственное письмо от основателя, дает канал для связи, подчеркивает что пользователь не безразличен
День 2 - приветственное письмо от саппорт, дает дополнительный канал связи, объясняет где найти мануалы, блог и всё такое (в случае с геймдевом есть смысл пытаться вовлечь в игровое комьюнити)
День 3 - письмо мотивирующее на привлечение других пользователей
День 5 - письмо про пользу от нотификаций, мотивация на включение пушей
День 6 - рассказ о тарифных планах, попытка повлиять на платежи
День 8, 10, 12 - рассказ про фичу
День 14 - прощание на этапе онбординга, суть та же, что у первого письма

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

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

Источник(англ.): https://baremetrics.com/blog/lifecycle-emails
​​Переход от транзакционной к подписочной модели монетизации.
#revenue
На скрине показаны результаты исследования ltv пользователей при использовании монетизации через подписки и через инапы. Хороших примеров внедрения подписок в играх не видел, за исключением баттлеров пожалуй. Но в теории подход имеет право на жизнь.

Начиная с wwdc16 apple продвигают переход к данной модели. Она приносит больше денег за счет инертности пользователей, которым лень отключить подписки.
По инфе спикера - в штатах при списаниях не приходит даже уведомление, лишь в конце месяца.
1. Trial делать необходимо, цель получать данные карты пользователя.
2. Хороший способ при транзакции предложить проапгрейдиться до подписки
3. Предлагать стартовать бесплатный триал можно после первого входа и после покупки инапа.
4. Годовую подписку отменяют реже, чем месячную, потому что не напоминает о себе лишний раз. По цене best practise нет, всё индивидуально.
5. Истекающая карта - не давать подписаться, если карта скоро истекает. Стор берет на себя часть проблем с обновлением данных карт, поскольку подписок зачастую больше одной поэтому данные обновляются регулярно.
Недостаточно средств - списывать в районе 5го числа, когда большинство получает заплату и ещё не сняли деньги. Сегментировать по регионам, списывать у тестовой группы, затем у всех остальных
6. Если пользователь не чувствует ценности и пытается прекратить подписку, то стоит сделать exit interview и узнать почему. А также предлагать даунгрейд подписки, если пользователю кажется, что он платит слишком много.
7. При переходе на подписочную модель падает выручка на первом этапе из-за trial и того, что однократный платеж по подписке обычно меньше, чем стоимость инапа.

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

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

Источник (40 минут): https://youtu.be/IpUh0Eh4oFE
​​Заметки по проведению пользовательского интервью
#UX
Подготовил выжимку по еще одному выступлению на product sense ( https://www.youtube.com/watch?v=mXxYV--z4qU ), но перечитав стало ясно, что объективной пользы от него практически нет, просто 40 минут потраченного времени. Так что вместо этого подборка заметок о том, как продуктивнее провести пользовательское интервью:

1. Проводить интервью не в одиночку. Пока первый человек спрашивает, второй более внимательно анализирует ответ. Легче поддерживать живой диалог.
2. Подготовить список из 3-5 ключевых вопросов. Распечатать их для всех участвующих, поскольку проще концентрироваться на вопросах, которые видишь визуально
3. Фокусироваться на прошлом опыте и ситуациях, связанных с проблемой. Об этом и так уже много сказано, иначе можно начать решать несуществующую проблему
4. Говорить не более 1/6-1/4 времени. Остальное время слушать. Иначе есть вероятность снизить репрезентативность и повлиять на мнение опрашиваемого
5. Уточнять какое именно количество опрашиваемый подразумевает, когда говорит много, часто, долго и т.д.
6. Проанализировать, какие условия обостряют проблему для пользователя, а какие снижают влияние. Возможно нет необходимости её решать и можно просто снизить влияние.
7. Не обсуждать с опрашиваемым способы решения проблемы, иначе есть шанс, что он порекомендует решение, которое ему выгодно, но не решает проблему
8. Не затягивать опрос, даже если у пользователя есть энергия для обсуждения. Это повысит шансы повторно опросить пользователя, если потребуется
9. Разобрать фидбэк в тот же день, обсудить с коллегой по горячим следам, но решения принимать на следующий день. Позволит получить пользу и от первых впечатлений и от взвешенного и обдуманного решения.
10. Связаться с опрашиваемыми по email после опроса, скинуть им результаты интервью. Экстраверты могут дополнить новыми мыслями, а интроверты точнее сформулировать в письменном виде и исправить ошибки
11. Задавать вопросы релевантному пользователю. Если приложение связано с кино, то искать опрашиваемых в кинотеатре вместо случайного человека на улице
12. Показывать, а не объяснять. К пример если сказать "лист разорван пополам" часть людей представит вертикально разорванный, другая часть - горизонтально.

Источник(англ): https://www.skmurphy.com/blog/2011/10/19/tips-for-b2b-customer-development-interviews/
​​И снова анимации. С отличными превью
#UI
Нашел неплохой гайд по анимациям в интерфейсе с простыми кейсами и лаконичными примерами в виде небольших гифок. Из-за них рекомендую прочитать в источнике (есть вариант с переводом), формат одного поста в телеграме менее нагляден. Ниже перечислю часть тезисов:

- Оптимальная скорость интерфейсной анимации 200 - 500 мс. Короче не воспринимается, длиннее заставляет пользователя ждать
- Согласно Material Design Guidelines для часов 150–200 мс для телефонов 200 - 300, на планшетах 400 - 450. Связано с размером объектов
- По возможности избегать motion blur
- Задержка между появлением большого количества однородных элементов ( к примеру список карточек) 20 - 25 мс
- Анимация с ускорением при старте и замедлением перед остановкой выглядит более естественно, поскольку мозг видит её в природе. В идеале разгон короче торможения, это акцентирует внимание на новом положении объекта
- Сайты с примерами кривых скорости для различных ситуаций easings.net и cubic-bezier.com
- Равнозначные элементы появляются последовательно и одинаковым образом
- Контент табличного типа лучше заполнять по диагонали
- При перемещении элемента с непропорциональным растягиванием органичнее смотрится перемещение по кривой траектории

Источник (англ.): https://uxdesign.cc/the-ultimate-guide-to-proper-use-of-animation-in-ux-10bd98614fa9
Перевод-источника (рус.) http://clc.am/xVdyPg
​​КДИ 237. Нарративный дизайн
#kdi #gd
Наконец закончил с очередным выпуском подкаста КДИ, материал отнял значительно больше времени, чем ожидалось. Поскольку меня читает как минимум один талантливый нарративщик не мог обойти данную тему.

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

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

Задачи:
- работа с дополнительными механиками на раскрытие сюжета. Как пример журнал с историей игрока, описания предметов, тултипы.
- работа с общей драматургией в продукте, пока главный сценарист выстраивает ключевые моменты сюжета.
- менеджмент на уровне согласования реализации сюжета со сценаристом, донесения его до сценаристов-скриптеров, а в небольших компаниях сам скриптит. Помимо этого он заказывает необходимый арт и прочий контент у других отделов

Примеры качественного и нетривиального дизайна:
- Binding of Isaac, где кроме очевидных вступления и концовки вся история подана через игровые объекты.
- Crusader kings - каждая партия представляет собой отдельную историю.
- Papers please - где помимо сценок нарратив безрадостной жизни главного героя раскрывается через саму игровую механику возни с бумажками.

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

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

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

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

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

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

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

Источник (2 часа): https://kdicast.com/e/237-narrativnyiy-dizayn/