Статьи

Фибоначчи против всех!

Итак, совсем недавно я написал свой первый пост об использовании Фибоначчи в гейм-дизайне. Напоминаю, в том посте я использовал последовательность Фибоначчи для построения простой экономической модели игры.

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

Опять же, постараюсь кратко и по делу.

 

Чем использование Фибоначчи отличается от геометрической (арифметической) прогрессий?

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

Давайте будем разбираться!
Вкратце упомяну про те последовательности, которые я рассмотрю.

Фибоначчи — это последовательность чисел, каждый член которой равен сумме двух предыдущих (0,1,1,2,3,5,8…).

В арифметической прогрессии каждый член, начиная со второго, равен предыдущему, сложенному с постоянным для этой последовательности числом d. Число d называется разностью прогрессии. (0,2,4,6,8…при d=2).

В геометрической прогрессии каждое последующее число, начиная со второго, получается из предыдущего умножением его на определённое число q — знаменатель прогрессии. (1,3,9,27…при q=3).

Я набросал 6 вариантов различных последовательностей. Много чисел, знаю. Но не парьтесь, вникать в них совсем необязательно. Они здесь исключительно ради чистоты данных.

Уточню, что в случае с Фибоначчи и геометрической прогрессии с модификатором 0.7 каждый член последовательности дополнительно умножается на модификатор. По аналогии с тем, как я рассчитывал Вознаграждение 2 в прошлом посте. Чтобы избавиться от дробных долей, эти последовательности округлены вверх.

 

 

Вы пропустите эту картинку с 90% вероятностью. Кстати, передаю привет маме!

Визуализируем:

 
 

Бросив даже беглый взгляд на табличку и графики, я могу сделать следующие наблюдения:

  1. Арифметические прогрессии в начале растут быстро, но с каждым шагом все безнадежнее отстают.
  2. Геометрические прогрессии стремительно улетают в космичекое пространство с упорством качественно построенной в Kerbal Space Program ракеты.
  3. Фибоначчи ведут себя аналогично геометрическим, но с менее космическими скоростями.

Арифметические прогрессии прямолинейные и скучные, но могут неплохо подойти для математических моделей повреждений/хитпоинтов.

Геометрические последовательности и Фибоначчи имеют чертовски похожие графики. Оба этих варианта отлично подойдут для экономических мат.моделей или, например, моделей очков опыта / уровня персонажа.

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

Известный прецедент подобной проблемы — настольная ролевая игра DnD, редакция 3.5. Ближе к последнему 20му уровню персонажа игроки становились фактически неуязвимы. Они могли летать, проходить сквозь стены и уничтожать целые страны своими заклинаниями.

Понятно, что придумать интересное и бросающее вызов приключение для таких полубогов было чертовски сложно, поэтому в правилах прописывали, что как только персонаж достигает последнего уровня, он “уходит на пенсию” и игрок должен создать нового.

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

Вы же можете добиться подобного эффекта с помощью математики — для большего удобства ваших игроков.

Лично мне больше нравится Фибоначчи по нескольким причинам:

  1. Растет более плавно, чем геометрическая. Период невысоких значений дольше, чем у геометрической, да и в последствии более высокие значения набираются гораздо медленнее. Это позволяет использовать Фибоначчи большее количество “шагов” мат.модели без перенастройки.
  2. Более гибка и менее прозрачна для игрока при работе с модификаторами. В целом более интересная (хотя это имхо, конечно).
  3. Ее название круто звучит — что дает вам +10 к офигенности. Само собой, некоторые коллеги что-то заподозрят. Но вы не сдавайтесь — сохраняйте невозмутимую мину.

 

Берите пример с Венди!

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

 

В следующем посте я постараюсь осветить второй популярный комментарий — построение кривой сложности с учетом нашей экономической мат.модели из первого поста.

Спасибо за внимание!

Один комментарий

  • Андрей Твердоступ

    Непонятно, как в Фибоначчи с модификатором 0.7 мы получили значение 6. Перед 6 идут значение 3 и 4.
    (3+4) * 0,7 = 4,9 округляем 5.

    Что происходит в геометрической с модификатором 0.7 тоже непонятно, не могу вручную посчитать, какое вычисление происходит под капотом? Не знаю какой знаменатель прогрессии.
    Спасибо за ответ =)

Добавить комментарий