Про структуру больших проектов и культурные особенности.

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

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


Защита игры

Мы можем схематично разложить структуру ммо на цепочку событий.

  • Игрок производит действие
  • Клиент посылает данные о действиях на сервер
  • Сервер производит расчеты на основе правил и данных от других игроков
  • Сервер посылает данные клиенту
  • Клиент воспроизводит картинку на основе данных

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

Боты — программы, которые автоматизируют тот или иной процесс не предусмотренным игрой образом. Внешние алгоритмы(UoPilot, AutoIt) или специализированные боты, которые взаимодействуют с клиентом или имитируют его (Например La2walker и его InGame и OutGame вариации)

Некоторые ммо меняли базовые условия игры и выкручиваясь по своему, например в Guild Wars 2 важнее были цели раскиданные по локации, нежели уничтожение монстров.

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

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

Легче всего использовать ботов в ф2п играх на западном рынке. Поэтому многие бесплатные аккаунты имеют сильные ограничения по ресурсам и социальной активности. (Часто до первой покупки или премиум-подписки).

Помимо ботов существует множество методов мошенничества, например:

  • дублирование предметов (Дюп)
  • Хаки передвижения (Флай, Волл, Спид и другие модификации рассчетов и физики)
  • Модификации памяти (Например CheatEngine и ArtMoney могут сканировать память и фиксировать Оффсеты, адреса хранения переменных в ней)
  • Использование данных недоступных игроку (Например игровой радар, который фиксирует положение игроков, монстров и предметов вне поля обзора игрока)
  • Брут — подбор пароля через методичную подстановку всех возможных символов.
  • Отдельно стоит выделить подмену пакетов, когда в промежутке между клиентом и сервером происходит модификация пересылаемых данных.

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

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

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

На примере того же ArcheAge — все возможные варианты истекающие из такой архитектуры описаны на форумах читеров.

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


Дыры в игровой механике

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

Как примеры:

  • Перелив — договорная, твиноковая (см. ниже) или ботоводная добыча ресурсов за убийство игроков (Очки чести, титулы, ресурсы за убийство других фракций)
  • Твинководство — использование множества персонажей одним игроков, за счет ресурсов более прокачанного персонажа или наоборот поддержка персонажа через игру в несколько окон (Мультиинстанс, многооконник)
  • Накопление ресурсов по времени в игре — не принуждает к каким-либо действиям в игре, но провоцирует чтобы игроки были постоянно в игре, создавая нагрузку на сервер.
  • Дефицит контента — чаще всего контент игры делится левелкапом (Максимальным уровнем персонажа). До левелкапа игрок проходит основной сюжетный контент, а после в игру вступает контент другого плана (Рейды, ПВП, Дейлики, Арены). Если такого контента нет, то игрок потеряет доверие к игре и уйдет из нее.

При этом твинководство это одновременно проблема баланса и преимущество для продления игрового времени (повторное использование контента, это поощряется в ВоВ специальной экипировкой, а в Аллодах это дает дополнительные скиллы).

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

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

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


Игровая экономика

Эта секция посвящена преимущественно вопросам инфляции в игре, на многие эти вопросы отвечает отличное видео от Extra Credits.

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

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

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

Поэтому для вывода денег используются различные механизмы MoneySink (Грубо говоря — слив денег), когда деньги обмениваются на что-то, что не имеет ценности в экономике игры, но важно для игрока:

  • Починка предметов. Смерть персонажа или бои ломают экипировку, которая приходит в норму только за умеренную плату. (В ВоВ это стандартная механика, в Еве же она возведена в абсолют, когда при смерти уничтожается очень много ресурсов и техники в которую вложены деньги, при этом компенсируется страховкой лишь малая часть)
  • Продажа предметов NPC. Сбыт лута за малую часть его стоимости, что уменьшает вводимое в игру золото. С другой стороны многие предметы которые не несут значимости для экономики обретают цену. (Если подумать, этому препятствуют ограничения по переносу предметов, в итоге игрок перестает собирать копеечные предметы, а хранит только более ценные)
  • В дополнение к этому, лут который привязан к персонажу может быть переработан только в деньги. Учитывая что лут этот обычно более дорогой, это производит новые деньги в игру. Обмен предметами внутри экономики считается нейтральным в данном случае действием.
  • Расходники (Зелья, патроны, инструменты) и их баланс относительно игры сильно влияют на вывод валюты из игры. Они регулярно необходимы и их цены регулируемы.
  • Отсюда можно создавать расходники необходимые на регулярной основе для похождений хайлевел контента. При этом такие вещи будут не только выводить валюту из игры, но и станут ее альтернативой, подкрепляя ценность.
  • Налоги на действия. (Оплата писем, налог в аукционе, быстрые путешествия и подобные услуги которые требуют оплаты или съедают часты выгоды.)
  • Как вариант налоги на собственность, как пример содержание гильдии или дома. Все это принудительные платы которые выводят деньги из мира.
  • Так же отдельный ход это привязка валюты к реальной, через перепродаваемую ценность. Это провоцирует инфляцию но подкрепляет валюту альтернативной ценностью.
  • К группе расходников идут необходимые перманентные апгрейды (скиллы и статы), которые можно увеличивать с возрастающей стоимостью.
  • В комментариях к статье еще описывают лотереи и аукционы разработчиков, когда можно купить предмет чуть лучше доступного, но с повышенной ценой.
  • Как вариант магазины лимитированных ежедневных предложений или неизвестных свойств по повышенной цене (Распространено в Diablo)

Работа с комьюнити

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

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

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

Частые пробелы:

  • Запуск серверов в конце недели. В выходные у людей больше времени и они активнее играют, следовательно сервера загружены под завязку. А разработчики как правило отдыхают. (Пример из комментариев — при запуске The Elder Scrolls online сервера легли через 20 минут)
  • Цензура информации. Во многих вопросах описывается ситуация которая приравнивает бан и чистку информации к профнепригодности. И там же упоминается различие политик отрицания и признания проблем. Но скатывается все к тому, что комьюнити не любит сокрытия информации и отрицания чего-то в долгосрочной перспективе, слишком легко подорвать доверии пользователя к сервису.
  • В частности удаление темы о баге на форуме. Например, можно в очередной раз подчеркнуть осведомленность компании, убедить комьюнити что работы ведутся. Оставив следы деятельности, но зачистив конкретные методы исполнения бага. Это уменьшит шанс повторения такого действия. И может напомнить о правильном сообщении багов и нелегальности их использования. (Можно еще и поощрить пользователя благодарностью, подстегнув других сообщать баги правильно)
  • Если отрицать существование бага, можно ловко скрыть информацию на самом форуме игры, что в итоге может оставить массы в неведении и держать репутацию компании. Но токая политика может нарушить доверие игроков в долгосрочной перспективе.
  • Если признать баги, в тебя в любом случае полетят палки. Но комьюнити будет понимать что компания честна и работы над проблемами ведутся. Прозрачность поднимает доверие к сервису, хоть и может вызвать недовольство общей ситуацией и оттолкнуть вложения денег.
  • Запоздалый найм КМов и Модераторов. Помимо посредничества между разработчиком и пользователям КМы зачастую формируют само комьюнити игры, служа методом пиара. А без модераторов любой форум быстро превратится в помойку из спама. И даже при всей прозрачности информацию ходящую вокруг игры нужно направлять в правильное русло. На самотеке она легко может уйти в негативное русло.
  • Отсутствие общения с разработчиками, при множестве вопросов и обилие спама создает впечатление наплевательского отношения к игроку, относительно понятия игры как сервиса это убивает сервис. Даже учитывая что малая часть игроков читает форум, сарафанное радио может утвердить понимание безразличия разработчиков, особенно когда игра только набирает обороты.
  • Ситуации когда игроки уверены что компания способствует махинациям в игре, точно так же говорят о плохой работе с комьюнити, игроки легко могут дезинформировать себя на ложных выводах. Этому потворствует отсутствие информации о принимаемых мерах и связи с комьюнити.
  • Если игроки постоянно шлют запросы для техподдержки на форум, это значит что остальные методы обращения в поддержку недостаточно удобны или игроки уверены что быстрее получить поддержку таким методом. Как хорошее решение можно ввести быструю форму отзыва прямо в самой игре или быструю связь с гмом, который может помочь или оформить заявку. Так же можно сделать отдельную ветку на форуме, в которую будут попадать все такие темы, на их основе при помощи несложного бота делать заявки в техподдержку и сообщать ответы.
  • Если игроки считают что разработчики скрывают информацию об игровых изменениях, это говорит о недостаточной работе с коммьюнити. Такие вещи можно исправить контактом с представителями гильдий, авторитетными игроками, подтвержденными достижениями в игре и увлеченными игрой. В такой ситуации их голос может быть весомей. (Из комментов: если апдейт не производился, можно это использовать как аргумент. НО фундаментально следует выйти на контакт с игрокам и выяснить откуда у них такое мнение, это могут быть последствия других механик, неправильные расчеты и уникальные ситуации)
  • В дополнение к удобству тех-поддержки, фиксация бота не обязательно должна подтверждаться видео. Видео это трудоемкий процесс отталкивающий пользователей. По факту достаточно ника бота, описания и примерного времени. Если на сервере ведутся логи, то по ним легко можно вычислить активность игрока. В итоге эти данные могут быть более информативны чем видео.

В завершение:

Как ни странно в итоге мы получаем базовые формулы работы с сервисом: Исследование особенностей рынка, общение и работа с клиентом, удобство сервиса и рабочая архитектура безопасности.

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

Show your support

Clapping shows how much you appreciated OctothorpeVi’s story.