Нюансы матчмейкинга в Kingdom Clash: поиск баланса и борьба с абьюзами
Уже в первый месяц после выхода Kingdom Clash стало ясно, что PvP-арена станет главной точкой притяжения игроков и основным драйвером монетизации. Большинство обсуждений в комьюнити сводилось к тактикам, расстановкам и составу армий для арены.
Работая над PvP, команда сразу решила, что все должно быть по-честному, чтобы игроки продвигались по рейтингу органично, инапы не дисбалансили игру, а читеры и абузеры не руинили атмосферу. На практике это не всегда так просто: игроки топят за честность, но не упустят возможности абьюзить механики игры, чтобы продвигаться выше по рейтингам. А еще настройка баланса напрямую влияет на монетизацию.
Но мы постарались соблюсти баланс между спортивным интересом и другими метриками в асинхронном батлере.
Организация лидерборда и подбор соперников в PvP
За основу матчмейкинга на арене Kingdom Clash мы взяли систему Эло, когда за победу над соперником, у которого рейтинг выше, игрок получает больше очков рейтинга в награду, а в противном случае — меньше.
Эту формулу придумали еще в середине XX века для подсчета шахматного рейтинга, но оказалось, что она также подходит для батлеров и вообще игр с лидербордами. Она несложная, не требует вести какие-то огромные записи (учитывается всего 6 параметров) и позволяет быстро и удобно считать.
После открытия нового сезона для всех игроков рассчитывается стартовый рейтинг. Перед началом боя рейтинги обоих участников сравнивают, и из этой разницы формируется коэффициент призовых очков. За победу над соперником с более высоким рейтингом игрок получает полную сумму коэффициента, над равным — примерно половину, над более слабым — меньшую часть.
Глобально все игроки распределены между 6-ю лигами «бронзовая», «серебряная», «золотая», «платиновая», «алмазная» и «мастер лига» для самых хардкорных. Чем больше побед над равными или более сильными соперниками, тем быстрее игрок прогрессирует по лигам. А в конце сезона игроки получают награды сообразно своим достижениям.
Если с системой начисления очков в лидербордах мы единодушно согласилась, то вокруг темы, как подбирать пары соперников после добавления арены было много разных дискуссий. Обсуждали два варианта: подбирать соперников по рейтингу или по силе армий.
На первый взгляд кажется, что по силе армии более справедливо, так как рейтинг игрока зависит от множества субъективных факторов. Например, игрок долго не заходил на арену и просел по рейтингу, но армия в его распоряжении все такая же мощная и вернувшись в дело, он будет слишком легко побеждать соседей по лидерборду.
С другой стороны, если мы постоянно даем игроку соперника симметричного по силе армии, мы буквально наказываем его за успех. Чем сильнее становится сам игрок, тем сложнее соперники и сложнее побеждать.
Допустим, в PvP приходит новичок и сразу думает, а потрачу-ка я $1000, чтобы мощно качнуть свою армию, стать в 10 раз сильнее и быстрее прогрессировать по рейтингу. Он покупает инап, становится в 10 раз сильнее, но сразу же начинает получать соперников тоже в 10 раз сильнее, а значит прогрессирует с той же скоростью, что и обычные игроки, которые качают армию бесплатно. Он не чувствует, что инапы дают преимущества, а значит теряет мотивацию использовать эту возможность. Чтобы сохранить дух соперничества, важно сохранить у игрока ощущение «я прокачал армию и играть стало веселее».
Но как в этом случае уравновесить подбор соперников PvP, чтобы не дисбалансить игроков, которые инапы не покупают? Мы долго рисерчили эту тему и пришли к выводу, что система Эло — хороший для нас вариант.
Сейчас соперники подбираются по рейтингу с разбросом плюс-минус 10%. Если у игрока 1000 очков, ему будут попадаться соперники с рейтингом от 900 до 1100. Такая формула не наказывает игрока за стремление быстрее прогрессировать по рейтингу. То есть усилив свою армию, игрок реально получает преимущество, начинает прогрессировать быстрее, повышает рейтинг и снова сталкивается с похожими по силе соперниками.
Сегодня, если посмотреть на арену, то ситуация в лидербордах выравнялась органически, без вмешательства со стороны разработчика.
В дальнейших итерациях мы пробовали добавлять в PvP дополнительные слои геймплея. Одним из самых удачных в плане монетизации решений стала механика мести. Если кто-то тебя побил на арене, есть возможность напасть на этого же соперника, чтобы отомстить. Но сначала для этого нужно собрать армию посильнее. И, если игрока распределяет в бакет по рейтингу, а не по силе армии, у него появляется мотивация сначала сходить в магазин прокачаться, а затем вернуться в PvP и вернуть своим обидчикам долг.
Боремся с абузом игровых механик
В итоге за всю историю Kingdom Clash в комьюнити не поднимался вопрос несправедливого матчмейкинга. Но парадокс: игроки всегда топят за равные шансы, но сами никогда не упускают возможности эксплойтить механики игры, чтобы получить преимущество в PvP.
В Kingdom Clash была фича, когда во время матча в PvP можно выйти из боя и от этого попытка не сгорает. Так мы хотели обезопасить людей с плохим интернет-соединением, чтобы им не засчитывалось поражение из-за технических накладок. Если вылетел, зайди и сыграй свой матч снова.
Игроки начали массово это использовать, чтобы избежать схваток с сильными соперниками. Если видят, что в списках соперников кто-то сильнее, специально нападают на них, а потом выходят из игры. Затем заходят по новой, сохранив попытку, но список соперников у них уже обновился. Люди начали массово проделывать этот трюк. Даже в Дискорде открыто обсуждали эту тему, кидали новичкам гайды, как абузить арену.
Мы это увидели и эту возможность убрали. Сделали так, что за перезаход предлагается доиграть бой, либо принять поражение. Но сначала проанализировали, и оказалось, что людей, которые реально вылетают из-за разрыва связи мизерный процент, а вот абуз стал историей массовой. Если будете фиксить что-то подобное, то первое время ждите большое негодование от пропажи лазейки даже со стороны тех, кто против читеров.
Еще над одной проблемой, характерной для всех игр с рейтингом Эло, до сих пор работаем. Все играют в разных часовых поясах, а технически игровой день стартует в 00:00 UTC. В результате люди, у которых время игровой сессии примерно совпадает с началом игрового дня по времени сервера оказываются в более проигрышной ситуации. Они отыгрывают свой лимит боев раньше остальных и первыми вырастают по рейтингам. Потом приходят те, у кого время сессии ближе к концу игрового дня, нападают на тех, кто уже набил себе рейтинг утром и обходят их в таблице лидеров. У первых просто не остается возможности отыграться.
У нас есть гипотеза фиксировать очки игрока на момент предыдущего дня, чтобы нивелировать преимущество из-за разницы во времени, но как это красиво сделать, пока не решили.
Более «упорные» топовые игроки совмещают эту проблему с абузом механики мести по следующей схеме:
1. На конец игрового дня выставляют очень слабую формацию, чтобы победить ее мог любой.
2. Его атакуют игроки с сильной меньшей мощью армии и срезают максимально возможное количество рейтинга.
3. Мести хранятся у нас 24 часа, поэтому игрок может сразу не мстить, а накапливать их, что он и делает, формируя из этих местей заначку в очках рейтинга.
4. Начинается новый день, игроки ждут его завершения, в последний час сначала проводят свои обычные 20 боев, а потом еще отбивают накопленные мести со вчерашнего дня, формируя еще больший отрыв в очках рейтинга, от других игроков.
Проблема хоть и лежит на поверхности, но мы о ней подумали не сразу. Такой абуз стал обычным паттерном поведения у многих игроков, потому что о нем рассказывали при вступлении в кланы и в сообществах в соцсетях.
Побочный эффект такого абуза: большинство сильнейших игроков сидит со слабыми формациями и ждут, когда их побьют, и в топах лидерборда отображаются игроки с очень низкой мощью, что нас также сильно смущало.
Решили проблему просто: сделали так, что за месть возвращается только 50% потерянных очков, проигрывать в защите стало невыгодно, игроки перестали заниматься подобными штуками и лидерборд оздоровился.
Вместо заключения
В некоторых видеоиграх есть подходы подкручивать матчмейкинг в PvP, ради улучшения метрик. Например, дают новичкам более слабых соперников на старте, а позже специально подбирают более сильных, чтобы мотивировать прокачиваться.
Но мы остановились на честных PvP-режимах и убедились, что арена в KC — живой организм, который сам себя сбалансирует. На каком-то этапе игроки неизбежно начнут встречаться с соперниками примерно равными по пауэру. Просто потому что, чем сильнее армия игрока, тем выше место рейтингах.
Недавно анализировали топ-500 игроков на арене и оказалось, что 65-75% из них совершают покупки.