Обзор сетевых и многопользовательских компьютерных игр, часть вторая

14.10.2012

Связанные работы

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

Военные симуляции

Министерство обороны США занимается разработкой сетевых военных симуляций с 1980-го года. Первым разработанным протоколом был SimNet, которая предоставляла возможность интерактивной работы в сети в режиме реального времени, human-in-the-loop (HITL) боевые симуляции и военные игры. Для достижения этой цели SimNet обеспечивает функциональную реалистичность, в ущерб реалистичности физической. В сети использована распределенная архитектура, без центрального сервера, что позволяет участниками присоединяться к симуляции или покидать ее в любое время. Объекты передают информацию о событиях на всю сеть и приемники отвечают за расчет эффектов (естественно, все от всех ожидают «честной игры»). Информация о разнице между позициями объекта экстраполируются с помощью счисления координат.

Распределенная интерактивная симуляция (РИС. DIS — Distributed Interactive Simulation), которая была опубликована в качестве стандарта IEEE 1278 в 1992-ом году, является попыткой формального обобщения и расширения протокола SimNet. Цель была в том чтобы позволить любому типу игроков на любом типе машины принять участие в симуляции. РИС (DIS), позволяет моделировать различные виды транспортных средств (например, самолеты и корабли), и, следовательно, она используется во многих специализированных системах, таких как NPSNET или STOW.

В настоящее время усилия военных исследований, сосредоточены на разработке систем базирующихся на Архитектуре Высокого Уровня (АВУ. HLA – High Level Architecture). Она была опубликована в качестве стандарта IEEE 1516 в 2000-ом году. Целью АВУ (HLA) является обеспечение общей архитектуры и сервисов для распределенного обмена данными. Она не предписывает каких-либо конкретных реализаций или технологий. Хотя протокол РИС (DIS) тесно связан со свойствами военных юнитов или транспортных средств, обоснованностью введения АВУ (HLA) является то, что она может быть использована в различных симуляциях, даже в невоенных приложениях, и это является целевым направлением разработки новых симуляций.

Сетевые виртуальные среды

В то время как военные исследования фокусируются на различных крупномасштабных системах, СВС, в основном предназначены для локального использования с поддержкой ограниченного числа участников. Как правило в СВС, обращается более пристальное внимание на виртуальное представление участников (то есть, аватары) и на взаимодействия участников (например одновременная работа с общим объектом).

Одной из первых СВС это Reality Built for Two. Она использует центральный сервер для управления устройствами и передачи данных, а так же дополнительные рабочие станции для рендера. Из названия понятно, что она позволяет двум пользователям использовать одну и ту же виртуальную среду.

MR Toolkit разделяет ВС на четыре компоненты: представление, взаимодействия, геометрические модели и вычисления. Эти компоненты могут быть распределены между узлами сети. Мастер процессов различных экземпляров приложения могут взаимодействовать друг с другом, что позволяет нескольким пользователям находиться в одной и той же ВС.

BrickNet – система использующая архитектуру клиент/сервер. Каждый клиент подключен к серверу для получения доступа к объектам представляющим для них интерес и для связи с другими клиентами. Клиент может загрузить свои собственные объекты на сервер и таким образом делится ими с другими клиентами. Клиенты работают асинхронно, а сервер обеспечивает отправку обновленных сообщений только тем клиентам, которые подписаны на объект. Кроме того, абоненты могут выбрать уровень согласованности – от абсолютной до отсутствующей. Это так же влияет на задержку обновлений.

Ring – система клиент/сервер, где каждый объект ВС, управляется только одним клиентом. Пространственно, эта ВС разделена на клетки, и другие клиенты могут иметь копию объекта, в случае нахождения в одной клетке с собственником объекта. Это фильтрация основанная на предварительно вычисленной прямой видимости информации. Оно осуществляется сервером, который может изменить способ общения с клиентами.

В DIVE используются копии баз данных виртуальной среды и одноранговая сеть. Когда объект обновляется в одной локальной реплике, то сообщение передается всем партнерам, чтобы они могли соответственно обновить свои копии. Естественно что эти субъективные репликации объектов, приводят к противоречиям из-за задержек в сети. DIVE компенсирует это, за счет использования счисления координат и периодически отправляя синхронизирующую информацию. Чтобы уменьшить сетевой трафик DIVE позволяет разделить ВС на субиерархии (например, на основе географии), которые реплицируются в меньшем количестве узлов выразивших заинтересованность в них. Субиерархия может быть связана с многоадресной группой, что еще больше снижает сетевой трафик.

MASSIVE поддерживает различные компьютерные платформы и позволяет пользователям взаимодействовать друг с другом посредством графических, аудио и текстовых медиа средств. В системе используется фильтрация на основе осознания, где каждому объекту присущи разные направленность и фокус для каждой среды (например, фокус в текстовой среде может быть меньше чем фокус в среде графической). MASSIVE использует архитектуру клиент/сервер и многоадресные рассылки. Сервер обеспечивает клиенту начальную точку доступа в ВС. Объекты реплицируются по требованию, и они связаны с многоадресными группами.

Возможности DIVE и MASSIVE, на данный момент объединены м скоординированы в проекте COVEN.

В проекте Spline виртуальная среда разделена на локации которые имеют произвольные размер и форму, и связаны групповым адресом. Spline, использует распределенную архитектуру, в которой каждый узел поддерживает частичную копию ВС, находящуюся в фокусе его внимания. Пользователь может видеть несколько локация. Но каждый объект может находится только в одной локации в данный момент времени.

В GreenSpace, каждый объект использует многоадресную рассылку для передачи своего состояния, и «легкий» сервер связывает многоадресные рассылки и информирует об изменении объектов в ВС. Система использует VRML для ренедера ВС.

В Community Place каждый объект передает информацию о своем положении в сервер. Для того чтобы решить, какие другие субъекты должны знать об этих изменениях, сервер использует пространственную фильтрацию на основе ауры. Кроме того, сервер поддерживает обновления локальных сцен и событий. Статические элементы сцены загружаются как VRML, в то время как динамическое управление данными осуществляется через локальные сценарии и рассылкой сообщений. Если сервер перегружается, то он может быть реплицирован.

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

SmallTool использует VRML и DWTP (Distributed Worlds Transfer and communication Protocol), обеспечивающие «демонов» для передачи содержимого ВС, определяющие сбои передачи и восстановление потерянных пакетов. Дополнительно, будучи скопированными, каждый объект может указать нужность определенного события для надежного распределения и максимальную частоту обновления.

Living Worlds система базирующаяся на VRML, которая позволяет анонимные взаимодействия между слабо связанными частями. ВС разделена на зоны связанные с сервером. Каждый объект принадлежит одному клиенту и сервер назначает нового его владельца, когда предыдущий покидает зону. Система подвержена непредсказуемым задержкам, которая может быть проанализирована «Расширенной Нотацией Действий Пользователя» (eXtended User Action Notation — XUAN).  Для разрешения проблем системы, требуется более высокий уровень детализации контроля, разделов мира и коммуникационный протокол с поддержкой QoS (Quality of Service – качество обслуживания). Так что даже при росте количества пользователей количество информации остается относительно постоянным.

DEVCOM представляет собой централизованную систему, которая гарантирует полную синхронизацию и согласованность показов. Система поддерживает QoS и прекращает рендер ВС при отсутствии клиентских ресурсов.

Urbi et Orbi (буквально – «к городу и к миру», обозначение Папского документа обращенного к городу Риму и католическому миру) включает в себя скриптовый язык для создания высокоуровневых описаний объектов в ВС. Описание объекта содержит в себе так же его поведение и политику доступа. Если объект детерминированный, то он реплицируется в каждый узел сети, и каждый узел отвечает за обновление локальной копии. Не детерминированный объект доступен с одного узла, откуда идет групповое сообщение обновлений в сети.

В PaRADE, системные репликации баз данных осуществляются через недетерминированные события, в локальные расчеты через детерминированные. События могут быть дискретными (изменение состояния) или непрерывными (звуковой поток).Дискретные события требуют резервирование состояний «до-после», в то время как непрерывные события отсчитываемые системным таймером, должны синхронизироваться в каждом узле.

CIAO использует оптимистичный метод для управления параллелизмом репликации объектов. Обновления происходят непосредственно в локальной реплике и передаются на удаленные узлы. Если возникают конфликтующие операции, символ связанный с управляемым объектом используется для согласования. Первоначально, создатель объекта имеет свой символ. Когда владелец получает символ сообщения обновления, он проверяет текущую операцию и дает знак узлу на начало обновления.

Real-Time Transport Protocol (Транспортный Протокол Реального Времени – RTP/1) создан для поддержки интерактивного медиа. Он содержит три метода, служащие для того чтобы все операции в приложениях выполнялись в том же порядке. Несоответствия вызванные задержками (например, задержками в сети) обрабатываются с сознательной задержкой местного обновления, чтобы соответствовать задержке передачи. В каждом уже содержится история событий и при несоответствии возникает ситуация отката, заново производится конфликтующая операция, и ситуация возвращается в «текущее время». На крайний случай протокол содержит в себе так же и метод явного запроса состояния.

Synchronous Collaboration Transport Protocol (SCTP – Транспортный Протокол Синхронного Сотрудничества). Основное внимание уделяется тесно связанным, высокосинхронизированным задачам. Во время взаимодействия создается поток обновлений сообщений, где наиболее важные сообщения идут последними. В протоколе, одна последовательность сообщений, связанных с взаимодействием пользователей с общим объектом сгруппированы в один поток. Этот поток взаимодействия содержит критические сообщения (особенно последние), которые доставляются гарантированно находясь в транспортном потоке.

Многопользовательские компьютерные игры

До недавнего времени проблемы МКИ и онлайн-игр не были широко представлены в научной литературе. Обычно, в документах, внимание было сосредоточено на обычных играх и поднимались ограниченные проблемы.

Многопользовательские Подземелья (MUD – Multi-User Dungeons, МП) текстовые многопользовательские игры, начавшие появляться в 1980-ых годах. Пользователи подключены к общей базе данных объектов, например, комнатам, выходам и артефактам. Игроки, находясь внутри помещения могут просматривать и управлять базой данных. Игроки могут перемещаться по комнатам через выходы которые их соединяют. Пользователи могут добавлять новые комнаты, и другие объекты в базу данных, прописывая их уникальные свойства с помощью встроенного языка программирования. Пользователи так же могут общаться друг с другом в масштабе реального времени.

В Amaze целью игроков в 2D лабиринте является стрельба ракетами по другим игрокам. Узлы используют связь типа «точка-точка», для передачи раз в секунду обновления своего положения и скорости (это позволяет применение счисления координат). Игроки могут входит в игру или выходить из нее в любое время. Система поддерживает «игроков контролируемых компьютером» (ботов).

XPilot 2D игра, воздушный бой, использующая простую архитектуру клиент/сервер. Так как она не использует счисление координат, чувствителнось эффективно детерминирована с задержкой в сети.

Artery (артерия) система обеспечивающая программный интерфейс для МКИ. Сеть базируется на протоколе DIS (Distibuted Interactive Protocol) и система пытается уменьшить трафик программно-ориентированную семантическую базу знаний. Система также поддерживает счисление координат, объединенные рассылки и управление интересами.

В MiMaze, игроки пытаются расстрелять друг друга в 3D лабиринте. В нем используется распределенная архитектура и сервер требуется только для инициализации. Для того чтобы избежать различные задержки, MiMaze использует группу механизмов синхронизации. Задержка между хостами участниками оценивается с помощью системного таймера. Сообщение выдается по абсолютному времени, при этом учитываются измеренный системные задержки таким образом, чтобы все участники могли его получить в одно и то же время. Если сообщение было пропущено, либо оно пришло слишком поздно, используется счисление координат для экстраполяции информации.

Распределенная среда развлечений (DEE – Distributed Entertainment Environment)  представляет собой архитектуру распределенных компьютерных игр. В ней, мир поделен на концептуальные модели (то есть, правила и атрибуты объектов), динамические модели (то есть, взаимодействия на пространственном уровне) и визуальные модели (к примеру, ренедеринг). Чтобы уменьшить сетевой трафик, концептуальные и динамические модели хранятся на сервере, а каждый участвующий клиент имеет собственный экземпляр визуальной модели.

Типовая модели для МКИ по требованию. Данные игры хранятся на сервере, откуда передается на локальные процессоры сервера для каждой конкретной сессии игры. Данные игровой сессии передаются в сеть, на внешний сервер, которые выступают в качестве прокси-сервера (например, хранилище данных об уровне). Оттуда данные попадают к клиенту, где и происходит рендеринг и производится вся интенсивная вычислительная работа.

/p

Заполнен: NetworkingОбщееТуториалы
Присвоен тэг:

avatar

Об Авторе ()

Обычная... *)

Комментирование закрыто.

Наверх