
Выйти на передовую и обыграть друзей
В Mario Kart 8 выбор гонщика, кузова карта, шин и планера — не просто вопрос стиля. Он настолько же важен для победы в гонке, как и мастерство самого игрока. Возникает вопрос: как найти по-настоящему лучшие комбинации?
Для каждого из четырёх элементов доступны десятки вариантов. У каждого варианта — свой набор характеристик (скорость, ускорение и другие), влияющих на итоговую производительность.
В сумме это даёт огромное количество возможных сборок.
Часть различий чисто стилистическая — у некоторых комбинаций совпадающие характеристики. Но даже отбросив такие дубликаты, разобраться в тысячах оставшихся вариантов непросто.
Есть ли способ найти лучшую сборку, или всё сводится к удаче? Стоит ли делать упор на скорость, чтобы быть быстрее всех, или на ускорение, чтобы быстрее восстанавливаться после столкновений? Решение этой задачи предложил больше века назад экономист Вильфредо Парето.
Как находить компромисс между характеристиками
Найти самого быстрого гонщика просто — достаточно отсортировать персонажей по характеристике скорость. Логично предположить, что Bowser или Wario — очевидные кандидаты.
Но полагаться только на скорость при выборе оптимальной сборки нельзя. Нужно учитывать и другие параметры. Как только в игру вступает второй показатель — например, ускорение — задача найти лучший вариант перестаёт быть тривиальной: приходится искать баланс между характеристиками.
При внимательном рассмотрении выясняется, что некоторые варианты всегда оказываются заведомо хуже других. Показательный пример — Koopa Troopa.
У Cat Peach та же скорость, но выше ускорение, а у Toadette то же ускорение, но выше скорость. Иными словами: если цель — победа, сажать Koopa Troopa за руль смысла нет — он всегда проигрывает по обоим параметрам сразу.
Можно выделить всех «эффективных» гонщиков — тех, кто, в отличие от Koopa, никогда не оказывается хуже одновременно по скорости и ускорению. Вместе они образуют так называемый фронт Парето (или границу Парето).
Важная деталь: не все элементы границы одинаково хороши. Скорее всего, игрок не выберет гонщика на самом краю фронта, потому что нужен определённый баланс между скоростью и ускорением. Эффективность по Парето — объективный критерий, который отсеивает заведомо худшие варианты, но окончательное решение всё равно остаётся за игроком.
В зависимости от стиля игры и навыков можно придавать больший вес одной характеристике по сравнению с другой. Эти предпочтения и подскажут, какая точка на фронте Парето подходит лучше всего.
От отдельных элементов к полной сборке
На практике выбирается не только гонщик, но и полный комплект: кузов, колёса и планер. Каждую сборку можно представить как отдельную точку в многомерном пространстве характеристик. Количество вариантов при этом резко возрастает — но принцип Парето продолжает работать и здесь.
За игровым примером скрывается универсальный паттерн. Подобные компромиссы возникают постоянно и далеко за пределами Mario Kart: хочется найти блюдо, которое одновременно дёшево и вкусно; работу, которая хорошо оплачивается, не требует больших усилий и приносит удовлетворение; инвестиционный портфель с низким риском и высокой доходностью; гибкий и прочный материал, который к тому же легко производить; справедливую систему налогообложения, остающуюся при этом экономически эффективной; качественную LLM, которая одновременно быстрая и дешёвая в использовании. Во всех этих случаях речь идёт о многокритериальной оптимизации, где приходится искать компромиссы.
Если заранее известны точные веса для каждого измерения (то есть известна функция полезности), задача сводится к обычной однокритериальной оптимизации — все измерения объединяются с весами в единую величину (полезность, стоимость или приспособленность), которую нужно оптимизировать. В этом случае аппарат Парето вообще не требуется.
Но чаще функция полезности неизвестна или неопределённа. Именно в таких ситуациях фронт Парето позволяет объективно отбросить все заведомо неоптимальные варианты. Он не укажет единственно верный ответ сразу, но даёт возможность экспериментировать с эффективными вариантами и выбрать тот, что подходит лучше всего.
Благодарности
В статье сделаны некоторые упрощения, чтобы материал оставался понятным широкой аудитории. На самом деле представленные характеристики преобразуются в производные игровые показатели, которые не всегда линейно зависят от базовых статистик. Кроме того, для всех компонентов (кроме гонщика) существует по 4 показателя скорости и 4 показателя управляемости — они были усреднены для простоты. Также в стороне осталась функциональная форма функции полезности, которая может играть значительную роль.
Источники
Super Mario Wiki — игровые характеристики Mario Kart 8 Deluxe
Henry H. — Mario Kart and the Pareto Frontier, 2015