Нетлаг и Warbirds. Часть 1 Для новичков довольно малопонятным аспектом является net lag, или сетевая задержка, и то как лаг влияет на игру. В онлайне это в двух словах не объяснишь, поэтому я всегда рекомендую замечательную статью Джонатана Хуфа, "NetLag and WarBirds". К сожалению, не все видимо знают английский в достатоной степени. Поэтому я попытался сделать некий перевод. Предлагаю вашему вниманию первую часть. Оригинальный текст статьи можно посмотреть на http://www.rdrop.com/users/hoofj/netlag.htm Вообще, страничка Хуфа http://www.rdrop.com/users/hoofj это так называемый must-see для каждого кто пришел в WarBirds. Если вы ее не читали и не прочитаете - вам никогда не стать хорошим пилотом-истребителем ====================================================== Нетлаг и 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 Времени катастрофически не хватает 2 arrow: Отчасти ты прав. Человек ленивый, но знающий английский, прочитав первую часть может заинтересоваться и ознакомится с оригиналом. А вообще, похоже что 90% новичков либо не прочитали, либо ничего так и не поняли... Как были крики "а как ты меня сбил, я же видел что ты не попал!", так и есть...
А вот и не правда. Я с удовольствием прочитал первую часть и с нетерпением жду вторую. И "как в меня попали" я кстати никогда не кричу. Я закричал когда вчера am у меня с голым как сосиска хвостом рванул опять с сервера. Но это уже не сюда да и не к чему. С уважением ------------------ deltta 72 AG
В таком случае получается и, так оно и есть, что клиенту пофигу где находится самолет другого клиента! Для моего клиента самолет противника находиться там где его "тень". И ежели я вдарю по этой "тени" со всей дури, то через 1-2 секунды мой противник получит сообщение что он труп )) Вот если я тараню его сзади, тогда я - труп. А он увидит что я даже не долетев до него рассыпался в воздухе Александр Петров