Нетлаг и Warbirds. Часть 1

Discussion in 'Hints and Tips' started by -rust-, May 7, 2000.

  1. -rust-

    -rust- Well-Known Member

    Joined:
    Jan 23, 2000
    Messages:
    5,291
    Нетлаг и Warbirds. Часть 1

    Для новичков довольно малопонятным аспектом является net lag, или сетевая задержка, и то как лаг влияет на игру. В онлайне это в двух словах не объяснишь, поэтому я всегда рекомендую замечательную статью Джонатана Хуфа, "NetLag and WarBirds". К сожалению, не все видимо знают английский в достатоной степени. Поэтому я попытался сделать некий перевод. Предлагаю вашему вниманию первую часть.

    Оригинальный текст статьи можно посмотреть на http://www.rdrop.com/users/hoofj/netlag.htm

    Вообще, страничка Хуфа http://www.rdrop.com/users/hoofj
    это так называемый must-see для каждого кто пришел в WarBirds. Если вы ее не читали и не прочитаете - вам никогда не стать хорошим пилотом-истребителем [​IMG]

    ======================================================
    Нетлаг и Warbirds, часть 1.
    Сетевая Задержка и WarBirds.

    Сетевая задержка (нетлаг) в WarBirds это явление "искажения" позиций самолетов, происходящая вследствии немгновенной передачи данных между
    компьютерами на которых работает WarBirds. Иными словами, нетлаг это различие между тем, что видите на экране вы и тем что видит на экране другие
    игроки, вследствии задержки связи в интернет.

    Для того чтобы избежать недоразумений и эффективно вести бой в WarBirds, жизненно необходимо понимать нетлаг и его влияние на игру. Я начну с описания
    моего понимания того, как FE (Front End, клиент WarBirds на вашей машине) обменивается данными с Хостом (Host, Сервер). После этого, мы рассмотрим
    различные ситуации в WarBirds, и узнаем как нетлаг изменяет реальность.

    WarBirds - это особенная игра. В отличии от большинства обычных игр, где все действие происходит на одном компьютере, в WarBirds играют на сотнях машин
    разбросанных по всему свету. Каждый игрок запускает свою копию FE, и все они обмениваются данными с Хостом. Front End включает в себя симулятор полета
    и моделирует действие оружия. Весь полет и стрельба (включая определение столкновения, тактико-технические данные самолетов, и определение попаданий в
    противника) происходит на FE. Поэтому, единственный компьютер который определяет что вы столкнулись с другим самолетом - это ваш компьютер, тоько ваш
    компьютер сообщает что делает ваш самолет, и только ваш компьютер определяет что вы попали в кого-то из пушек или попали в какое-то строение бомбами и
    ракетами. Никакой обработки столкновений или отслеживания ваших выстрелов не ведется ни на каких других компьютерах, включая Хост.

    Хост это "Центр Управления" всей информации в WarBirds. Клиент посылает сообщения Хосту, и Хост обрабатывает их и распределяет обратно Клиентам.
    Информация, которую Клиет посылает Хосту, может быть системными командами (включая выбор самолета, подвесного вооружения, выбор аэродрома, и прочие
    команды такие как ".fly"), текстовые сообщения другим клиентам (например то что вы печатаете в буфере радиообмена), информацию о
    позиции/скорости/ускорении вашего самолета, и данные о том куда и чем вы попали. Хост получает все эти данные и обрабатывает их. Затем Хост возвращает
    информацию о позициях других самолетов, сообщения о повреждениях (вашего самолета, машин других игроков, и наземных целей), текстовые сообщения
    (напечатанные пилотами и системные мессаджи, включая сообжения о сбитых самолетах), и Системные Команды (такие как "вы мертвы", или отключены от
    арены, или другие административные команды).

    Для того чтобы разобраться в нетлаге, очень важно понять механизм обмена данными между Клиентами и Хостом. Хост не имеет никакой информации об арене и
    ее рельефе (исключая координаты объектов, которые можно повредить, и статус аэродромов и авианосных групп). Также Хост не занимается отслеживанием
    столкновений или попаданий.

    Итак, как же влияет на все это нетлаг? Обработка и обмен сообщениями требуют какого-то времени. Для того чтобы Клиент-цель получил информацию о том что
    в него попали, сообщение о попадании сначало посылается Хосту (где-то от 1/8 до 1/4 секунды), затем обрабатывается на Хосте (от 1/4 до 1/2 секунды, в
    зависимости от загруженности последнего), и затем посылается Клиенту-цели (от 1/8 до 1/4 секунды). Поэтому, информация о попадании приходит цели
    через примерно 1 секунду (предполагаем остутствие других сетевых задержек). Повреждения нанесенные цели отправляются обратно стреляющему Клиенту
    Хостом (а не Клиентом-целью), для того чтобы Клиент атакующего игрока мог отрисовать отлетающие части и другие эффекты. Данные о положении самолетов
    передаются по схожей схеме, каждый Клиент информирует Хост о положении его самолета в среднем 2 раза в секунду. Это информация собирается,
    обрабатывается и рассылается всем Клиентам которые находятся в радиусе видимости. Этот процесс может занять секунду или две. Это и есть то самое "узкое
    место", где происходит задержка. Необходимо понимать, что все другие самолеты которые вы видите - это их "тени", те места где они реально были секунду
    или две назад. Таким образом, на Клиентах других игроков их собственные самолеты могут быть на 1-2 секунды "впереди" относительно того как вы их
    видите. Соответственно, они видят не ваше истинное положение на вашем Клиенте, а то место где вы были 1-2 секунды назад.

    Всегда помнит: когда вы глядите на противника вы видите то где он находился и то что он делал секунду-две назад (на его Клиенте он пролетел уже на 1-2
    секунды). То что он видит в данный момент - это то где вы находились и что вы делали 1-2 секунды назад (вы пролетели с того времени 1-2 секунды, но его
    Клиент еще не получил эту информацию и не получит ее еще 1-2 секунды). В добавлении, любую вашу реакцию на его действия он увидит через 2-4 секунды
    после того как он начал это действие. Например, он выполняет переворот. Вы мгновенно парируете его движение. Он увидит, что вы ответили на его действие
    через 2-4 секунды _после_ своего движения. Если его движение дает ему позицию для выстрела по вам, то возможно он увидит разрывы своих снарядов в
    вашем фюзеляже _до_ того как его Клиент увидит ваш маневр уклонения. В тот момент когда его Клиент увидит ваш маневр, он возможно уже 2-4 секунды
    ведет огонь по вашему самолету.



    Теперь давайте обсудим некоторые стандартные ситуации, и рассмотрим влияние нетлага на них.

    Схождение (Лобовая атака)
    Преследование по прямой
    Вираж
    Столкновение
    Набор высоты
    Пикирование
    МикроВарпы и те "удобные" перед тем как вы открыли огонь
    Умышленный таран
    Искусственные Варпы

    << Продолдение следует>>
    ====================================================
     
  2. -exec-

    -exec- FH Consultant

    Joined:
    Jan 29, 2000
    Messages:
    24,690
    Location:
    xUSSR
    Где?
    [​IMG]



    ------------------
    Luck
    Yedyge aka exec[228] aka Killer Crayon
    mail2duc@stones.com
     
  3. arrow

    arrow New Member

    Joined:
    May 11, 2000
    Messages:
    3
    Location:
    Ramenskoe
    А я знаю, а я знаю !!!

    "Читайте Хуфа" (С) Rust


    :))))))))))))))
     
  4. -rust-

    -rust- Well-Known Member

    Joined:
    Jan 23, 2000
    Messages:
    5,291
    2 exec
    Времени катастрофически не хватает [​IMG]
    2 arrow:
    Отчасти ты прав. Человек ленивый, но знающий английский, прочитав первую часть может заинтересоваться и ознакомится с оригиналом.

    А вообще, похоже что 90% новичков либо не прочитали, либо ничего так и не поняли...
    Как были крики "а как ты меня сбил, я же видел что ты не попал!", так и есть...
     
  5. deltta

    deltta Well-Known Member

    Joined:
    Feb 2, 2000
    Messages:
    116
    Location:
    Novosibirsk
    А вот и не правда. Я с удовольствием прочитал первую часть и с нетерпением жду вторую.
    И "как в меня попали" я кстати никогда не кричу.
    Я закричал когда вчера am у меня с голым как сосиска хвостом рванул опять с сервера.
    Но это уже не сюда да и не к чему.

    С уважением

    ------------------
    deltta 72 AG
     
  6. lupus-

    lupus- Well-Known Member

    Joined:
    Apr 25, 2000
    Messages:
    126
    Location:
    Dnipropetrovs'k, Ukraine
    Все прочитали и поняли!!!!!!
    УУУУУУУУУУУУУУУУУУ!!!!!!!!!!!! [​IMG]

    ------------------
    До встречи в эфире...
     
  7. Cruiser

    Cruiser Active Member

    Joined:
    May 6, 2000
    Messages:
    41
    Location:
    Peterburg
    В таком случае получается и, так оно и есть, что клиенту пофигу где находится самолет другого клиента! Для моего клиента самолет противника находиться там где его "тень". И ежели я вдарю по этой "тени" со всей дури, то через 1-2 секунды мой противник получит сообщение что он труп :)))
    Вот если я тараню его сзади, тогда я - труп. А он увидит что я даже не долетев до него рассыпался в воздухе

    Александр Петров