Порядок и расчет повреждения в 1.10.

Основной форум для обсуждения прокачки персонажей, билдов, эффектов спелов, вещей и так далее.

Модератор: Администраторы Diablo II

Сообщение 4p_Wik » 07 апр 2006, 15:27

Червеносый писал(а):операции с действительными чиcлами в представлении с плавающей запятой не ассоциативны. ^__^

Тсс.. это была тайна...

П.С. Тебе детей не жалко ? :lol:
Человек начинает жить лишь тогда, когда ему удается превзойти самого себя. (с)
Аватара пользователя
4p_Wik
Местный
Местный
 
Сообщения: 1111
Зарегистрирован:
04 авг 2005, 00:16
Откуда: Rus::Spb
Has thanked: 0 time
Have thanks: 0 time

Сообщение Amian » 12 янв 2007, 03:37

Червеносый писал(а):К слову, операции с действительными чиcлами в представлении с плавающей запятой не ассоциативны. ^__^

бред.

с каких это пор sqrt(2)*(sqrt(3) +/* 0.xx*10^e) =! (0.xx*10^e +/* sqrt(3))*sqrt(2) например ?

Действительные числа представляются в виде чисел с плавающей запятой при выполнении операций в компьютере, но на ассоциативность это не влияет никаким образом :)
/w *Amian_ @ HC
Аватара пользователя
Amian
Школота
Школота
 
Сообщения: 6
Зарегистрирован:
06 янв 2007, 23:32
Откуда: hell
Has thanked: 0 time
Have thanks: 0 time

Сообщение Червеносый » 12 янв 2007, 09:50

2 Amian:
Ты своим примером иллюстрируешь коммутативность. ^__^

Я говорил именно о ассоциативности _компьютерных_ операций с действительными числами. И _компьютерные_ - НЕ ассоциативны (могу привести пример, который проверить сможет каждый, если уж так не верите).
Вообще, флоаты - головная боль для всех. С ними построить robust алгоритмы (для CAD, к примеру) крайне трудно. Та же триангуляция, например. Есть одна библиотека... Идея алгоритма, который она реализует, умещается в несколько строк текста. А вот исходники занимают около 500 килобайт (!), а всё из-за необходимости борьбы с вырожденными случаями, возникающими из-за флоатовской неточности...
Автомобильная индустрия из-за всего этого дела теряет несколько миллионов зелёных президентов в год.
"Банан велик, а кожура - ещё больше"
Аватара пользователя
Червеносый
Местный
Местный
 
Сообщения: 1014
Зарегистрирован:
15 апр 2003, 01:27
Откуда: L1 Cache
Has thanked: 0 time
Have thanks: 0 time

Сообщение Amian » 12 янв 2007, 10:33

2 Червеносый:
Ты не совсем правильно выразился, проблемма в точности чисел с плавающей запятой,а не в ассоциативности ^^ Только не совсем понятно какое это имеет отношение к предыдущим постам т.к. сравнения полученных результатов с учетом каждой доли процента все равно здесь не требуется :) Или это было так, к слову? :wink:
/w *Amian_ @ HC
Аватара пользователя
Amian
Школота
Школота
 
Сообщения: 6
Зарегистрирован:
06 янв 2007, 23:32
Откуда: hell
Has thanked: 0 time
Have thanks: 0 time

Сообщение Amian » 12 янв 2007, 10:49

вот написал простой пример на С++, когда результат будет "а=!с",обьясняемый неточностью флоатов :
Код: Выделить всё
#include <iostream.h>
#include <conio.h>

int main(void)
{
    float a,b,c;
   
    a=0.1;
    b=1.1;
    c=b-1;
   
    if(a==c)
    {
            cout << "a=c";
    }
    else
    {
            cout << "a=!c";
    }
    getch();
     
}
/w *Amian_ @ HC
Аватара пользователя
Amian
Школота
Школота
 
Сообщения: 6
Зарегистрирован:
06 янв 2007, 23:32
Откуда: hell
Has thanked: 0 time
Have thanks: 0 time

Сообщение Червеносый » 12 янв 2007, 12:25

2 Amian:
Ты не совсем правильно выразился, проблемма в точности чисел с плавающей запятой,а не в ассоциативности ^^

А где я говорил о том, что проблема в ассоциативности? ^__^ Я просто отметил факт неассоциативности. ^_^ Для человека, который недоумевал - "ниче ведь не измениться в циферках".
Проблема в точности, конечно. Я этого не отрицал, и даже наоборот. Не зря же я писал:
Вообще, флоаты - головная боль для всех.


олько не совсем понятно какое это имеет отношение к предыдущим постам т.к. сравнения полученных результатов с учетом каждой доли процента все равно здесь не требуется Или это было так, к слову?

Так ведь в тексте и было - "К слову". ^_^
вот написал простой пример на С++

Ну, даже специально придумывать примеры особо не нужно. В реальных задачах такое встречается сплошь и рядом. Особенно - в геометрических алгоритмах, различных численных методах. Например, критерии останова итеративных алогритмов... Не учёл неточности - получил вырожденный случай - и бесконечный цикл поимел. Да в тех же играх collision detection... GJK любой дурак реализовать может, а вот robust GJK... ^__^
Или в MMORPG приходиться бить большой мир на куски и внутри каждого использовать свою систему координат (ибо у флоатов чем дальше от нуля, тем реже встречаются представимые флоатом числа).
Вот кстати хорошая презентация по теме:
Christer Ericson, “Numerical Robustness for Geometric Calculations”
http://realtimecollisiondetection.net/p ... ations.ppt

PS: Там, кстати, о неассоциативности говорится прямым текстом. ^_^
"Банан велик, а кожура - ещё больше"
Аватара пользователя
Червеносый
Местный
Местный
 
Сообщения: 1014
Зарегистрирован:
15 апр 2003, 01:27
Откуда: L1 Cache
Has thanked: 0 time
Have thanks: 0 time

Сообщение Mad Wolf » 24 окт 2008, 11:06

Как посчитать дамадж смайтера?

допустим у пала
Zakarum Shield (46-46)
Duress ED=20%
Grief +400
Laying of Hands +350% Damage To Demons
и по 30 скиллы смайт(+450%) с холишилдом (+97-100)
Пал бъет убера (демон же?) - сколько получается дамаджа/удар?
(ауру добавить по вкусу)

аналогичный вопрос про pvp.
Добрый доктор Айболит эвтаназию творит...
Аватара пользователя
Mad Wolf
Новичок
Новичок
 
Сообщения: 81
Зарегистрирован:
15 янв 2008, 14:53
Has thanked: 0 time
Have thanks: 0 time

Сообщение Enceladus » 24 окт 2008, 12:50

Сперва считаем урон щита. Для этого суммируем базовый урон щита, бонус от Holy Shield и Grief.
(45, 46) + (97, 100) + 400 = (542, 546)
После этого считаем Enhanced Damage. Это сумма Strength, ED со скиллов и ED со шмота (таковым является и бонус с Laying of Hands), исключая оружие.
Допустим, у пала 150 силы и 28-го уровня Fanaticism (+509% ED). Тогда получаем:
150 + 450 + 509 + 20 + 350 = 1479
Применяем ED к урону щита:
(542, 546) * (100 + 1479) / 100 = (8558, 8621)
Вот в таком интервале урон пойдёт на демона. Дальше вступает в дело Damage Resist монстра, который соответствующим образом уменьшает урон.
Кстати, не советую уберкиллеру носить Duress и Laying of Hands.
Глокая куздра штеко будланула бокра и курдячит бокрёнка.
Аватара пользователя
Enceladus
Diablo II Member of Fame
Diablo II Member of Fame
 
Сообщения: 2329
Зарегистрирован:
21 авг 2007, 07:38
Has thanked: 0 time
Have thanks: 60 times

Сообщение Mad Wolf » 24 окт 2008, 13:56

Enceladus писал(а):Кстати, не советую уберкиллеру носить Duress и Laying of Hands.

Кстати - а почему не советуешь?
лишние 15% CB и 33% OW себя не оправдывают?
что 20% ED в таком раскладе добавляют очень мало - уже понятно...
А что посоветуешь носить?

Laying of Hands в таком раскладе добавляет 350/(150+450+509)=31% дамаджа. Есть дешевый вариант лучше?

ps: а где почитать как работает OW. в смысле - какой будет дмж/сек если стукнуть cо 100% OW повторно - удвоенный?
Добрый доктор Айболит эвтаназию творит...
Аватара пользователя
Mad Wolf
Новичок
Новичок
 
Сообщения: 81
Зарегистрирован:
15 янв 2008, 14:53
Has thanked: 0 time
Have thanks: 0 time

Сообщение Enceladus » 24 окт 2008, 16:15

Кстати - а почему не советуешь?
лишние 15% CB и 33% OW себя не оправдывают?
что 20% ED в таком раскладе добавляют очень мало - уже понятно...
А что посоветуешь носить?

Вообще, это оффтоп, и такое обсуждение стоит проводить в другой теме.
Крашинг Блоу с Heaven's Light, Goblin Toe и Guillaume's Face вполне хватает (93%). OW нужен лишь как средство остановки регенерации у Уберов (на них Prevent Monster Heal не действует), и его хватает с других источников (тех же Дракул, например). Вместо Дюресса стоит носить апгрейднутый Shaftstop, когда идёшь за органами, и Guardian Angel для Убертристрама. Эффект от этого куда ощутимее, чем от Дюресса.
Laying of Hands в таком раскладе добавляет 350/(150+450+509)=31% дамаджа. Есть дешевый вариант лучше?

Ну, считать нужно не так.
Вот возьмём мой пример. С LoH'ами у нас было 1479% ED, без них будет 1129% ED соответственно.
Таким образом, если их снять, то в нашем примере урон Смайта упадёт в
(100 + 1479) / (100 + 1129) = 1579 / 1229 = 1.285 раз (примерно)
То есть благодаря тому, что у нас и без этих перчаток очень много ED, то без них урон упадёт не очень значительно. Дополнительный IAS нам с Heaven's Light 2xShael не нужен.
Основная же причина, почему их носить не стоит - время убийства Убера очень слабо зависит от урона Смайта, ведь убиваем мы его по большему счёту при помощи Крашинг Блоу. Но нам жизненно важно иметь какой-нибудь источник Life Tap (особенно если не носить Exile). Wand с зарядами - небезопасно, да и своп лучше занять CTA (это если ты не сторонник возни с Warcries-барбами). Остаются только Дракулы (перчатки). На них же есть и достаточный процент OW для остановки регенерации Уберов.

а где почитать как работает OW. в смысле - какой будет дмж/сек если стукнуть cо 100% OW повторно - удвоенный?

Поищи в google, есть много ресурсов по д2. Если ты открыл раны врагу, то он будет истекать кровью 8 секунд (если на враге есть Fade, то меньше). Урон сильно зависит от твоего уровня. Никакие резисты этот урон не уменьшают. Если ты открыл раны, и не позже, чем через 8 секунд у тебя снова сработал OW, то ты просто заново запустишь этот самый 8-секундный таймер. То есть урон не повысится.

PS: В ПвП игрокам идёт только 17% урона.
Глокая куздра штеко будланула бокра и курдячит бокрёнка.
Аватара пользователя
Enceladus
Diablo II Member of Fame
Diablo II Member of Fame
 
Сообщения: 2329
Зарегистрирован:
21 авг 2007, 07:38
Has thanked: 0 time
Have thanks: 60 times

Сообщение Mad Wolf » 24 окт 2008, 19:52

То есть благодаря тому, что у нас и без этих перчаток очень много ED, то без них урон упадёт не очень значительно.
на 22% и упадет.

Дополнительный IAS нам с Heaven's Light 2xShael не нужен.
Основная же причина, почему их носить не стоит - время убийства Убера очень слабо зависит от урона Смайта, ведь убиваем мы его по большему счёту при помощи Крашинг Блоу.
на счет LH убедил, особенно при HL и CB ~100%, а вообще - зависит:

в одиночной игре CB снимает с типового убера 1/32 текущего здоровья (1/16 как босс и пополам из-за физ.резиста)
у типового убера ~650k полное здоровье, дамадж уберу от смайта грифом с учетом резиста - ~4k, c HL - ~втрое меньше.
Если верить вышеприведенной методе вычистения смайтового дамаджа, то с грифом смайтовый дамадж уравнивается с дамаджем крашинга на ~25% от макс.здоровья убера, а с HL - на ~8%.
замечу, что для понижения здоровья убера на чистом CB (без учета смайта и OW) со 100% до 8% при CB=100% требуется вдвое больше ударов, чем со 100% до 25% при CB=67%, в сумме по количеству ударов на убера - моделирование дает разницу раза в полтора...

аргументы про Life Tap понятны, или дракулусы или Exile - у уберкиллера быть должны.
вероятность неперекаста OW за 8сек без дракулус, только из Gore Rider ~3%, imho - некритично.

а где почитать как работает OW. в смысле - какой будет дмж/сек если стукнуть cо 100% OW повторно - удвоенный?
Поищи в google, есть много ресурсов по д2.
ресурсов дофига, а прояснение вопроса - будет от повторного OW перезапуск таймера или усиление дамаджа - найти сложнее... почему-то...

PS: В ПвП игрокам идёт только 17% урона.

btw, "the damage is divided by 4 for a player target. In addition, for a missile versus a player target one should divide the damage by 8 instead"
т.е. не 17% a 25% или 12.5%. (цитата - с арреата).
Добрый доктор Айболит эвтаназию творит...
Аватара пользователя
Mad Wolf
Новичок
Новичок
 
Сообщения: 81
Зарегистрирован:
15 янв 2008, 14:53
Has thanked: 0 time
Have thanks: 0 time

Сообщение PatriotUA » 27 окт 2008, 18:53

Ет можна вопрос по демагу ? Про Яд. Когда тебя атакуют ядом исход : 2 варианта
1) У тебя останится 1 НР через кое-нибудь количество времени
2) Ты просто подыхаешь
Причем Физ составляющей нету.

Пример Пойзон-некр или Пойзон-ама. Как разчитываются варианты? %НР/Фрейм? Или может лвл :) Тада какой?
Аватара пользователя
PatriotUA
Школота
Школота
 
Сообщения: 14
Зарегистрирован:
24 сен 2008, 14:48
Has thanked: 0 time
Have thanks: 0 time

Сообщение Enceladus » 27 окт 2008, 19:47

на 22% и упадет.

Правильно. То есть даже не на треть. Да и, как я уже сказал, большую часть времени нам урон вообще не важен.
в одиночной игре CB снимает с типового убера 1/32 текущего здоровья (1/16 как босс и пополам из-за физ.резиста)

С босса CB снимает melee-оружием 1/8 ХП без учёта физрезиста.
Если верить вышеприведенной методе вычистения смайтового дамаджа, то с грифом смайтовый дамадж уравнивается с дамаджем крашинга на ~25% от макс.здоровья убера, а с HL - на ~8%.

Т.е. учитывая поправку - для Грифа урон сравняется на ~9.8%.
замечу, что для понижения здоровья убера на чистом CB (без учета смайта и OW) со 100% до 8% при CB=100% требуется вдвое больше ударов, чем со 100% до 25% при CB=67%, в сумме по количеству ударов на убера - моделирование дает разницу раза в полтора...

Ну, такое считается просто - ln(0.08) / ln(0.25) * 0.67 = 1.22
Теперь пересчитай с учётом поправки насчёт действия CB на боссов.
И помни о том, что даже когда урон от CB сравняется с уроном от Смайта - он (CB) никуда не пропадёт, а продолжит действовать, пусть даже и со всё более слабым эффектом. И действует CB до нанесения урона.
У меня в симуляторе Гриф с 60% CB дает ускорение всего лишь в 1.13 по сравнению с Хевенсом и 93% CB. Львиная же доля времени при добывании торча уходит не на собственно бой, а на беготню.
аргументы про Life Tap понятны, или дракулусы или Exile - у уберкиллера быть должны.

Некоторые используют Wand с зарядами, но лично я считаю это не слишком удобным и безопасным вариантом.
вероятность неперекаста OW за 8сек без дракулус, только из Gore Rider ~3%, imho - некритично.

Угу, 3% при непрерывной 6-фреймовой атаке. Но обычно носят Goblin Toe - там CB больше.
btw, "the damage is divided by 4 for a player target. In addition, for a missile versus a player target one should divide the damage by 8 instead"
т.е. не 17% a 25% или 12.5%. (цитата - с арреата).

Я говорил об общем ПвП-пенальти, в данном случае для Смайта. Для OW свои модификаторы, конечно же.
Глокая куздра штеко будланула бокра и курдячит бокрёнка.
Аватара пользователя
Enceladus
Diablo II Member of Fame
Diablo II Member of Fame
 
Сообщения: 2329
Зарегистрирован:
21 авг 2007, 07:38
Has thanked: 0 time
Have thanks: 60 times

Сообщение suinavv » 28 окт 2008, 09:48

Между прочим, в пвп дмж молотков считается просто как x 0.25 - mdr?
Не злите меня,и так уже некуда трупы прятать.
Аватара пользователя
suinavv
Обыватель
Обыватель
 
Сообщения: 701
Зарегистрирован:
05 мар 2008, 21:38
Откуда: Киев
Has thanked: 0 time
Have thanks: 1 time

Сообщение Enceladus » 28 окт 2008, 09:56

Между прочим, в пвп дмж молотков считается просто как x 0.25 - mdr?

Сначала действует ПвП-пенальти (0.17), потом MDR, потом Magic Resist, потом Magic Absorb%, потом - Magic Absorb.
Если у тебя только MDR, и x - урон до ПвП-пенальти, то врагу будет нанесён урон 0.17 * x - MDR.
Глокая куздра штеко будланула бокра и курдячит бокрёнка.
Аватара пользователя
Enceladus
Diablo II Member of Fame
Diablo II Member of Fame
 
Сообщения: 2329
Зарегистрирован:
21 авг 2007, 07:38
Has thanked: 0 time
Have thanks: 60 times

Пред.След.

Вернуться в Школа выживания

Кто сейчас на конференции

Посетителей: 1, из них зарегистрированных: 0, скрытых: 0 и гостей: 1 (находятся на конференции)
Этот раздел просматривают: нет зарегистрированных пользователей и гости: 1