Этот патч исправляет главную проблему геймплея Doom - рандомные повреждения, делая игру на 100% честной как в singleplayer/survival так и в PvP. При этом он весит всего 5 килобайт. Например: шар ревенанта в думе может наносить от 10 до 80 урона, с этим модом оно всегда наносит 45 путем вычисления среднего числа от урона шара.
Проблемы: * Лучи бфг все ещё наносят случайный урон, потому что здум не позваляет убрать формулу из A_BFGSpray. Урон так и остался прежним - сумма 15 рандомных чисел от 1 до 8. * Разнос пуль у хитскан пушек так же случаен, это возможно исправить, но очень сложно. Планирую в будущем.
Рандом - он есть рандом. Баланс рандом вносит, потому что случайности не могут быть честными или нечестными - это сугубо объективное восприятие. Все-равно после двух и более выстрелов шотганнера/ревенанта/любого монстра средний урон будет выдерживаться при подсчете среднего арифметического (с допустимыми погрешностями). Так что в этом нет особого смысла и пользы, наверное, тоже...
В думе не рандом, а выбор из ряда псевдослучайных чисел от 0 до 255, на основе того какой кадр сейчас идет. Сделано, чтобы не надо было в мультиплеере передавать другим игрокам данные об уроне - у всех "рандом" выберет одно число. Ряд этот не однороден и не "честен" - например число 145 там встречается 5 раз.
Идея убрать рандом хороша - я играю в основном с паками оружия и там с рандомом тоже как правило не заморачиваются. А вот разброс пуль лучше не убирать, а то получится также убого как в Serious Sam - где дробовик стреляет всегда одной и той же фигурой, и чтобы нанести максимальный урон надо поворачиваться к врагу под определенным углом (градусов 10 от прицела) - нафиг-нафиг.
Просто брать средний урон некорректно: как правильно замечено выше, рандом в думе не совсем "честный". Твой мод наверняка делает разных монстров в целом сильнее или наоборот слабее. На думвики в статьях про монстров указаны "вероятности" нанесения каждого возможного урона, можно попробовать рассчитать по ним "взвешенное" среднее.
В целом, думаю, полезная вещь, сам не однократно думал об этом, особенно касаемо дезматча. Периодически, когда накатывает "полоса невезения" - твоё ссг аккуратно кладёт дробь вокруг енеми при стрельбе на среднекоротких дистанциях(либо тупо не убивает врага при более 50% попадании), сг отнимает только треть здоровья, бфг ВНЕЗАПНО перестаёт убивать, а чейнган упорно пускает пули влево/вправо от цели - и всё тоже самое, только помноженное на -1 у врага - невольно возникают плохие мысли о думовском рандоме и очень хочется, что бы было как в квейке(я говорю тут про ку3 в первую очередь) - весь урон был строго установленным(черт с ним, с рассеиванием, в том же квейке пулемёт/ссг рандомно рассеивают, хотя в думе, в дезматче, я бы его просто уменьшил, что бы меньше влиял). Но по поводу урона:
Просто брать средний урон некорректно: как правильно замечено выше, рандом в думе не совсем "честный". Твой мод наверняка делает разных монстров в целом сильнее или наоборот слабее. На думвики в статьях про монстров указаны "вероятности" нанесения каждого возможного урона, можно попробовать рассчитать по ним "взвешенное" среднее.
В думе не рандом, а выбор из ряда псевдослучайных чисел от 0 до 255, на основе того какой кадр сейчас идет. Сделано, чтобы не надо было в мультиплеере передавать другим игрокам данные об уроне - у всех "рандом" выберет одно число. Ряд этот не однороден и не "честен" - например число 145 там встречается 5 раз.
В здуме нормальный генератор случайных чисел, а не из m_random.c
В целом, думаю, полезная вещь, сам не однократно думал об этом, особенно касаемо дезматча.
Сейчас то же самое делается маленько иначе. Берётся генератор псевдослучайных последовательностей с хорошим распределением. Создаётся инициальное число (seed) и раздаётся всем участникам мппишется в демку. В результате рандом каждый раз разный, более-менее честный и не нужна синхронизация.
"Хорошее" начало, неправда ли? Выдал бы ещё один плюс, но одного уже хватит. Советую почитать правила, а то и до пинка под мягкое место недалеко. +Ku6EPyXOBEPTKA+
Интересненькая штучка, мне думаю пригодится, у меня везение в последнее время еще больше упало, надо будет удачу прокачать попробовать этот мод. Оффтоп:
Скрытый текст:
Надо будет посмотреть код последней версии AOW, там походе вообще дамаг*random(0.000001, 200) в уроне, поскольку
TGA]ASTS[:
твоё ссг аккуратно кладёт дробь вокруг енеми при стрельбе на среднекоротких дистанциях(либо тупо не убивает врага при более 50% попадании),
Иногда со 100% попаданием из мощной пушки сроду никого не убьешь, а иногда тебя из слабой пушки почти сразу выносят. Ну как при 100% точном попадании из рокетланчера невозможно убить нубку, у которого даже не эксплозион ресистанс броня? Или хотябы 50 хп ему снести.
Надо будет посмотреть код последней версии AOW, там походе вообще дамаг*random(0.000001, 200) в уроне, поскольку
Гм, я тут глядел последний аов, а там рандома и правда нет. Только ссг - имба.
MasterMind:
Иногда со 100% попаданием из мощной пушки сроду никого не убьешь, а иногда тебя из слабой пушки почти сразу выносят. Ну как при 100% точном попадании из рокетланчера невозможно убить нубку, у которого даже не эксплозион ресистанс броня? Или хотябы 50 хп ему снести.
А без рандома в здум портах (кроме здаймона) всегда снимает 10 хп за пулю у шитскана. Вот интересно, а если играть с рандомом, то у всех пуль один рандомный дмг или у каждой пули свой?