математические примеры для игр, не для трехмерного или визуального / рендеринга, а для уровней или результатов событий и т. д. - PullRequest
1 голос
/ 18 августа 2010

Существуют ли какие-либо учебные пособия о том, как рассчитывать «результаты» для событий в игре, основываясь на таких данных, как сила персонажа, слабость и т. Д.

Кроме того, как вы делаете все более и более сложным и сложным.

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

Это для выяснения, если, например, персонаж побеждает «плохого парня», основываясь на его характеристиках, таких как сила, уровень, подготовка, оружие и т. д.

Надеюсь, это имеет смысл.

Ответы [ 4 ]

2 голосов
/ 18 августа 2010

Для игрока p пусть его счет будет S_p, где

S_p = C_1 x w_1 + C_2 x w_2 + ... + C_n x w_n

где C_i = характерная оценка i для персонажа (например, сила) и где w_i - вес характеристики

Для нормализации, вероятно, проще всего иметь w_1 + w_2 + ... + w_n = 1

Для простого результата просто вычислите счет для обоих игроков и сравните - большие выигрыши.

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

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


Пример: Скажем, мы работаем с тремя характеристиками, каждая из которых имеет одинаковый вес (1/3). Игрок A имеет очки: 10, 8, 20. Игрок B имеет очки: 11, 8, 4.

  • S_A = 1/3 x (10 + 8 + 20) = 38/3
  • S_B = 1/3 x (11 + 8 + 4) = 23/3

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

1 голос
/ 18 августа 2010

Вы можете симулировать битву.Запустите симуляцию, например, 100 раз и посчитайте, сколько раз выиграл хороший парень.Теперь у вас есть номер, который вы можете использовать, чтобы оценить силу столкновения.

1 голос
/ 18 августа 2010

Я не знаю ни одного учебника, но концепция не так уж и сложна. Каждый персонаж (игрок и NPC в вашем случае) имеют определенные характеристики. Каждое из значений для характеристик используется как часть уравнения для вычисления значения для символа. Персонаж с наибольшей ценностью побеждает в битве.

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

Что касается усложнения вещей, вы можете увеличить значения характеристик для ваших NPC (делая их труднее победить). Вы также можете добавить больше неигровых персонажей в мир, что означает, что игрок встречает больше боев, получая больше урона, тем самым усложняя игру.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...