Войти на сайт

Авторизация, ждите ...
×
Правила раздела:
1 Задавайте конкретные вопросы. Для болтовни есть свободный раздел.
2 По возможности давайте конкретные ответы.
3 Один вопрос=одна тема. Если хотите задать ещё вопрос, то начинайте новую тему.
4 Название темы должно составлять сам вопрос, и быть максимально конкретным. Рекомендуется начинать тему словами "Как", "Что", "Почему". А первый пост повторяет вопрос и даёт расширенные сведения.
5 Рекомендуется указывать версию мейкера (2000, 2003, RMXP, RMVX, ACE, IGM, и.т.д.. Это важно, и всё равно ведь спросят.
6 Темы "Пара вопросов", "Помогите", и подобные им - самый лёгкий путь к бану.
7 Поиск находится вверху справа.
А. Названия подразделов этого раздела уточняются. Советы принимаются.

ТЕМА: Формула нанесения урона

Формула нанесения урона 5 года 2 мес. назад #109019

  • Eokati
  • Eokati аватар
  • Вне сайта
  • Бывалый
  • Сообщений: 95
  • Спасибо получено: 58
  • Проект года 2 местоПроект месяца 3 местоПроект месяца 1 место
Хочу сделать боёвку как в игре Eiyuu*Senki.
Вот приблизительный геймплей:
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


Обрисую маленькую стычку:
Герой
HP 520
ATK 8
DEF 6

Враг
HP 280
ATK 5
DEF 3


1-й варианнт: Герой атакует Врага с фулл ХП. Результат около 190 урона (Враг остался с 90 HP)
2-й варианнт: Враг атакует Героя с фулл ХП. Результат 65 урона (Герой остался с 455 HP)

Так вот, нужно составить формулу атаки, где дамаг идёт зависящий от HP с влиянием ATK и DEF.

Можете помочь? Заранее большое спасибо!

========================================
Платформа RPG Maker MV.
Делай так, как подсказывает сердце, а об остальном пускай заботятся другие.
Последнее редактирование: 5 года 2 мес. назад от Eokati.
Администратор запретил публиковать записи гостям.

Формула нанесения урона 5 года 2 мес. назад #109023

  • Dmy
  • Dmy аватар
  • Вне сайта
  • Заблокирован
  • Сообщений: 1142
  • Спасибо получено: 2477
  • 2 место За 2 место на конкурсе маппингаПрограммист RubyДаритель СтимкеяОраторВетеранПаладинПоддержка ФондаРазработчикУчитель
Я попробовал и у меня не вышло. :( На всякий случай прилагаю неудачные попытки, вдруг кто-то исправит.

ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


В общем, я не знаю, как это решить с заданными числами. Наверное, надо попробовать с разными степенями и посмотреть, при какой katk>0, kdef<0. Но, наверное, это должен делать кто-то, кто знает математику.
Последнее редактирование: 5 года 2 мес. назад от Dmy.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Eokati

Формула нанесения урона 5 года 2 мес. назад #109024

  • Doctor_Bug
  • Doctor_Bug аватар
  • Вне сайта
  • Светлый дракон
  • Из горизонта события! ▪_■
  • Сообщений: 568
  • Спасибо получено: 880
  • 3 место в КодировкеПроект месяца 1 местоВетеранПрограммист RubyПроект месяца 3 место3 место
Не большое уточнение. ХП значит количество войск в битве. Верно? Ну как я понял если дамаг зависит от ХП, это значит в отряде не один, а несколько атакующих воинов? Соответственно сколько солдат, столько они на носят урон. Или я ошибаюсь?
Баг изучает Godot Engine. А слушает эту музыку ~~> Мое сердце
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Eokati

Формула нанесения урона 5 года 2 мес. назад #109025

  • Eokati
  • Eokati аватар
  • Вне сайта
  • Бывалый
  • Сообщений: 95
  • Спасибо получено: 58
  • Проект года 2 местоПроект месяца 3 местоПроект месяца 1 место
Хорошо, вот как я все вижу:
Бой идет в стиле армия против армии, где HP отображается как количество войск в армии. Более того, по обе стороны поля битвы может быть несколько армий.

С одной стороны вражеские армии (враг 1, враг 2 и т. д., каждый со своим количеством войск и характеристик), а с другой стороны союзные армии (персонаж 1, персонаж 2 и т. д.).

Характеристики ATK и DEF принадлежат генералу (персонажу), представляющему армию, что немного влияет на урон.

В идеале я хочу получить приблизительную формулу:
DMG = количество войск + некоторое влияние ATK персонажа - некоторое влияние DEF противника.

Маленькие примеры:

ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]



Постепенно, по ходу игры, войска будут увеличиваться (до 1000, 10 000 и даже до 70 000 к концу игры).

Вот приблизительная формула, что уже у меня получилась, но это всё равно не то.
damage = a.hp * 0.40 * (1 + (a.atk / 100)) - b.hp * 0.20 * (1 + (b.def / 100)); if (damage <= 0) {damage = (a.hp / 100) * 80}; value = damage;

Проблема формулы в том, что если в одной сторны вдвое меньше войск, чем во второй, то дамаг идёт в молоко, то есть жырный НОЛЬ. Я поставил обчисление, где если дамаг 0, то нанести 80% из оставшихся войск... но, например, с 300 войсками (когда ещё не достиглась отметка дамаг=О) перс наносит слабый урон 50(это я из неба достал, не хочу сейчас считать) тогда как с 280 войсками (когда урон идёт как 80%) перс наносит 240 урона(опять тыкнул пальцем). Из-за чего получается нестыковка, где с меньшим количеством войск получилось больше урона.

Dmy, посмотрев геймплейный видос, можно легче понять что я хочу. Но всё равно большое тебе спасибо, мне твои расчёты могут пригодиться!

Doctor_Bug, да. Персонаж - является лицом своего войска. В битве могут участвовать несколько персонажей (а значит и несколько войск). HP - это количество войск в отряде. Статов у генералов будет всего 2: ATK и DEF, которые слегка влеяют на урон. В основном весь урон приходит от ХP.
Делай так, как подсказывает сердце, а об остальном пускай заботятся другие.
Последнее редактирование: 5 года 2 мес. назад от Eokati.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy

Формула нанесения урона 5 года 2 мес. назад #109027

  • Doctor_Bug
  • Doctor_Bug аватар
  • Вне сайта
  • Светлый дракон
  • Из горизонта события! ▪_■
  • Сообщений: 568
  • Спасибо получено: 880
  • 3 место в КодировкеПроект месяца 1 местоВетеранПрограммист RubyПроект месяца 3 место3 место
Возможно эта статья поможет =3
handbookhmm.ru/1-damage
Баг изучает Godot Engine. А слушает эту музыку ~~> Мое сердце
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Eokati

Формула нанесения урона 5 года 2 мес. назад #109028

  • Eokati
  • Eokati аватар
  • Вне сайта
  • Бывалый
  • Сообщений: 95
  • Спасибо получено: 58
  • Проект года 2 местоПроект месяца 3 местоПроект месяца 1 место
Doctor_Bug пишет:
Возможно эта статья поможет =3
handbookhmm.ru/1-damage

Спасибо, но это мне и так понятно. Проблема в нестандартности самой боёвки...

Dmy, Doctor_Bug, если лень смотреть видос, тогда может игра Sengoku Rance что-то скажет? Там похожая боёвка.
Делай так, как подсказывает сердце, а об остальном пускай заботятся другие.
Последнее редактирование: 5 года 2 мес. назад от Eokati.
Администратор запретил публиковать записи гостям.

Формула нанесения урона 5 года 2 мес. назад #109029

  • idavollr
  • idavollr аватар
  • Вне сайта
  • Мастер
  • ugly but honest
  • Сообщений: 201
  • Спасибо получено: 198
  • 2 место Композитор
А зачем делать формулу, которая базируется на ХП цели? Тут абсолютно точно не используется процентажный урон.

Я лично вижу это так:

ХП Войска = ХП Генерала + ХП количества юнитов в войске.
АТК Войска = Базовая боеспособность * АТК Генерала - Базовая обороноспособность * ДЕФ Генерала.

Базовая боеспособность: Базовый урон юнита * Кол-во юнитов войска
Базовая обороноспособность: Базовая защита юнита * Кол-во юнитов

То есть, по факту, статы, которые мы видим - это коэффициенты, которые умножаются на общую боеспособность войск. Рассмотрим на примере. У нас есть:

Герой
HP 500
ATK 8
DEF 6

HP 300
ATK 3
DEF 3

Допустим, ХП героя вычисляются таким образом:

350 (Базовые ХП Генерала) + 150 (Кол-во Юнитов)

Допустим, урон каждого юнита равен 0,5. Тогда боевспособность войска без генерала = 150 * 0.5 = 75.

Соответственно, базовая атака войска с генералом = 75 * 8 = 600.

Допустим, ХП врага вычисляются таким образом:

200 (Базовые ХП Генерала) + 100 (Кол-во юнитов)

Допустим, защита каждого юнита равна 0,7. Тогда обороноспособность войска без генерала = 70.

Соответственно, базовая защита юнита с генералом = 70 * 3 = 210.

То есть, итоговый урон по войску будет 600 - 150 = 390.

Главная фишка в том, чтобы поиграть с теми самыми коэффициентами базовой атаки одного юнита, чтобы получить нужные тебе числа урона. Ну и баланс выстраивать вокруг них.
Her Third Eye is drawing me closer
Последнее редактирование: 5 года 2 мес. назад от idavollr.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Eokati

Формула нанесения урона 5 года 2 мес. назад #109031

  • Eokati
  • Eokati аватар
  • Вне сайта
  • Бывалый
  • Сообщений: 95
  • Спасибо получено: 58
  • Проект года 2 местоПроект месяца 3 местоПроект месяца 1 место
idavollr пишет:
А зачем делать формулу, которая базируется на ХП цели? Тут абсолютно точно не используется процентажный урон.

Я лично вижу это так:

ХП Войска = ХП Генерала + ХП количества юнитов в войске.
АТК Войска = Базовая боеспособность * АТК Генерала - Базовая обороноспособность * ДЕФ Генерала.

Базовая боеспособность: Базовый урон юнита * Кол-во юнитов войска
Базовая обороноспособность: Базовая защита юнита * Кол-во юнитов

То есть, по факту, статы, которые мы видим - это коэффициенты, которые умножаются на общую боеспособность войск. Рассмотрим на примере. У нас есть:

Герой
HP 500
ATK 8
DEF 6

HP 300
ATK 3
DEF 3

Допустим, ХП героя вычисляются таким образом:

350 (Базовые ХП Генерала) + 150 (Кол-во Юнитов)

Допустим, урон каждого юнита равен 0,5. Тогда боевспособность войска без генерала = 150 * 0.5 = 75.

Соответственно, базовая атака войска с генералом = 75 * 8 = 600.

Допустим, ХП врага вычисляются таким образом:

200 (Базовые ХП Генерала) + 100 (Кол-во юнитов)

Допустим, защита каждого юнита равна 0,7. Тогда обороноспособность войска без генерала = 70.

Соответственно, базовая защита юнита с генералом = 70 * 3 = 210.

То есть, итоговый урон по войску будет 600 - 150 = 390.

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

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

Ладно, спасибо всем! :laugh: :laugh:
Делай так, как подсказывает сердце, а об остальном пускай заботятся другие.
Администратор запретил публиковать записи гостям.

Формула нанесения урона 5 года 2 мес. назад #109032

  • Eokati
  • Eokati аватар
  • Вне сайта
  • Бывалый
  • Сообщений: 95
  • Спасибо получено: 58
  • Проект года 2 местоПроект месяца 3 местоПроект месяца 1 место
Неа. Не получается таки.
ХП Войска = ХП Генерала + ХП количества юнитов в войске. -> понятия не имею как это провернуть.

С героем всё просто, можно дать ему итем (войско) с характеристиками, но как увеличить ХП врагу?

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

Формула нанесения урона 5 года 2 мес. назад #109045

  • SiQiuRi
  • SiQiuRi аватар
  • Вне сайта
  • Познающий
  • Сообщений: 21
  • Спасибо получено: 16
Добрый вечер, Йокати-тен!
После прочтения я всё ещё немного не улавливаю общей темы, но если вас интересует моё мнение, то (отвечая на последний вопрос) можно выдавать врагам статус эффект, который зависит от "генерала" врага. Если генералов много, это немного заморочно/нудно, но по факту можно сделать для каждого генерала отдельный статус эффект который увеличивает параметры войска и накладывать его на армию с помощью нулевого хода битвы или путём события.

В общем, такую вот идею выдала слизь в моей голове. Если я ошиблась или просто не поняла происходящего, прошу прошения. ( ̄▽ ̄)

Постскриптум - Я не в курсе как работает функция "быстрый ответ", так что звиняйте, если сдублировала сообщение.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy, Eokati, Mur, Doctor_Bug

Формула нанесения урона 5 года 2 мес. назад #109046

  • PanzerCat
  • PanzerCat аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 720
  • Спасибо получено: 962
  • 3 местоПобедитель конкурсаОратор2 место РазработчикПроект месяца 3 местоПроект года 3 местоПроект месяца 1 местоПроект месяца 2 местоОрганизатор конкурсов
Фига, тут ТоталВар мукерят!
:ohmy:
НАКОНЕЦ-ТО!
:whistle:
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Eokati

Формула нанесения урона 5 года 2 мес. назад #109047

  • Doctor_Bug
  • Doctor_Bug аватар
  • Вне сайта
  • Светлый дракон
  • Из горизонта события! ▪_■
  • Сообщений: 568
  • Спасибо получено: 880
  • 3 место в КодировкеПроект месяца 1 местоВетеранПрограммист RubyПроект месяца 3 место3 место
Ну с подобной темой и мне придется столкнутся для второго проекта. И да Eokati, я смотрел видео изначально, ибо почему я решил что идет тема про войска и подсчет урона.
Баг изучает Godot Engine. А слушает эту музыку ~~> Мое сердце
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Eokati

Формула нанесения урона 5 года 2 мес. назад #109048

  • idavollr
  • idavollr аватар
  • Вне сайта
  • Мастер
  • ugly but honest
  • Сообщений: 201
  • Спасибо получено: 198
  • 2 место Композитор
Eokati пишет:
Неа. Не получается таки.
ХП Войска = ХП Генерала + ХП количества юнитов в войске. -> понятия не имею как это провернуть.

С героем всё просто, можно дать ему итем (войско) с характеристиками, но как увеличить ХП врагу?

Я в тупике...

Ну так ты делаешь все расчеты в калькуляторе и в мукер вставляешь уже итоговые, подсчитанные значения.
Her Third Eye is drawing me closer
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Eokati

Формула нанесения урона 5 года 2 мес. назад #109049

  • Eokati
  • Eokati аватар
  • Вне сайта
  • Бывалый
  • Сообщений: 95
  • Спасибо получено: 58
  • Проект года 2 местоПроект месяца 3 местоПроект месяца 1 место
SiQiuRi пишет:
Добрый вечер, Йокати-тен!
После прочтения я всё ещё немного не улавливаю общей темы, но если вас интересует моё мнение, то (отвечая на последний вопрос) можно выдавать врагам статус эффект, который зависит от "генерала" врага. Если генералов много, это немного заморочно/нудно, но по факту можно сделать для каждого генерала отдельный статус эффект который увеличивает параметры войска и накладывать его на армию с помощью нулевого хода битвы или путём события.

В общем, такую вот идею выдала слизь в моей голове. Если я ошиблась или просто не поняла происходящего, прошу прошения. ( ̄▽ ̄)

Постскриптум - Я не в курсе как работает функция "быстрый ответ", так что звиняйте, если сдублировала сообщение.

Тля, я уже несколько дней ломаю голову над этой проблемой и так зацыклился на долбанной формуле, что у меня совсем вылетели из головы статус эффекты! :wall: :wall: :wall:
Спасибо! :laugh:
Нужно передохнуть немного и опять нырять в мучения. :woohoo:
PanzerCat пишет:
Фига, тут ТоталВар мукерят!
:ohmy:
НАКОНЕЦ-ТО!
:whistle:

У меня уже практически всё готово, осталась только долбанная боёвка!! :wall: :wall: :wall:
Doctor_Bug пишет:
Ну с подобной темой и мне придется столкнутся для второго проекта. И да Eokati, я смотрел видео изначально, ибо почему я решил что идет тема про войска и подсчет урона.

О! Брат по долбки о стенку! :woohoo: :laugh:
И да, я случайно добавил тебя в том сообщении, оно предназначалось только Dmy. Сори.
idavollr пишет:
Eokati пишет:
Неа. Не получается таки.
ХП Войска = ХП Генерала + ХП количества юнитов в войске. -> понятия не имею как это провернуть.

С героем всё просто, можно дать ему итем (войско) с характеристиками, но как увеличить ХП врагу?

Я в тупике...

Ну так ты делаешь все расчеты в калькуляторе и в мукер вставляешь уже итоговые, подсчитанные значения.

Ты меня не понял, я имел ввиду, что не знал как ХП врага поделить на "базовое" и "генерала". Наложение статус эффекта должно помочь, осталось только завтра всё испробовать.
Делай так, как подсказывает сердце, а об остальном пускай заботятся другие.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Doctor_Bug
Время создания страницы: 0.430 секунд