Суббота, 20 Апреля 2024, 08:45

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум игроделов » Создание игр и всё, что с этим связано » Геймдизайн » Игровые формулы (Немного математики)
Игровые формулы
-=Yoshimitsu=-Дата: Пятница, 25 Февраля 2011, 16:24 | Сообщение # 1
был не раз
Сейчас нет на сайте
Надеюсь тема поможет тем, кто ломает голову над придумыванием интересной игровой системы: системы боя, системы раскачки персонажа.
Математика вносит разнообразие, а сложыне формулы учитывают множество факторов, воздействующих на результат.
Интересная система - залог успешной игры.
Эта тема в большей степени будет полезна любителям жанра RPG во всех своих проявлениях. Надеюсь в дальнейшем кто-нибудь поделится своими наблюдениями и размышлениями на тему.
Надо помнить: цифры стимулируют манчкинизм.

Начну я наверно с формул из Diablo II. Я его всегда уважал и уважаю за сильную мат.часть.

Шанс Блока:
Полный блок = (Блок щита * (Ловкость - 15)) / (Уровень Персонажа * 2)

Шанс попадания:
100 * AR / (AR + DR) * 2 * alvl / (alvl + dlvl)
AR = Attack Rating (Рейтинг Атаки); alvl = Level of Attacker (Уровень Атакующего); dlvl = Level of Defender (Уровень Обороняющегося); DR = Defense Rating (Рейтинг Защиты)
Пометка: Атаки никогда не могут быть ни ниже 5% вероятности попадания, ни выше 95% вероятности попадания.

Base Attack Rating (Базовый Рейтинг Атаки)
(без бонусов от шмоток или умений)
= (Ловкость * 5) - 35 + Классовый Бонус
Классовый Бонус:
20 для Варваров и Паладинов
15 Ассасинок
5 для Амазонок и Друидов
-10 для Некромансеров
-15 для Сорок

Рейтинг Защиты:
Защита = Ловкость / 4 (с округлением вниз) + (Защита со Снаряжения)

Ловкость, необходимая для 75% Вероятностью Блока (максимальная вероятность блока)
Ловкость = (75 * Уровень Персонажа * 2) / (Блок) + 15

Видите, в некоторых формулах ведётся зависимость от уровня персонажа или врага. Как бы привязка к опыту, распространённый трюк в рпг системах.

Теперь чуть-чуть про Final Fantasy XII.

Расчёт Урона.

Без оружия:
Урон = [11 x Случайное Число (1~1.125) - Защита] x Сила x (Уровень Персонажа + Сила)/256

с Мечами:
Урон = [Атака (оружия) x Случайное Число (1~1.125) - Защита] x [1 + Сила x (Уровень Персонажа + Сила)/256]

SuzakuДата: Пятница, 25 Февраля 2011, 22:48 | Сообщение # 2
уже был
Сейчас нет на сайте
Ёша, а откуда взял информацию о формулах, приведенных тобой в примерах? линк на оригинал если можно (а если еще и в оригинале, то вообще цены не будет). Просто сам сейчас пишу свою механику, хотелось бы пищи для размышлений happy

Per aspera ad astra
NeZnayuДата: Пятница, 25 Февраля 2011, 22:56 | Сообщение # 3
__танцуй!__
Сейчас нет на сайте
Формулы зависят от конкретной игры, нельзя просто запихать их в свой проект - никакого баланса не будет.

Эти формулы будут полезны только геймерам.


CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу
froexДата: Пятница, 25 Февраля 2011, 23:00 | Сообщение # 4
Руководитель Froexilize team
Сейчас нет на сайте
Советую изучить следующие дисциплины, тогда сможете рассчитывать баланс (приведу только основные):
- Дискретная математика
- Математический анализ
- Функциональный анализ
- Аналитическая геометрия
- Векторная алгебра
- Численные методы
- Теория вероятностей
- Математическая статистика
- Математическое программирование
- Теория игр
- Теория управления
- Математическое моделирование


Не превращайте форум в чат. Пишите более развернуто и понятно - всё равно вас попросят объяснить подробнее.
Алгоритмы, программирование, оптимизация, тестирование, ведение проектов.
Ищу художника, дизайнера, тестера, программистов С и С++
Обучаю процессам разработки и программированию.
NeZnayuДата: Пятница, 25 Февраля 2011, 23:14 | Сообщение # 5
__танцуй!__
Сейчас нет на сайте
froex, порой достаточно обычной логики + немного математики.

CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу
froexДата: Пятница, 25 Февраля 2011, 23:19 | Сообщение # 6
Руководитель Froexilize team
Сейчас нет на сайте
Quote (NeZnayu)
froex, порой достаточно обычной логики + немного математики.

Я и привёл список простой математики )))

Добавлено (25.02.2011, 23:19)
---------------------------------------------
Ой, да - я забыл указать математическую логику ))


Не превращайте форум в чат. Пишите более развернуто и понятно - всё равно вас попросят объяснить подробнее.
Алгоритмы, программирование, оптимизация, тестирование, ведение проектов.
Ищу художника, дизайнера, тестера, программистов С и С++
Обучаю процессам разработки и программированию.
noTformaTДата: Пятница, 25 Февраля 2011, 23:34 | Сообщение # 7
Ukrainian independent game developer
Сейчас нет на сайте
Quote (froex)
Ой, да - я забыл указать математическую логику ))

математическая логика не относится к Игровым формулам smile


@noTformaT
nilremДата: Пятница, 25 Февраля 2011, 23:34 | Сообщение # 8
Просветленный разум
Сейчас нет на сайте
Quote (Suzaku)
Просто сам сейчас пишу свою механику, хотелось бы пищи для размышлений

Может пригодится


Windmill 2

WindMill 2D Game Engine
K0DAK47Дата: Пятница, 25 Февраля 2011, 23:40 | Сообщение # 9
Cat Development
Сейчас нет на сайте
Quote
Теория управления

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


.xm
Шаблон для разработчиков
froexДата: Пятница, 25 Февраля 2011, 23:59 | Сообщение # 10
Руководитель Froexilize team
Сейчас нет на сайте
Quote (K0DAK47)
Quote
Теория управления

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


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


Не превращайте форум в чат. Пишите более развернуто и понятно - всё равно вас попросят объяснить подробнее.
Алгоритмы, программирование, оптимизация, тестирование, ведение проектов.
Ищу художника, дизайнера, тестера, программистов С и С++
Обучаю процессам разработки и программированию.


Сообщение отредактировал froex - Суббота, 26 Февраля 2011, 00:00
NeZnayuДата: Суббота, 26 Февраля 2011, 00:10 | Сообщение # 11
__танцуй!__
Сейчас нет на сайте
Quote (froex)
Не лишнее. Мы изменяем параметры объекта. Один из способов изменения параметров - применение функции управления. Её, соответственно, сначала надо найти.

Пфф tongue А чтобы ко рту ложку с супом поднести нужно теормех учить.


CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу
froexДата: Суббота, 26 Февраля 2011, 00:16 | Сообщение # 12
Руководитель Froexilize team
Сейчас нет на сайте
Quote (NeZnayu)
Пфф А чтобы ко рту ложку с супом поднести нужно теормех учить.

Теор. мех. изучает совсем другое.

Добавлено (26.02.2011, 00:16)
---------------------------------------------
Хотя... всегда надо знать прикладную область, чтобы для неё правильно расчёт уравнений делать. Либо искать знающего человека в этой области в роли консультанта.


Не превращайте форум в чат. Пишите более развернуто и понятно - всё равно вас попросят объяснить подробнее.
Алгоритмы, программирование, оптимизация, тестирование, ведение проектов.
Ищу художника, дизайнера, тестера, программистов С и С++
Обучаю процессам разработки и программированию.


Сообщение отредактировал froex - Суббота, 26 Февраля 2011, 00:17
Made_In_USSRДата: Воскресенье, 27 Февраля 2011, 05:47 | Сообщение # 13
заслуженный участник
Сейчас нет на сайте
froex, тебе явно нужно относиться ко всему намного проще. Это не киберспортивный игроконвеер, тут не нужен ни идельный баланс ни сложные формулы. Никому это не нужно, разве кроме тебя самого biggrin

Новичкам изучающим GML кликать сюда.
Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)
VinchensooДата: Воскресенье, 27 Февраля 2011, 06:59 | Сообщение # 14
Злобный социопат с комплексом Бога
Сейчас нет на сайте
Made_In_USSR, поддержу, все-таки, это любительский геймдев.
Но знание основных мат. функций и зависимостей все равно потребуется


Made_In_USSRДата: Воскресенье, 27 Февраля 2011, 12:21 | Сообщение # 15
заслуженный участник
Сейчас нет на сайте
Quote (Vinchensoo)
Но знание основных мат. функций и зависимостей все равно потребуется

Ну разумеется потребуется, я же не говорю что математические знания совсем не нужны smile

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


Новичкам изучающим GML кликать сюда.
Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)
-=Yoshimitsu=-Дата: Понедельник, 28 Февраля 2011, 14:51 | Сообщение # 16
был не раз
Сейчас нет на сайте
Ребята, обсуждения по теме это хорошо. Но всё-таки было бы полезней и лучше не мерятся чл...ми, а писать конкретную информацию для применения на практике.

Пока это сделал лишь товарищ nilrem, за что ему огромнейшее спасибо.

Made_In_USSRДата: Понедельник, 28 Февраля 2011, 15:24 | Сообщение # 17
заслуженный участник
Сейчас нет на сайте
Никто тут ничем не меряется. Просто обсуждаем целесообразность сабжа, точнее нецелесообразность.
Конкретно на практике лучше применить мозг чем тырить формулы, которые были заточены под конкретную игру а не под все случаи жизни.


Новичкам изучающим GML кликать сюда.
Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)
-=Yoshimitsu=-Дата: Понедельник, 28 Февраля 2011, 15:49 | Сообщение # 18
был не раз
Сейчас нет на сайте
Зачастую проще взять готовую продуманную, проверенную формулу, немного изменить пару переменных и тем самым адаптировать под свою систему.
Я уже не говорю о том, что можно перенять какие-нибудь интересные трюки и внедрить в свою игру, если они уместны.


Сообщение отредактировал -=Yoshimitsu=- - Понедельник, 28 Февраля 2011, 15:51
VinchensooДата: Понедельник, 28 Февраля 2011, 16:13 | Сообщение # 19
Злобный социопат с комплексом Бога
Сейчас нет на сайте
Quote (-=Yoshimitsu=-)
Зачастую проще взять готовую продуманную, проверенную формулу, немного изменить пару переменных и тем самым адаптировать под свою систему. Я уже не говорю о том, что можно перенять какие-нибудь интересные трюки и внедрить в свою игру, если они уместны.

Формулы надо брать готовые, но не из других игр =)
Балансировка пишется с 0 чаще всего, ибо собрать ее из кусков почти нереально.
Тонкая вещь через чур.
Используй основные алгебраические функции(например, выбираешь рост интенсивности параметра и подбираешь функцию).
А за обсуждение половых принадлежностей можно и по шапке получить)


-=Yoshimitsu=-Дата: Понедельник, 28 Февраля 2011, 17:01 | Сообщение # 20
был не раз
Сейчас нет на сайте
А что мне мешает использовать чужую хорошую систему со своими косметическими изменениями. Например взять D20 System но добавлять модификаторы параметров из моей игры, показатели вещей из моей игры и свой коэффициент случайности.
Vinchensoo, вас трудно понять без примеров.


Сообщение отредактировал -=Yoshimitsu=- - Понедельник, 28 Февраля 2011, 17:04
Форум игроделов » Создание игр и всё, что с этим связано » Геймдизайн » Игровые формулы (Немного математики)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг