Геймификация форума на движке XenForo

image

Введение и выбор решения


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

Используемый в нашей компании форумный движок XenForo в настоящее время является наиболее популярным и быстро развивающимся. Этот движок по-умолчанию имеет встроенную систему трофеев основанную на собственной, весьма ограниченной, системе критериев. Сама система создания трофеев также имеет ограниченный функционал, например, нет возможности создавать трофей с графическим бейджем, нет возможности создавать скрытые трофеи, и т.д. Для примера приведу скриншоты дефолтной системы трофеев XenForo для трофея Addicted (присваивается в случае достижения 1000 постов):
55bb100009ad41b8b6df75f249be933a.png

Определение критерия для этого трофея выглядит так (таб Award This Trophy If…):

84a99f863e09425ca194fcfb3ba6a8a0.png

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

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

Таким образом, потратив некоторое время на поиски подходящего решения и запросы сообществу, было определено лучшее на сегодняшний день решение для реализации продвинутой системы трофеев и достижений на платформе XenForo — связка плагинов Master Badge и CTA Criteria. Были опробованы и другие популярные решения, например, Brivium Extra Trophies Awarded, но их функциональность была оценена как недостаточная.

Но вернемся к связке Master Badge и CTA Criteria. Первый плагин представляет собой платное ($35) мощное решение для управления системой достижений и трофеев, а второй плагин — бесплатный увеличитель количества возможных критериев для получения трофея. Оба плагина обновляются нечасто, но в 2016-ом году обновления выходили. С разработчиками легко и просто связаться либо в обсуждении плагина на его странице, либо в приватной переписке.

Настройка плагина Master Badge


Разберемся поподробнее с настройкой плагина Master Badge. Первый таб выглядит так:

d1d0a089050648fa8987b9fa19f2babd.png

Здесь интересна опция «Display user’s featured badges in Member Card» и связанная с ней «Featured Badges». В полях ниже можно задать сколько трофеев юзер может отражать на своем Memeber Card в зависимости от своего текущего уровня. Например, для достигнутого 10-го уровня, юзер может на своем Member Card показать 5 заработанных трофеев. Выглядит это вот так:

0ca150b4222a476e9620c9ff58bd7466.png

Следующий таб настройки выглядит так:

527db5858f504bafa7eda9e6d5296b77.png

Тут интерес представляет то, сколько очков нужно набрать до достижения следующего уровня (Points Per Level) и система начисления очков при переходе с уровня на уровень выше (Level Up Options). Имеется даже Level Calculator для вычисления необходимого количества очков для достижения того или иного уровня.

И третий таб настроек:

c72816de3abd43ff9a187e5138ad567c.png

Тут определяется месторасположение виджетов прогресса (Progress to Next Level) и топа юзеров (Top Level) в сайдбаре форума.

Создание системы трофеев


Для начала нужно сказать, что Master Badge определяет две важные сущности — Badge и Trophy. Badge имеет собственные свойства, важнейшее из которых Badge Mode, и может включать в себя трофеи (Trophies). Badge Mode может быть:
  • Visible — все трофеи, входящие в этот Badge, видны.
  • Step by Step — следующий трофей будет показан только после того, как предыдущий был получен.
  • Hidden — трофей будет показан только тогда, когда будет получен.

2746e7bae240419d8991c53d74401c30.png

Внутри Badge мы создаем трофеи. Хотя трофеи можно создавать и не включая их в Badge. В окне создания трофеев имеются три таба. Для нас важны первые два. На первом задается название трофея, его ценность (Trophy Points), его описание, его принадлежность к Badge, его порядок, его иконка:

eabe31d0372841a391d83cc1852a0474.png

Второй таб самый важный, здесь задаются критерии получения трофея, и благодаря уже упомянутому плагину CTA Criteria количество этих критериев значительно увеличено, в отличие от умолчательной системы трофеев XenForo. Тут не влезли все возможные критерии, включен только один — достижение 100 лайков:

b173201028444a8f84af3bc9dded2f5b.png

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

ab48f47799644dcc9df779aa31f06c3c.png

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

  • Бейдж Poster с типом Step-by-Step и трофеями, основанными на критерии количества постов и с соответствующей возрастающей ценностью.
  • Бейдж Favorite с типом Step-by-Step и трофеями, основанными на критерии количества лайков и с соответствующей возрастающей ценностью.
  • Бейдж Cool Pleskian с типом Hidden и трофеями за привязку аккаунта к соцсетям, за достижения Ratio (отношение количества лайков к количеству постов) до определенного в критерии уровня (трофей The Most Useful! )
  • Бейдж Years of service с типом Step-by-Step и трофеями, основанными на критерии количества дней с момента регистрации на форуме и с соответствующей возрастающей ценностью.

Дополнительно нужно упомянуть следующую техническую деталь. Трофеи и их уровне (Level Points) подсчитываются для пользователей на основе срабатывания соответствующей CronTask, которую при желании можно запустить вручную:

e8d252dc271e4374a8bf5cb219b452a7.png

Система со стороны обычных пользователей форума


После того, как система трофеев настроена и запущена, со стороны пользователей форума она видна вот так:

На главном меню форума появляется таб Badges с собственными табами Leaderboard и Latest Awarded:

eb8aa7968f944303b508468d016b33ef.png

В профиле каждого пользователя форума так же появляется отдельный таб Badges, где видны его заслуги:

17a51d2d4f744f62945b8c530340b05e.png

При этом, пользователь может сам определить, какие трофеи он может разместить под своей аватарой в форумных постах:

9e0861d067424cf58312dd4b52dbf40e.gif

В тредах и постах ваши заслуги будут видны вот так:

d2b636125fa646cf903c9e66a93e74b1.png

при этом количество позволенных для показа трофеев определяется уровнем пользователя, (Level Points), и зависит от настроек плагина Master Badge, о чем было сказано выше. Факт получения каждого нового трофея пользователь увидит в виде соответствующего Alert в верхнем правом углу форума.

О провокационности и результатах

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

Как небольшой пример такого подхода могу привести пару трофеев с нашего форума:

imageКогда зарегистрированный пользователь заходит на форум из результатов поиска Google, он получает трофей LMGTFY (Let Me Google This For You) имеющий описание «You know the forum has its own search, right?» и иконку в виде Блица из мультика Зверополис.

imageЕсли пользователь включил для себя двухфакторную авторизацию, то он получит трофей Better Safe Than Sorry с описанием «Enabled two-factor authentication because why not» и иконкой защищающего профилактического резинового изделия.

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

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

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

Комментарии (0)

© Habrahabr.ru