Клиент игры - Game client

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

А Клиент игры это сеть клиент который подключает отдельного пользователя к основной игре сервер, используется в основном в многопользовательские видеоигры. Он собирает данные, такие как счет, статус игрока, положение и движение, от одного игрока и отправляет их на игровой сервер, что позволяет серверу собирать данные каждого человека и отображать каждого игрока в игре,[1] будь то арена меньшего масштаба или массовая игра с тысячами игроков на одном уровне карта. Несмотря на то, что игровой сервер отображает информацию о каждом игроке для каждого игрока в игре, игроки по-прежнему имеют свою уникальную перспективу на основе информации, собранной игровым клиентом, так что точка зрения каждого игрока на игру разная, даже если мир для каждого игрока та же. Клиент игры также позволяет обмениваться информацией между пользователями. Примером может служить обмен предметами во многих MMORPG игры, в которых игрок обменивает предмет, который он / она не хочет, на предмет, который он / она хочет, игровые клиенты подключаются друг к другу и позволяют обмениваться информацией, при этом обмениваясь предметами. Поскольку для многих игр требуется централизованное пространство для сбора игроков и возможность обмена информацией между пользователями, многие игровые клиенты представляют собой гибрид клиент-сервер и пиринговый структуры приложений.

История

Всемирная паутина зародилась на NeXTCube с процессором 256 МГц, 2 ГБ диска и монитором шкалы серого под управлением ОС NeXTSTEP. Сэр Тим Бернерс-Ли разместил первую веб-страницу в Интернете 6 августа 1991 года, работая на ЦЕРН в Женеве, Швейцария.[2] Онлайн-игры появились в начале семидесятых. В это время Доски объявлений коммутируемого доступа предоставил игрокам возможность играть в игры через Интернет. В 1990-х годах новые технологии позволили игровым сайтам появляться по всему Интернету.[3] В клиент-серверная система предоставил онлайн-играм возможность функционировать в больших масштабах.

Функции

Игровой клиент имеет 4 основные функции: получение входных данных, анализ данных, предоставление отзывов, настройка системы.

Получает ввод

Игровой клиент получает ввод от отдельного пользователя. Например, в игре FPS игрок выполняет множество различных действий, таких как движение, стрельба и общение. Каждый из них потребует от игрока управления устройства ввода. После получения этих входных данных игровой клиент отправит их обратно на сервер.[4]

Анализирует данные

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

Дает обратную связь

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

Отрегулируйте систему

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

Пример приложения

Вот пример того, как работает игровой клиент, используя игру Лига Легенд. В этом примере игрок по имени 7Turtle7 использует персонажа Kha'Zix для атаки нейтрального персонажа, известного как «Красный Brambleback». С точки зрения клиента происходит множество вещей.

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

2. 7Turtle7 пытается атаковать Красного Brambleback. Клиент отправляет данные 7Turtle7's и Red Brambleback на статистика такие как позиция, здоровье, мана, урон, защита и многие другие данные для сервера, и позволяет серверу вычислить новое состояние мира после того, как 7Turtle7 нанесет удар Red Brambleback. Сервер обрабатывает данные и отправляет их всем другим клиентам игрока, сообщая, что 7Turtle7 только что сделал, и как клиент должен дать обратную связь по этому поводу. После того, как клиент 7Turtle7 получает эту информацию, он создает выходные данные и отправляет их обратно 7Turtle7. В этом примере мы видим, что появилось красное число, указывающее на урон, нанесенный Red Brambleback, а на панели способностей появилась цифра 3, указывающая время восстановления только что использованной способности 7Turtle7. Поведение персонажей, в данном случае Красного Brambleback, также изменяется из-за атаки. Теперь он становится враждебным созданием, которое атакует 7Turtle7 в соответствии с внутриигровым программированием, поскольку 7Turtle7 первым атаковал Красного Brambleback. Также меняются выходные изображения, такие как анимация атаки, полоса здоровья и полоса маны.

4. Другие игровые клиенты также знают об атаке, совершенной 7Turtle7, но в зависимости от их точки зрения, их клиенты определяют, отображается ли им эта информация или нет. Например, клиент игрока в противоположной команде знает об атаке, но он не будет отображать изменения для этого игрока, поскольку игра устанавливает его так, что нужно обнаружить, что 7Turtle7 делает такой ход, только тогда он будет отображаться на их выходах.

5. Даже несмотря на то, что клиент отправляет и получает данные с точки зрения отдельного человека, есть данные, которые доступны всем участникам игры или вообще не используются. Возьмите, например, верхний правый угол перспективы 7Turtle7, там есть индикатор времени, и это время одинаково для всех внутри игры. Также есть FPS и пинг индикатор, который является эксклюзивным для 7Turtle7 и не распространяется через клиента.

использование

Принятие технологии

Для многих разработчиков игр внедрение технологий является ключом к их разработке. Стандартизированные платформы, такие как HTML 5 и JavaScript, могут обеспечить интеграцию мультимедиа и более глубокую разработку. Клиент игры предоставляет такую ​​возможность.[5]

Пользовательский опыт

Балансировка игры - большая проблема для разработчиков. Большое количество пользователей на их клиенте, подключенном к серверу, может привести к высокому использованию ресурсов, но в то же время пользователям необходимо оставаться подключенными к игре. Игровые клиенты будут предоставлять информацию этого типа на централизованный сервер.

Сотрудничество сотрудников

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

Обновления

Иногда команда разработчиков игр создает новое содержимое или исправляет предыдущие ошибки, что означает, что им нужно позволить клиентам каждого игрока синхронизироваться с сервером. Один из способов исправить ошибки или добавить новое содержимое в игру разработчик игры - это патчи. В платформа цифровой дистрибуции будет предупреждать пользователя о наличии обновления, и клиент автоматически применяет эти исправления для пользователей, чтобы гарантировать, что каждый пользователь имеет одинаковую точку зрения на игровой контент после внесения изменений.[6] Некоторые примеры платформ цифровой дистрибуции включают: пар, источник и battle.net, которые предоставляют те же услуги для игровых клиентов.

Смотрите также

Рекомендации

  1. ^ «Space Crack: исправление жанра пошаговой стратегии». www.lostgarden.com. Получено 2016-10-30.
  2. ^ «История серверов в картинках с 1981 года по сегодняшний день | Блог iWeb». blog.iweb.com. Получено 2016-10-31.
  3. ^ «История онлайн-игр - DigiSecrets». DigiSecrets. 2013-03-11. Получено 2016-10-31.
  4. ^ «Как работает World of Warcraft». Как это работает. 2007-11-16. Получено 2016-10-30.
  5. ^ «Архитектура клиентского обновления Лиги». engineering.riotgames.com. Получено 2016-10-31.
  6. ^ «Как работает World of Warcraft». Как это работает. 2007-11-16. Получено 2016-10-31.