![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Функция шанса
Yokmombyk © (2006-06-07 23:29:00)Никак не могу составить/придумать нормальный сабж. Игра: фентези.
Нужно посчитать шанс успешного применения умения. Как пример - умение усыпить противника. Из базовых данных есть:
- магическая атака
- магическая защита
- сила a.k.a. базовый шанс умения
- разница уровней между атакующим и целью (ну или их соотношение, не суть важно)
- некая зависимость от базового стата цели (н.п. от мудрости)
Пробема состоит в том, чтоб можно было нормально управлять функцией с помощью базового шанса умения, и чтоб не было траблов с вылетом за пределы (за 100%).
Из "красивых" функций знаю только 1 / (1 + exp(-ax))и ещё 0.5 + arctan(ax) / pi, но ни одной из них у меня не получается нормально управлять.
PS зависимость от магической атаки и защиты предполагается вводить в виде sqrt(magic attack) / magic defend, но это не принципиально.
Yokmombyk (2006-06-11 20:35:00) [21]Обычный вопрос - нет, а вот обвинение в явном плагиате...
RzCoDer (2006-06-11 20:21:00) [22]Ппц, человек воспринял обычный вопрос в штыки... Мдя...
Yokmombyk (2006-06-10 21:53:00) [23]
> Я знаком с LineageII лично и вижу явное сдирание такое как
> слип, неудачный каст, сильный учёт разницы в уровне, базовый
> шанс скила (уровень скила), м атак, м деф,
Если с такой стороны подходить...
> > Ведь цель может быть как магом, так и воином
> Так там и есть =)
...а тем более с такой, то 98% игр являются плагиатом.
Скажи, что только в вашем Lineage есть маги и воины? Только там есть умение усыпить противника? Неудачный каст и учёт разницы в уровнях - это пять. А как же иначе? Все заклинания всегда срабатывают, и первый уровень бьёт 120 точно так же, как сто двадцатый - первого?
Может, ты просто больше ни одной игры не знаешь?
> Ага, клериков, ШЕ, ЕЕ и прочих оверлордов
ШЕ и ЕЕ - это наподобии клериков? Гыгы, первый раз вижу, чтоб клериков называли оверами :D Они у вас в Lineage II C5 разрывают всё, что движется? LOL
RzCoDer (2006-06-10 20:43:00) [24]
> tButton
Я знаком с LineageII лично и вижу явное сдирание такое как слип, неудачный каст, сильный учёт разницы в уровне, базовый шанс скила (уровень скила), м атак, м деф,
> Ведь цель может быть как магом, так и воином
Так там и есть =)
> (касты от клериков)
Ага, клериков, ШЕ, ЕЕ и прочих оверлордов ;)
tButton (2006-06-10 20:30:00) [25]ничего плагиатного не вижу
ну атака, ну защита, но они ж ядрёна вошь в каждой РПГ в том или ином виде.
если так, то можно и к названиям статов придраться =)
RzCoDer (2006-06-10 19:56:00) [26]Я бы сказал явный плагиат
Yokmombyk (2006-06-10 18:52:00) [27]Нет, с чего ты взял? А что, сильно похожие умения?
RzCoDer (2006-06-10 15:01:00) [28]
> Yokmombyk
Уж не Lineage II C5 ли вы делаете? ;)
Yokmombyk (2006-06-10 12:34:00) [29]
> ещё один плюс этой системы - у всех есть шанс
Дада, я и сам догадался :)
tButton (2006-06-09 04:51:00) [30]
> Спасибо, попробую.
ещё один плюс этой системы - у всех есть шанс
> Преобразования всё равно применять придётся, но это уже
> попроще будет.
ну да. считаешь по отдельности все коэффициэнты. перемножаешь их с базой и получаешь абсолюьное значение, а уже два абсолютных дадут тебе относительное.
Yokmombyk (2006-06-08 21:48:00) [31]
> А чего ты боишься за 100% вылетать? Если атакующий настолько
> сильнее цели то он его 100 пудов усыпит и все.
Да я бы не боялся, но дело в том, что уж очень оно быстро за сотню вылетает - сильно большие диапазоны значений. Ведь цель может быть как магом, так и воином (а значение защиты у них раза в два различается), цель может применить защиты (одёжка, касты от клериков), а может и не применить.
То же самое с атакующим - он может взять \m/ оружие (достаётся хоть и нелегко, но оверным оно не должно быть), заточить своего персонажа на магическую атаку в ущерб другим параметрам, может драться "на износ" (с увеличенным потреблением маны, или же с жертвованием жизнью)... Короче, нижняя и верхняя планка различаются раз в 10 :-)
> т.е. по сути - ролл атаки против ролла защиты
> вылет за 100 % не возможен
> так что. считай атаку для атакующего
> считай защиту для защищающегося и кидай кости
Спасибо, попробую. Преобразования всё равно применять придётся, но это уже попроще будет.
tButton (2006-06-08 08:05:00) [32]очень простая формула, можно сказать, ноу-хау
if (random*atack)>(random*defence)
then hit
else miss;
т.е. по сути - ролл атаки против ролла защиты
вылет за 100 % не возможен
так что. считай атаку для атакующего
считай защиту для защищающегося и кидай кости
megabyte-ceercop (2006-06-08 07:59:00) [33]А чего ты боишься за 100% вылетать? Если атакующий настолько сильнее цели то он его 100 пудов усыпит и все.
Но лучше добавить цели что-то типа "усталости от магической атаки". Каждая попытка добавляет некоторое количество этой усталости, как только этот показатель перевалит за 100 цель засыпает. Применяешь каст на сонного, показатель еще больше увиличивается и цели спит дольше.