Главная
 Статьи
 Сервера
 Демки
 Мувики
 Конфиги
 Фотогалереи
 Форум
 Поиск
 Файлы Q1 | Q2 | Q3 | Q4
 О нас / Контакты
 Quake
    Скачать Q1
 Quake 2
    Боты
    Скачать Q2
 Quake III Arena
    Скачать Q3
 Quake 4
    Скачать Q4
    CD-KEY
    Q4 FAQ
 Enemy Territory: Quake Wars
Логин
Пароль
Запомнить на этом компьютере
    Регистрация »

      Quake2.com.ru   - Q2 Россия
      Quakeworld.ru   - QW Россия
      Quakevoltage   - Quake Мир
      Promode.ru   - Промод
      Defrag.ru   - Дефраг
      Cnews   - Quake Wars форум
все ссылки »     обмен ссылками »
Почему в CPMA/VQ3 шафт более мощный, чем в OSP?

Российский ведущий Quake-девелопер Дмитрий "Qrealka" Логинов разразился очередной статьей на тему внутреннего устройства современных модов. На этот раз разговор пошел о механике работы Lighning gun в моде cpma, режим vq3.

Итак VQ3-шафт это оружие, которое раньше было сложно использовать при большом пинге даже если использовать алгоритмы компенсации лагов. Почему?

1. самая главная причина: шафт это instanthit випон с большой скорострельностью. instanthit это значит патроны никакие по воздуху не летят, а выстрел происходит моментально. А т.к. хиттест и прочие прилагаемые к этому данные обесчитываются на сервере, то чем больше задержка между нажатием кнопки на компьютере игрока, тем больше шансов у тебя промазать.

2. Но почему зависимость от величины лага и погрешности при стрельбе из VQ3-шафта в обычном Ку3 нелинейна? И почему даже при небольших значениях пинга это погрешность сильно ощутима? На то есть несколько причин:

* Когда вы попадаете в кого-то из шафта или когда вы «мажете», всякий раз создается временный объект(Entity) с флагом EV_MISSILE_HIT или EV_MISSILE_MISS соответсвенно. И затем он в версии BASE-Q3, да и в ОСП тоже, отправлялся ВСЕМ подсоединившимся клиентам. Объект этот небольшой, насколько я помню что-то в районе 16 байт для BASEQ3(OSP), правда следует это умножить на скорострельность шафта. Ну, а под словом «отправлялся» я имел ввиду, что ядро сервака должно было решить кому это событие пойдет, а кому нет. Зачем это делается? Это делается, чтобы уже на клиенте код мода решал, что и как делать с этим событием (например, пораждать несколько других). Событие отправляется всем клиентам, потому что это классический пример решения задачи в лоб. Сама задача же - как сделать так, чтобы стрельба из шафта одного игрока по другому игроку корректно отображалась для третьего наблюдателя. Цена решения – сильно увеличивается траффик в сторону от сервера к клиенту, особенно для тимплейных игр. Плюс, увеличивается время задержки отправки этого события.

Дело в том, что ID использует в своих играх прогрессивную для своего времени (Quake 1) реализацию PVS – набор потенциально видимых объектов. Только они передаются клиенту. Это усложняет компенсацию лагов, но зато уменьшает трафик и, как РАНЬШЕ считалось, делает сетевой код более безопасным, в отличии от версии, когда серверная часть работает и на клиенте. Самым тонким местом этого решения является, собственно, сам алгоритм формирования PVS. В том плане, как сервер будет решать – видим этот объект кому-то или нет. На примере работе Doom3/Quake4 мы можем видеть, что неверное работающий алгоритм PVS может сильно испортить мультиплеерную игру.

Так вот, алгоритм формирования этого множества, PVS, напрямую связан с тем, как хранятся данные о карте, то есть с форматом BSP. Ядро сервера трассирует эти данные по определенному алгоритму, решая тем самым задачи «видимости» того или иного объекта. Не стоит и говорить, что неверное построенная карта (с неправильно соединенными поверхностями или расположенными порталами видимости) может сильно деорганизовать дерево BSP и усложнить работу алгоритма работы PVS, что, в свою очередь, сказывается на фпс. Пример такой багнутой карты – pro-q3tourney4 и ее предшественник. Неправильно расположенные или отсутсвующие «порталы видимости» заставляли рендерить объекты внутри башни, даже если вы находились снаружи. С этими багами связаны ОТЧАСТИ современные баги «слышу всех игроков» при включении mvd или mv в cpma 1.40.

Возвращаясь к пункту об отправке события попадания или непопадания из шафта ВСЕМ клиентам сервера, мы получаем более полную анатомию того, что приходится делать серверу в этой ситуации. Во многих ситуациях для сервера это превращается в достаточную большую задержку, из-за чего объект улетает к клиенту не сразу, а через некоторую задержку. Многие игроки ошибочно думали, что это напрямую связано ТОЛЬКО с пингом. Но общая задержка – это сумма задержки на сервере и задержки по сети(пинга). Не учитывать задержки на серваке – это ошибаться порой на величину равнуюю величине серверного фрейма (1000/sv_fps). Именно с такой частотой отправляются данные с сервера до клиентов.

Id пробовало решить это проблему заплатой trueLightning. Опять же исправление в лоб. Заплата на заплате, это бесконечный процесс, если не найти главную причину и не устранить ее. А главная причина была именно в отправке объекта всем клиентам. В CPMA событие о том, что вы попали или промазали отправляется только вам.

* Еще одна причина это опять же округление данных на клиенте. При показе луча, прицела и прочего, клиент вызывает функцию округления для углов, координат и прочих параметров поверхностей и объектов. Когда сам луч короткий, или, проще говоря, когда длина объекта мала, то действительно этой ошибкой можно пренебречь. Длина луча же шафта может достигать 768 единиц. Это значит минимальная ошибка округления будет шесть с половиной единиц для каждой из осей. Если же просуммировать ошибку округления для всех осей (45 градусов от координатных осей карты), то получится ошибка в районе 11 единиц. А это больше трети хитбокса! Причем как видим это ошибка не постоянна, она зависит от: а) длины луча, то есть удаленности врага; б) от взаимной позиции стреляющего и его врага; в) от фпс стреляющего. Стоит учесть, что эта ошибка никак не зависит от ошибок связанных с задержкой на сервере. То есть она проявляется и на LAN.

Сложите все это вместе и вы получите то, что вы имеете в BASEQ3 – оружие которое ведет себя порой не так как ожидает этого игрок, и наличиствует ошибка наведения, которую с определнным допущением можно назвать случайной. То есть это как случайный «шум в прицеле» при стрельбе в КС. Оружие в мультиплеере, которое ориентируется на aim-skill игрока, не должно обладать такими недостатками.

3. Что же мы получаем в итоге в CPMA? Мы исключаем округление на клиенте, чтобы игрок стрелял именно туда, куда показывает прицел, а не плюс минус треть корпуса. Мы исключаем задержку события на серваке, уменьшая траффик и загрузку, увеличивая тем самым время реакции системы. И instant weapon начинает действовать достаточно близко к тому как должны действовать instant weapon. А не с приблизительной задержкой. То есть мы получаем шафт, который работает в точности с заданными параметрами стрельбы. Никаких предварительных вычислений и оптимизаций на клиенте тут НЕТ. Никакого увеличенного дамаджа НЕТ. Никакой увеличенной сокрострельности НЕТ. Никаких более толстых хитбоксов НЕТ. Просто оружие работает так, как оно должно работать.

По материалам promode.ru

  toy / 14:34 15 февраля 2007 Quake 3

Ссылки

URL адрес новости
BB-код для форумов
HTML-код

Комментарии

Всего комментариев: 25

1. n1c3  
15 февраля 2007, 16:01

блин стоко новых слов =)

2. xpunkerx  
15 февраля 2007, 16:48

Почитай це

Ось там точно багато нових термінів:)

3. green  
15 февраля 2007, 17:31
не осилил...
идея и так ясна, любишь шафт и у тебя большой пинг, врубай vq3 и будет счастье 8)

4. AWALLON  
15 февраля 2007, 18:02
2n1c3
:DDD

5. jum   gateway.dpcdsb.org
15 февраля 2007, 18:25

blun vsetaku unteresno kak eto vse zdelano

6. anged_er  
15 февраля 2007, 19:26

Короче, шафт в cpm/VQ3 точнее, потому что сетевой код лучше. (Очередной PR)
С каждой новой версией промода не исключены новые глюки.
Глюк "игрок игрока слышит издалека" я наблюдал ещё в цпм1.35 кажись.
А осп на лане уж точно не хуже, не считая модной фишки MVD конечно (MVD демы имхо безобразно сглажены, скрадывая движения игроков).

7. toy  
15 февраля 2007, 19:35
anged_er
в cpma шафт стреляет так как он должен стелять на самом деле

8. anged_er  
15 февраля 2007, 20:17

toy
И эту строку я прочитал. (Напрашивается дурной вопрос: "Интересно, где они видали "настоящий" шафт?")

Постараюсь без фанатизма. Несомненно цпма имеет свои преимущества и постоянно развивается, причем бетатестирование происходит по всему миру на наших компах ). Но не нравятся мне некоторые дурные тенденции и амбиции разрабов: как-то небезуспешная попытка навязать своё всем и вся, раздувание концепции альтернативного мода с изменённой физикой и балансом оружия до масштабов мировой всеобъемлющей игровой дисциплины (имхо рейл 90 единиц демеджа - не квака!, как в Q3 так и в Q4, да и "severity" наверняка без Arqoon-а не обойдется), полное "мавпування" большинства baseq3-osp карт. (Фантазии у Swelt-а нет, что ли, чтоб dm13 и ztn передирать?)
По моему мнению всё чаще всякие изменения происходят не ради улучшения геймплея/исправления багов/итп а из-за всяких "маркетинговых соображений" и прочих проволОчек.

9. AWALLON  
15 февраля 2007, 21:53

Да, шафт в vQ3 вносит сильный дисбаланс, особенно на дм6 :(

10. jum   CPE00155848d13d-CM0016924d88fc.cpe.net.cable.rogers.com
15 февраля 2007, 22:09
(
toje samoe chto v q4

11. CooL   4.usernat.ip.net.ua
15 февраля 2007, 22:20
2jum
какраз в ку4 все сбалансирывано.просто надо уметь стрилять)))

12. xpunkerx  
16 февраля 2007, 0:27


Глюк "игрок игрока слышит издалека" я наблюдал ещё в цпм1.35 кажись.


Це не глюк, це prosound. Він вмикався в вку3 при записі мвд здається. Короче потім пофіксили, копай на промод.ру, там детальніше написано.

13. anged_er  
16 февраля 2007, 2:37

xpunkerx Я розумію що в ранні часи розробки doom та quake (перших) рокетджампи, даблджампи теж вважали "глюками". Однак це не дає мені впевненості що інші не користуються такими "новими можливостями". Буду й надалі під OSP. =)
"вОЛЯ-кабель" must die!

14. xpunkerx  
16 февраля 2007, 11:00

Нє, ти не зрозумів, ця фішка називається prosound і раніше запис мвд деми був неможливий без неї. Зараз все виправлено.

ПС:Грай в промод і не парся:))

ППС:ОСП скоро остаточно здохне, це можна бачити як на прикладі чемпіонатів(практично всі проводяться на цпма), або серверів - осп дедалі менше.

15. toy  
16 февраля 2007, 12:14
2 anged_er

имхо рейл 90 единиц демеджа - не квака!

улыбнуло :D
как ты может быть знаешь в q1 рельсы вообще не было, и упор был на рокет и шафт. это попытались вернуть в cpma/cpm, где ты рождаешься со 100 hp и можешь сразу умереть от 1 рокета, но не умрешь от 1 рельсы (дэмэдж=80)
касательно просаунда XpunkerX тебе уже сказал

RTFM!

16. anged_er  
16 февраля 2007, 22:05

Мда, как говорил один: "Контра отдельно а квака отдельно..", так и CPMA отдельно а VQ3-OSP отдельно (хотя ближе).
Ушёл с горя HUD себе дорисовывать на старый манер..

17. xpunkerx  
17 февраля 2007, 1:23


CPMA отдельно а VQ3-OSP


Так і є:)

18. jum   CPE00155848d13d-CM0016924d88fc.cpe.net.cable.rogers.com
17 февраля 2007, 5:52

obyasnute pacany kotoruu` ne rozburaetsya v konsolnuh komandah chto takoe HUD ?

19. xpunkerx  
17 февраля 2007, 12:22

Head-Up Display - індикатори хелса, патронів, армора і тд, короче вся інфа, яка виводться на екран.

20. ХУДой   progressly.affair.volia.net
17 февраля 2007, 13:00

21. slim#K'sD   port-48-adslby-pool43.infonet.by
19 февраля 2007, 13:58
Хоть теперь правду знаю , ато стока разных версий на счет этой темы слышал !
Qrealka nice job !

22. XOXMA4   162.236.249.80.customer.teleportsv.net
19 февраля 2007, 16:27

2 green, anged_er: человек старался, писал, а вы не вникли. хотите понять - перечитайте. xpunkerx послал всех в правильном направлении, хотя и самому туда нужно, хех. недовольны ослабленным рейлом? вам сильно нравится смотретьдемы, в которых рейлер пинкерит? мне нет. выстрел - на 1,5сек спрятался, выстрел - на 1,5сек спрятался. вот это НЕ стратежно. рокет должен рулить, а не рейл. в Q4 1.4изменилсяне только рейл. шога стреляет не беспорядочно, а по маске (привет из CPMA). раз уж вторая игра идет по этому пути, значит так лучше. Qrealka:"Swelt не любит мапы переделывать"

2 toy: RTFM им не поможет, они даже статью не дочитали.

23. xpunkerx  
19 февраля 2007, 20:10


RTFM им не поможет, они даже статью не дочитали.


Як це не прикро, але змушений повністю погодитися:(

24. pm.ru>notor   84.204.43.27
20 февраля 2007, 12:20

Коменты как всегда жгут =)
Особенно на счет ЗАСИЛИЯ Промода.
Да кому**** сдалось чего то навязывать, игрок сам выберет что ему удобнее, лишь бы он сам понимал что для него выгодно а что нет.

Хочешь играть с большим пингом как на ЛАНе?
Хочешь что бы шафт стрелял именно как инстант вепон, а не случайно округленное оружие?
Хочешь играть на новых картах и не 2-3х типа "любимой" связки дм6-зтн1?
Не хочешь?
Ну тогда ОСП на самом деле "твое все"!

Я всегда говорил и говорю, никто никого насильно не заманивает и не ждет, каждому свое.

25. rix  
19 июня 2007, 20:39
ппц
Промод сделан по многочисленым опросам проф игроков по всему миру !...от сюда и название ProMode, дальше без коментов,кроме этого, QIII CPMA остался с балансом и еще каким !

Добавить комментарий


Возможность оставлять комментарии доступна только зарегистрированным пользователям.
Россия
q2.playground.ru 7 / 42
q3.corbina.ru 24 / 98
q3.playground.ru 38 / 104
q4.corbina.ru 0 / 32
q4.playground.ru 0 / 32
Украина
kpi.q2.org.ua 1 / 48
q3.quaket.net 2 / 56
q3.tupoleva.net 2 / 24
q4.fasty.net 0 / 0
q4.ogogame.kiev.ua 0 / 16
q4.quaket.net 0 / 22
все сервера »     настроить »

Чемпионаты В ближайшее время не запланировано

Опрос
Кто выиграет GameGune 2008?

Cooller
Cypher
Nike
Toxjq
Fox
Av3k
Jibo
Свой вариант (комментарий)
     Результаты опроса

Наш irc

join #quaket.net @ quakenet





2006 © quaket.net. Условия использования информации сайта
Контакты | Рекламодателям | Посетителям | Sitemap |   RSS
Рейтинг@Mail.ru Rambler's Top100 Провайдер Туполева Популярнейший файлообменник в UA-IX, бесплатно и до 2000МБ