Расчет пенальти к урону от брони
| |
lentinant | Дата: Среда, 25 Декабря 2013, 22:16 | Сообщение # 1 |
ленивый программист
Сейчас нет на сайте
| Размышляю над организацией нанесения урона в ролевой игре. Дабы игра не была полностью примитивной, решил добавить показатель брони, однако, не могу подобрать хороший алгоритм подсчета пенальти к урону.
Основной критерий - урон должен наноситься всегда, но никогда в полной мере. По очевидным причинам отбрасывается вариант вычета числа брони с урона. Есть вариант с расчетом процента блокируемого урона по экспоненте, однако, опять таки, это будет означать слишком высокий темп роста защиты на ранних порах.
Хотелось бы услышать мнения других.
Когда-то тут будут ссылки на крутые проекты. Или нет.
|
|
| |
IvanKorobko | Дата: Среда, 25 Декабря 2013, 22:20 | Сообщение # 2 |
IK Studio
Сейчас нет на сайте
| Тоже ломал голову над сим вопросом(да и не только - по рпг системе в целом...)
Потом наткнулся на ютубе на настольные ролевые игры от Братца Ву, где мне открылись глаза на то, ткуда эти системы вообще пошли и где можно слямзить некоторые расчеты
|
|
| |
EfimovMax | Дата: Среда, 25 Декабря 2013, 22:25 | Сообщение # 3 |
заслуженный участник
Сейчас нет на сайте
| Сам думал над этим. Пришёл к выводу, что лучше делать процентами. Наносят нам урон в 100 поинтов, наша броня - 10 поинтов. Получаем дамаг 90. Цитата lentinant ( ) это будет означать слишком высокий темп роста защиты на ранних порах Это дело баланса.
Текущий проект: The Experiment ☭
Выпущенные проекты Steam: Princess.Loot.Pixel.Again Princess.Loot.Pixel.Again x2 Dungetris
|
|
| |
lentinant | Дата: Четверг, 26 Декабря 2013, 12:15 | Сообщение # 4 |
ленивый программист
Сейчас нет на сайте
| В общем, в меру того, что система экипировки в игре не особо РПГ-щная (у персонажа будет только оружие, возможно, щит, и набор собираемых артефактов), да и числа вряд ли будут переваливать за сотню (хп 30-40 на макс уровнях, урон - около 10), думаю, можно все же оставить простой вычет урона, однако, сделать ограниченный набор предметов с увеличением брони.
Когда-то тут будут ссылки на крутые проекты. Или нет.
|
|
| |
JHawk | Дата: Четверг, 26 Декабря 2013, 13:23 | Сообщение # 5 |
めゃくちゃちゃ
Сейчас нет на сайте
| Формула такая Код Damag = AlphaDamag - (AlphaDamage/Armor)*1.9 Применялась мною в нескольких работах. О Дисбалансе можно говорить только если числа будут реально высоки.
|
|
| |
Barbatos | Дата: Четверг, 26 Декабря 2013, 13:43 | Сообщение # 6 |
3D-моделлер/Руководитель
Сейчас нет на сайте
| lentinant, Мне больше такой алгоритм по душе. 100 брони - поглощает 25% урона, а 200 брони поглощает 40%, 300 брони поглощает 65% и уменьшается.
Сопротивление уменьшает входящий урон на некий процент, который считается по формуле (1-100/(def+100))*100%, где def - это количество брони. Так, например, если по вам ударяет герой со 100 единицами физического урона, то при 0 брони вы потеряете 100 здоровья, при 100 единицах брони 50 здоровья, а при 200 брони потери составят только 33 хп.
Его остатки и на хлеб не намазать. Мой тебе совет Пабло - относись к жизни как к веселухе, но непродолжительной. @Эш
|
|
| |
TheAce | Дата: Четверг, 26 Декабря 2013, 14:00 | Сообщение # 7 |
Pain is Pleasure
Сейчас нет на сайте
| Мне больше всего нравится такой вариант - если урон меньше, чем броня, то он не наносится вовсе. Если больше - наносится целиком.
The End [3D][TPS]
|
|
| |
EfimovMax | Дата: Четверг, 26 Декабря 2013, 14:20 | Сообщение # 8 |
заслуженный участник
Сейчас нет на сайте
| Цитата TheAce ( ) Мне больше всего нравится такой вариант - если урон меньше, чем броня, то он не наносится вовсе. Если больше - наносится целиком. Странная система, если честно.
Текущий проект: The Experiment ☭
Выпущенные проекты Steam: Princess.Loot.Pixel.Again Princess.Loot.Pixel.Again x2 Dungetris
|
|
| |
TheAce | Дата: Четверг, 26 Декабря 2013, 14:23 | Сообщение # 9 |
Pain is Pleasure
Сейчас нет на сайте
| EfimovMax, у меня не РПГ, а сетевой шутан, но по-моему - система вполне приличная. Упор изначально был на то, что более-менее нормальная броня делает игрока абсолютно неуязвимым против народа с дробовиками и пушками с большой скорострельностью, но не даст никакого спасения против снайперов и пулеметчиков.
The End [3D][TPS]
|
|
| |
EfimovMax | Дата: Четверг, 26 Декабря 2013, 14:28 | Сообщение # 10 |
заслуженный участник
Сейчас нет на сайте
| Цитата TheAce ( ) у меня не РПГ, а сетевой шутан А, я думал про РПГ В шутеры не играю, поэтому ничего сказать не могу. Но для РПГ такая система точно не подойдёт
Текущий проект: The Experiment ☭
Выпущенные проекты Steam: Princess.Loot.Pixel.Again Princess.Loot.Pixel.Again x2 Dungetris
|
|
| |
lentinant | Дата: Четверг, 26 Декабря 2013, 18:14 | Сообщение # 11 |
ленивый программист
Сейчас нет на сайте
| Цитата TheAce ( ) Мне больше всего нравится такой вариант - если урон меньше, чем броня, то он не наносится вовсе. Если больше - наносится целиком. Думаю, у любого игрока должна быть хотя бы какая-то возможность убить другого игрока, хоть в РПГ, хоть в шутане. Цитата JHawk ( ) Damag = AlphaDamag - (AlphaDamage/Armor)*1.9 Забавно, что это не исключает случаи отрицательного урона)) Цитата Barbatos ( ) Так, например, если по вам ударяет герой со 100 единицами физического урона, то при 0 брони вы потеряете 100 здоровья, при 100 единицах брони 50 здоровья, а при 200 брони потери составят только 33 хп. Уже думал над такой системой, но, поскольку, как я уже указал выше, числа в игре не будут особенно высокими, решил не пользоваться процентами, так как сокращения будут урезать единицы урона, а единица урона - это уже, в лучшем случае, десятая часть от текущего урона.
Когда-то тут будут ссылки на крутые проекты. Или нет.
|
|
| |
Barbatos | Дата: Четверг, 26 Декабря 2013, 19:36 | Сообщение # 12 |
3D-моделлер/Руководитель
Сейчас нет на сайте
| lentinant, Разница между 1.00 и 100?
Его остатки и на хлеб не намазать. Мой тебе совет Пабло - относись к жизни как к веселухе, но непродолжительной. @Эш
|
|
| |
lentinant | Дата: Суббота, 28 Декабря 2013, 00:40 | Сообщение # 13 |
ленивый программист
Сейчас нет на сайте
| Barbatos, разница межу 10 и 1. И то, 10 - одно из самых высоких чисел урона, которые будут в игре.
Когда-то тут будут ссылки на крутые проекты. Или нет.
|
|
| |
Арамис | Дата: Понедельник, 06 Января 2014, 16:53 | Сообщение # 14 |
был не раз
Сейчас нет на сайте
| Цитата Размышляю над организацией нанесения урона в ролевой игре Почему бы просто не: "дамаг = атака/броня"? Основной критерий будет выполняться во всех случаях, когда броня > 1, зато цифры будут интуитивно понятны игрокам
|
|
| |
Kirch | Дата: Вторник, 04 Февраля 2014, 14:40 | Сообщение # 15 |
частый гость
Сейчас нет на сайте
| Цитата Barbatos ( ) Мне больше такой алгоритм по душе. Немного дополню, что имел в виду комрад. Во первых стоит покурить такую вещь, как эффективное ХП(ЛоЛ, ВоВ, Дьябло 2 - легко гуглится). Мы обычно делаем так: Умножитель урона=100/(100+Броня) ,если Броня>=0 Умножитель урона =2-100/(100-Броня) ,если Броня<0, если вводиш пенетрейт, то просто отнимай его от показателя брони у цели. Вместо 100 можно подставлять любое число, в зависимости от порядка показателя брони, экипировки, которую ты хочешь давать игрокам, в данном примере ты увеличишь эффективное хп ровно в 2 раза, если нацепишь на себя 100 брони. Эта формула используется для линейного увеличения эффективного ХП, типа каждая еденица брони прибавляет одинаковое количество хп. Но броня нужна в основном тогда, когда тебе нужно балансить например эффективность отхила(бронированную, но худую цель легче отлечить - то есть эффективность хила повышается при лечении танка вточенного не на хп). Если вопрос кого нить интересует более детально, то могу поискать нормальных статей или поконсультировать лично. Коль не справлюсь сам - подключу нашего гейм-дизайнера=)
Сообщение отредактировал Kirch - Вторник, 04 Февраля 2014, 14:56 |
|
| |
Shingan | Дата: Среда, 05 Февраля 2014, 22:14 | Сообщение # 16 |
был не раз
Сейчас нет на сайте
| Всё довольно просто. Каждая единица броди даёт некий % снижения урона. Задача заключается в том, чтоб каждая единица брони дабавляла одинаковый % к выживаемости персонажа.
Примитивны пример: 1 броня = 10% резиста 2 брони = 19% резиста (+9) 3 брони = 27.1% резиста (+8.1) и т. д.
Таким образом, каждая единица брони увеличивает выживаемость персонажа на 10%, но резист никогда не достигнет 100%. Не бойтесь большого прироста брони в начале, поймите что броня всё-го лишь увеличивает еНР (effective health point).
|
|
| |
OpenGOO | Дата: Четверг, 06 Февраля 2014, 00:22 | Сообщение # 17 |
почти ветеран
Сейчас нет на сайте
| Можно формулу из вартюна взять.
Средний урон = (атака - защита) /2
Урон плавает между 90% и 110% среднего урона
Минимальный урон 10% от атаки.
Мои проекты: - Свободный и открытый клон World Of Goo - TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)
[GameMaker: Studio v1.4.9999]
|
|
| |
beril | Дата: Четверг, 06 Февраля 2014, 02:32 | Сообщение # 18 |
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
| Самый простая формула A * (B\Q) Где А - показатель защиты доспеха B - навык владения доспехами Q - коэффициент
Если надо в процентах, то примерно такая формула (из диаблы формула) [Броня/(Броня+УМ*50)]*100 УМ - уровень нападающего на вас монстра
Советую обратить еще внимание на формулы из Kings of Bounty
Накодил? Убери за собой! Инвентарь в Unity(UI) Инвентарь в Unity(GUI)
|
|
| |
castielblack | Дата: Четверг, 06 Февраля 2014, 02:51 | Сообщение # 19 |
почетный гость
Сейчас нет на сайте
| Вот тут крутая статья. ( Тут вообще статьи великолепные )
Знания : C#, Lua, C++, Unity, Dreemchest, DirectX 11 Выпущенные проекты : BuildAndRun, Match 3 Cubes
|
|
| |
Shingan | Дата: Четверг, 06 Февраля 2014, 04:21 | Сообщение # 20 |
был не раз
Сейчас нет на сайте
| Люди, вы когда формулы пишете, то вы думаете над тем, какие последствия в балансе это повлечёт, или вы просто пишете "о, в игре Х была крутая формула, бери её". Сначала вы должны определиться с тем, ЧТО такое в балансном плане броня.
|
|
| |
|