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

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

Действительно, вполне возможно создать и использовать геймификацию на основе встроенного инструментария и критериев, но, в конечном счете, это выглядит недостаточно привлекательно и современно. Критериев для получения трофеев также недостаточно.
Движок XenForo хорош тем, что он имеет весьма серьезное и активное сообщество (имеются и русскоязычные группы), которое постоянно работает над его улучшением. Создана огромная база всевозможных плагинов, стилей, шаблонов и т. д. Они бывают как коммерческие, так и бесплатные. Существуют даже отдельные компании, занимающиеся разработкой и продажей решений для XenForo, например, Brivium.
Таким образом, потратив некоторое время на поиски подходящего решения и запросы сообществу, было определено лучшее на сегодняшний день решение для реализации продвинутой системы трофеев и достижений на платформе XenForo — связка плагинов Master Badge и CTA Criteria. Были опробованы и другие популярные решения, например, Brivium Extra Trophies Awarded, но их функциональность была оценена как недостаточная.
Но вернемся к связке Master Badge и CTA Criteria. Первый плагин представляет собой платное ($35) мощное решение для управления системой достижений и трофеев, а второй плагин — бесплатный увеличитель количества возможных критериев для получения трофея. Оба плагина обновляются нечасто, но в 2016-ом году обновления выходили. С разработчиками легко и просто связаться либо в обсуждении плагина на его странице, либо в приватной переписке.
Настройка плагина Master Badge
Разберемся поподробнее с настройкой плагина Master Badge. Первый таб выглядит так:

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

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

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

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

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

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

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

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

Система со стороны обычных пользователей форума
После того, как система трофеев настроена и запущена, со стороны пользователей форума она видна вот так:
На главном меню форума появляется таб Badges с собственными табами Leaderboard и Latest Awarded:

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

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

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

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


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