Вы здесь

Математическое руководство по созданию компьютерных игр. Справочник. Репутация в игре или во имя славы и чести (Алексей Патрашов)

Репутация в игре или во имя славы и чести

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

Задача усложняется, если в игре присутствует несколько сторон и репутация у каждой из них вычисляется отдельно. Сразу же возникают вопросы взаимосвязи между объединениями. Как быстро каждое из объединений забывает предыдущие заслуги? Важен ли порядок получения заслуг или всё равно как их получать? Насколько каждое из объединений ревностно относится к работе на другие объединения? Чаще всего эти вопросы решаются просто ограничением возможности вступить в каждое объединение и число объединений, в которых состоит герой, сокращается до оного или работа на каждое объединение не влияет на отношение всех остальных.

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

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

Как видно из рассмотренного, задача сводится к способу получения среднего значения из последовательности чисел, а также учёту порядка значений в заданной последовательности. Таким образом задача разделяется на две: определить среднее значение без учёта порядка и ввести способ учёта порядка в получение среднего значения.

Вообще, вычисление любого вида неупорядоченного среднего возможно по Колмогорову. В зависимости от выбора функций можно получить практически любые приемлемые для использования результаты. Чаще всего используется среднее арифметическое. Среднее геометрическое в силу своего требования к положительности знака и среднее гармоническое в силу своего требования неравенства нулю всех членов ряда обычно не используются. Ниже приведена формула неупорядоченного среднего по Колмогорову, где u ― монотонная функция, имеющая областью допустимых значений все возможные значения исследуемых данных, а v ― функция, обратная u.




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


где w ― весовая функция.


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

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


и обратная функция




В таблице 2 приведён пример упорядоченного среднего для ряда значений из интервала [-2, 2] в прямом и инвертированном виде: (0, 1, 2, 1, 2, 1, -2, 2, 0, -2, 0, 1). Легко заметить для последних двух функций, что изменение весовой функции может быть равносильно инвертированию порядка данных и об этом надо помнить при выборе функций. Степенные функции определены как rps.


Таблица 2. Упорядоченное среднее.


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

Конец ознакомительного фрагмента.