![]() |
Страницы (2): [1] 2 » Показать все 21 сообщений этой темы на одной странице |
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Компьютерные игры (https://hlfx.ru/forum/forumdisplay.php?forumid=19)
-- Как стреляет шутер (https://hlfx.ru/forum/showthread.php?threadid=3163)
Как стреляет шутер
Очень интересная статья про физику в шутерах, в основном затрагивается последний Battlefield.
Интерполяция, экстраполяция, лаги, предсказания, рэгдоллы, все то, что обсуждается и на этом форуме, в довольно-таки развернутом виде.
Link:
http://habrahabr.ru/blogs/gdev/135306/
Да, этот тот самый *your_mind* ресурс!
Статья очень интересная, хоть и перевод чуть ли не машинный. Жаль, что поверхностная - так-то очень интересны методы расчета коллизий на клиенте с последующей синхронизацией на сервере.
Рагдолл так вообще очевидно, что считать надо на клиенте. По-хорошему, алгоритм физики один - конечное положение тоже должно быть одинаково, но, судя по тому, что иногда положение тела может отличатся в серверной и клиентской модели, где-то есть зависимость от реального времени, а не от игровых "тиков"
__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran
В идеале наверное надо центр рэгдолла считать на сервере, а конечности и всю его остальную физику — на клиенте, получится что трупы лежат таки у каждого по-разному, но в одинаковых местах, можно без проблем за медика шокером ударять в грудь трупа для оживления товарища.
В любом случае это лучше, чем полная рассинхронизация в Source. Порой играешь в CS:S, тебя спрашивают: "Вау! Ты видел как его труп классно упал с крыши?", ты вздыхаешь, и вытягиваешь из себя что-то типа: "Да, видел, получилось круто" .
В CS играю с ex_interp 0, по другому просто невозможно. Больше всего бесит, когда ты стреляешь в игрока, пули "как бы попадают" в игрока, даже проигрывается соответствующий звук "попадания в плоть", но попадания нет, мало того, пули буд-то исчезают, потому что за целью нету никаких следов от попадания пули в карту (декалька, искры).
Еще бывает интересный эффект от гранаты, когда на клиенте видно, как какой-нибудь игрок попадает под ее радиус и проигрывается анимация урона (грудь назад, открывается рот), но ни одной единицы здоровья у этого игрока не отнимается .
Да что тут говорить, порой декалям от пуль верить нельзя, взять тот же фастзум у AWP, клевая кстати штука, и точка на мониторе вывозит.
qpAHToMAS, возможно, в сорсе привязка к реальному времени компа или к кадрам, а не к "тикам", которых в секунде фиксированное число. Вот и получается, что компы с разной производительностью считают физику по-разному, это как старый баг фпс-зависимой физики ку3. Если привязать физику к конкретным "тикам", то на клиентах будут в одинаковое время одинаковые формулы с одинаковыми параметрами, и результат будет одинаковый.
__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
А у меня рог нолл чисто серверный. Правда, так ни разу и не тестил его по сети
Добавлено 27-12-2011 в 16:41:
__________________
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
>чем полная рассинхронизация в Source.
в l4d игрок с шотганом мог запросто ранить игрока, стоящего в метре за его спиной.
__________________
http://www.moddb.com/mods/monorail-quest
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
а Government-Man нам её переведет на русскиый езыг!
на наш великий-могучий-русский-езыг!
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
https://developer.valvesoftware.com...r_Networking:ru
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Временная зона GMT. Текущее время 07:55. | Страницы (2): [1] 2 » Показать все 21 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024