XaeroX странно, очень странно, с твоей длл вроде стал попадать, попробовал скомпилить на коде HL1_src_vs2005.zip что ты выложил выше, компилил 2010 студией, ошибки на макрос max уже не было, видимо проблема 6 студии, код буллсквида так же скопировал, единственное я поменял везде в коде HSPRITE на HL_HSPRITE, иначе клиент 2010 студия не скомпилирует, буллсквид начал мазать, в присяде попадает, а если бежать от 1 берега до другого то харчок как раз перед носом пролетает, попадает когда в его сторону бежишь, и потом я вернул твою длл, и он тоже начал так же мазать, правда я по другому бегать стал, разбил-столкнул в воду все ящики и бочки, и бегал от 1 конца берега до другого, я даже для чистоты эксперемента на клаве только W держал чтобы не отклониться с курса. Я сначала проверял на движке ксаше, потом и на просто халве проверил тоже.
В общем, тут вот какая проблема имеется. В халфе мало того, что шаги интегрирования траектории дискретные, так они ещё и скачут. А игрок вообще отдельно интегрируется, по мере поступления пакетов.
Иными словами, хотя S = vt, но t != S/v из-за дискретности t.
В общем случае, получается, невозможно точно знать, где окажутся игрок и прожектайл в момент времени t, причём чем t больше (т.е. игрок дальше от монстра или скорость прожектайла ниже), тем ошибка серьёзнее.
Можно делать поправочные коэффициенты, но это полумеры - они будут зависеть от fps.
XaeroX писал: Можно делать поправочные коэффициенты, но это полумеры - они будут зависеть от fps.
Жаль в математике я плохо шарю, разобраться куда бы его втулить, у буллсквида снаряды перед носом пролетают, если как-то уменьшить совсем немного точку где по идее должен быть игрок, то он вполне должен попадать.
Кстати в ходе тестов на карте c1a1c обратил внимание, что буллсквид не попадает по крабам, снаряды над головой летают, но это проблема халвы. Ну и меня забавляет баг в халве как можно снижать скорость на наклонных поверхностях, к примеру где лифт с крабами что на голову сыпяться я не включаю его, а просто прыгаю вниз и зажимаю кнопки идти назад и игрок замедляется.
Chyvachok
В общем, умножь последний аргумент функции UTIL_VecEnemyPrediction на 1.045f, и попадание будет очень хорошим на любом расстоянии. Ну по крайней мере, я его протестировал с разными скоростями прожектайла, с разными расстояниями и разным фпс.
XaeroX писал: А игрок вообще отдельно интегрируется, по мере поступления пакетов.
Это не отмазка. Оно и в кворлде и во второй и в третьей кваке точто так же.
Но в третьей кваке и даркплейсе можно включить физику игрока в общий цикл, по вкусу. Впрочем я не заметил, чтобы это давало какие-то преимущества.
Дядя Миша
Поэтому там нигде и нет стрельбы с упреждением.
Ну кроме хтони в первокваке, но там, во-первых, они с игроком довольно близко друг к другу, а во-вторых, у его кусков лавы приличный радиус.
Обновил на МодДб архив с модом.
Новая версия доступна для скачивания!
- добавлено ядерное оружие "Redeemer"
- монстры Stone Gargantua, Bullchicken, Gonome и Shock Trooper стреляют на упреждение
__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.
Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo