Что значит мультиплеерная игра

Мультиплеер в быстрых играх (части I, II)

Что значит мультиплеерная игра

Разработка игры — само по себе непростое занятие. Но мультиплеерные игры создают совершенно новые проблемы, требующие разрешения. Забавно, что у наших проблем всего две причины: человеческая натура и законы физики. Законы физики привнесут проблемы из области теории относительности, а человеческая натура не даст нам доверять сообщениям с клиента.

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

Часть I

Проблема читерства

Вся наша головная боль начинается с читерства.

Если вы разрабатываете одиночную игру, вам наплевать если пользователь решит смухлевать — его действия влияют только на него. Да, возможно игрок не получит тот опыт, который вы хотели ему дать, но в конце концов он купил игру и может пользоваться ей как захочет.

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

Есть много вещей которые можно сделать чтобы предотвратить читерство. Но самый главный принцип(и наверное самый глубокий) очень прост: не доверяй игроку. Всегда ожидайте худшего — что игрок будет пытаться вас обмануть.

Авторитарный сервер и наивный клиент

Этот принцип ведет нас к простому, на первый взгляд, решению — вся игровая логика крутится на главном сервере, под вашим контролем, а клиент лишь демонстрирует текущее состояние сервера и отправляет ему команды (нажатия клавиш и т.д.). Обычно это называют авторитарным сервером, потому что он единственный, кто умеет моделировать мир.

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

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

— Я на (10, 10)
А секундой позже:

При этом возможно он «прошел» через стену или двигается быстрее чем ему положено.

А вот правильная парадигма. Сервер знает что игрок находится в позиции (10, 10); клиент говорит: «Я хочу подвинуться на единицу вправо». Сервер обновляет позицию игрока на (11, 10), производя все необходимые проверки, а затем отвечает игроку: «Вы на (11, 10)»:

Что значит мультиплеерная игра

Что значит мультиплеерная игра

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

Разбираемся с сетями

Наивный клиент отлично подходит для медленных пошаговых игр — стратегий или покера. Так же он неплохо сработает при локальном подключении, где информация передается практически мгновенно. Но он абсолютно непригоден для быстрых игр по интернету.

Давайте поговорим о физике. Предположим что вы находитесь в Сан-Франциско и подключаетесь к серверу в Нью-Йорке. Это примерно 4000 километров. Так как ничто не может передвигаться быстрее скорости света, в лучшем случае сигнал дойдет за 13 миллисекунд. Но весьма маловероятно, что у вас будет такая хорошая связь. В реальном мире информация не идет прямым путем, причем не со скоростью света.
Так что давайте предположим, что это занимает 50 мс. И это практически лучший сценарий. А что если вы подключаетесь к серверу в Токио? А что если линия связи перегружена? В таких случаях задержки доходят до половины секунды.

Вернемся к нашему примеру. Пусть клиент отправляет сообщение:

— Я нажал на стрелку вправо.

Сервер получает запрос через 50 мс и сразу отправляет обратно обновленное состояние.

Это сообщение дойдет до пользователя еще через 50 мс.

С точки зрения игрока, он нажал на стрелку, потом 0.1 секунды ничего не происходило, а затем персонаж наконец подвинулся на единицу вправо. Этот лаг между командой и её результатом может показаться незначительным, но он заметен. И уж конечно лаг в полсекунды был бы не просто заметным, а сделал бы игру абсолютно неиграбельной.

Что значит мультиплеерная игра

Резюмируя

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

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

Часть II

Введение

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

Что значит мультиплеерная игра

В интернете, где задержки могут составлять десятые доли секунды, геймплей в лучшем случае будет неотзывчивым, а в худшем — неиграбельным. В этой части мы найдем способы уменьшить эту проблему или избавиться от неё вовсе.

Предсказание на стороне клиента

Несмотря на то что некоторые игроки пытаются читерить, большую часть времени сервер получает корректные запросы. Это означает, что полученный ввод будет корректным и игра обновится так, как ожидается. То есть если персонаж находится на (10, 10) и отправляет команду на движение вправо, он окажется на (11, 10).

Мы можем использовать это если игра достаточно детермениртована (то есть результат определен командами и предыдущим состоянием).

Предположим что у нас лаг 100 мс и время перемещения персонажа составляет 100 мс. При использовании наивной реализации, время действия составит 200 мс.

Что значит мультиплеерная игра

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

Так что вместо того чтобы отправлять команду и ждать пока придет новое игровое состояние чтобы отрендерить его, мы можем отправить команду и начать рендерить результат как если бы команда уже была выполнена. И, разумеется, надо ждать от сервера результата — «настоящего» состояния игры, которое по большей части будет совпадать с локальным состоянием.

Что значит мультиплеерная игра

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

Проблемы синхронизации

В предыдущем примере я аккуратно подобрал числа чтобы все отлично работало. Давайте немного изменим сценарий. Лаг будет составлять 250 мс, а анимация передвижения на одну единицу будет длиться 100 мс. А еще давайте игрок дважды быстро нажмет на стрелку вправо.

При использовании текущего подхода вот что произойдет:

Что значит мультиплеерная игра

Мы столкнулись с интересной проблемой на t = 250 мс, когда нам пришло новое состояние. Клиент предсказал x = 12, но сервер говорит что x = 11. Так как сервер авторитарный, клиент должен передвинуть персонажа обратно на x = 11. Но позже, на t = 350, сервер говорит что x = 12, так что персонаж опять прыгает, но на этот раз вперед.

С точки зрения игрока, он нажал на стрелку вправо дважды, так что персонаж переместился на две единицы вправо, постоял там 50 мс, прыгнул на единицу влево, постоял там 100 мс и прыгнул на единицу вправо. Конечно, это совершенно неприемлимо.

Что значит мультиплеерная игра

Согласование с сервером

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

Но обойти эту проблему не так уж сложно. Давайте будем добавлять к каждому запросу от клиента его номер. А сервер при ответе будет добавлять номер последнего обработанного запроса. И давайте хранить на клиенте копию всех команд, отправляемых на сервер.

Что значит мультиплеерная игра

Итак, на t = 250 клиенту приходит «x = 11, последняя команда #1». Клиент удаляет все команды до #1 включительно, но оставляет копию #2, о которой еще не знает сервер. Он применяет полученное от сервера состояние (x = 11), а затем применяет ввод, который еще не виден серверу. В данном случае #2 «вправо на 1 единицу». Конечный результат x = 12, что соответствует истине.

Далее, на t=350, от сервера приходит новое состояние: «x = 12, последняя команда #2». Клиент удаляет все копии команд до #2 включительно, а затем применяет состояние x=12(ничего не изменилось). Так как более нет необработанных команд, на этом все заканчивается, с корректным результатом.

Что значит мультиплеерная игра

Итоги

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

Но не стоит на самом деле обновлять жизни персонажа, пока сервер не пришлет обновленное состояние.

Из-за сложностей игрового состояния, которое не всегда легко откатить, возможно не стоит убивать персонажа даже если уровень его жизни упал ниже нуля. Что если что другой игрок вылечился прямо перед вашей атакой, но сервер еще об этом не сообщил?

Прим. перев. Я бы убивал персонажа сразу, но обеспечил персистентность(возможность откатывания состояний). Так будет проще писать переносимый код, выполняющийся и на сервере и на клиенте. В любом случае, как вы убедитесь в этом позже, это придется делать.

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

Источник

Что такое мультиплеер и что он означает в играх?

Что значит мультиплеерная игра

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

Так что такое мультиплеер? Сегодня мы решили попробовать дать ответ на этот вопрос и разобраться с тем, что представляют собой многопользовательские игры.

Что такое мультиплеер и история его появления

Данное понятие относится к многопользовательским играм для нескольких человек. Обычно для соединения используется интернет, однако нередко применение локальных сетей и коммутируемых соединений. Первым проектом, созданным для подобных целей, считается «Теннис для двоих», который вышел в далеком 1958 году.

Что значит мультиплеерная игра

С появлением приставок разработчики продолжали экспериментировать, добавляя возможность играть в паре на двух геймпадах. Из года в год стали появляться совершенно уникальные проекты, которые использовали идею многопользовательского прохождения и успешно воплощали ее в реальность. Среди таких игр можно отметить «Снайперов» с его первой реализацией «смертельных матчей», F29 Retaliator с воздушными боями PvP и F1GP, которая стала сетевой гонкой. Чуть позже на свет появились игры серии FPS, которые стали большим прорывом на рынке и положили начало киберспорту.

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

Техническая реализация

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

Что значит мультиплеерная игра

Мультиплеер по сети. Все задействованные компьютеры соединены одной вычислительной сетью.

Правила

Одна «жизнь». Данный режим не подразумевает никакого взаимодействия между игроками, у каждого своя сессия. Управление передается из одних рук в другие, происходит это после «гибели» текущего персонажа.

Личное соревнование. Игроки преследуют свои собственные интересы и иногда сталкиваются друг с другом. Цель — победа над всеми соперниками.

Командное соревновательное прохождение.

«Свободный» режим. В таком мультиплеере игроки могут действовать по своему собственному сценарию. Режим широко используется в ММОРПГ.

Типы мультиплеера на примере трехмерных шутеров

Что значит мультиплеерная игра

Типы мультиплеера на примере стратегий реального времени

Что значит мультиплеерная игра

Надеемся, что вышеизложенная информация смогла помочь нашим читателям разобраться с вопросом о том, что такое мультиплеер в видеоиграх. В следующей части статьи мы рассмотрим несколько мультиплеерных режимов на примере популярной игры «ГТА».

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

Мультиплеер «ГТА: криминальная Россия»

2004 год запомнился в игровой индустрии выходом одной из самых горячо любимых частей серии GTA под названием «Сан Андреас». Проект быстро собрал вокруг себя большую аудиторию поклонников со всего мира, некоторые из которых так вдохновились криминальной атмосферой любимой игры, что стали собственноручно экспериментировать с движком. Как результат, на свет стали появляться многочисленные моды и дополнения, основанные на мире San Andreas. Некоторые из них стали не менее популярны, чем оригинальная игра.

Что значит мультиплеерная игра

Мы решили рассказать подробнее о моде «ГТА: Криминальная Россия» и о мультиплеере, который стал его неотъемлемой частью. Дополнение не просто добавляет много новых возможностей, но и полностью меняет сеттинг. Игроки переносятся в Россию девяностых годов, во время, когда на улицах бушевала криминальная активность. Создатели постарались привнести в свой проект как можно больше русского колорита, поэтому данный мод так горячо любим в странах СНГ. Сам игровой процесс мультиплеера практически не отличался от режима синглплеера. Игрокам давались стандартные задания, которые могли выполняться в компании с другими пользователями.

Как начать играть

Клиент серверов «Криминальной России» носит название «Мультиплеер 0 3 7». Для того чтобы начать играть по сети, достаточно скачать все необходимые файлы с официального сайта распространителя. Там же можно найти и другой клиент, который называется «Мультиплеер 0 3», — это более ранняя версия. Разработчики стараются радовать свою аудиторию чем-то новым, поэтому и выпускают обновленные и улучшенные файлы. Для того чтобы начать играть в самую последнюю версию «Криминальной России», мы рекомендуем скачивать мультиплеер «ГТА 0 3 7».

Сторонние проекты

Мультиплеер в «ГТА» является очень важной составляющей игрового процесса. Поэтому совсем не удивительно, что все больше и больше энтузиастов добавляют в свои моды возможность для многопользовательской игры.

Что значит мультиплеерная игра

Помимо мультиплеера «ГТА: Россия», существует еще несколько популярных серверов. Особого внимания заслуживает Samp Rp, который добавляет еще больше возможностей для командных прохождений. Игровой процесс в мультиплеере «России» не сильно отличается от синглплеера, поэтому, при всей своей неповторимой атмосфере, он может быстро наскучить. Samp Rp, в свою же очередь, помогает воплотить все самые смелые идеи и мечты. Игроки могут посвятить свое время не только заработку средств на одной из понравившихся работ, но и открывать собственные клубы, вступать в банды, записаться на службу в армию и многое другое.

Мультиплеер и мошенничество

Люди, обожающие проводить время в играх с мультиплеером, не раз сталкивались с таким понятием, как читерство. Что же это означает? Мошенничество в видеоиграх может иметь разные проявления и одну общую цель — получить преимущество над другими игроками.

Многие лиги сами устанавливают допустимые изменения в играх, относя все остальные действия к мошенничеству. Что не рекомендуется?

Что значит мультиплеерная игра

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

Источник

Мультиплеер

Многопо́льзовательская игра́ — компьютерная игра, в которую одновременно играют несколько человек.

Содержание

История

Первой многопользовательской игрой считается Tennis for Two (1958). Игра была сделана для аналоговой ЭВМ и выводила игровое поле на осциллографе. Игра Maze War стала и первой реализацией

Уже первые приставки (Pong, Magnavox Odyssey) имели два контроллера, что позволяло играть вдвоём.

Наиболее значимыми сетевыми играми для IBM-совместимых компьютеров были:

Классификация

По технической реализации

Некоторые игры (в основном для игровых приставок) поддерживают сетевую игру, в которой на каждой машине могут играть несколько игроков в режиме splitscreen.

По правилам

По организации связи

По принципу организации связи между компьютерами сетевые игры делятся на:

LAN party

За рубежом проводятся так называемые LAN party. Снимают зал, в нём проводится локальная сеть, и участники приносят туда свои компьютеры. В первую очередь LAN party является ареной для соревнований и местом общения любителей игр.

Другие причины организации LAN party:

Зачастую любители моддинга и разгона компьютеров показывают свои достижения на LAN party.

В бывшем СССР LAN party не распространены из-за низкого уровня жизни (стоимость аренды, трудности транспортировки компьютеров, всеобъемлющее использование доступных нелицезионных копий игр.

Типы многопользовательской игры в 3D-шутерах

Типы многопользовательской игры в стратегиях в реальном времени

Массовые онлайн-игры

Мошенничество в сетевых играх

Мошенничество, или «читерство» (англ. cheat — мошенничество) — беда сетевых компьютерных игр.

Само определение понятия «мошенничество» туманно. Классическое определение мошенничества как «получение нечестного преимущества» не годится, так как остаётся непонятным смысл слова «нечестный». Мошенничеством определённо является применение «наводчиков» (англ. aimbot ), которые стреляют быстро и без промаха. Перенастройка управления мошенничеством, разумеется, не является. Но всё, что находится между ними, является спорным. Даже настройка драйверов может оказаться вне закона (например, убирание тумана ускоряет игру, но увеличивает видимость, поэтому в некоторых играх это расценивается как мошенничество). Поэтому большинство лиг определяют, какие изменения игры разрешены, и все остальное считается мошенничеством.

Некоторые мошеннические программы настолько замаскированы, что даже человек, приставленный к монитору мошенника, может не заметить подвоха. Например, наводчик может активизироваться при одновременном нажатии кнопок «Влево» и «Вправо».

См. также

Полезное

Смотреть что такое «Мультиплеер» в других словарях:

Crysis — Разработчик … Википедия

Call of Duty: Black Ops — Эта статья или раздел нуждается в переработке. Пожалуйста, улучшите статью в соответствии с правилами написания статей … Википедия

Battlefield 2 — Разработчик Digital Illusions CE Издатель Electronic Arts Локализатор … Википедия

Call of Duty: Modern Warfare 2 — Разработчик Infinity Ward … Википедия

Крайзис — Crysis Разработчик Издатели Electronic Arts Steam) Локализатор Софт Клаб Дизайнеры … Википедия

Нанокостюм — Crysis Разработчик Издатели Electronic Arts Steam) Локализатор Софт Клаб Дизайнеры … Википедия

Napoleon: Total War — Обложка игры Разработчик Creative Assembly Издатели … Википедия

Черепашки Мутанты Ниндзя 2: Битва Нексуса — Разработчик Konami Издатель Konami Дата выпуска October 19, 2004 … Википедия

Crysis Warhead — Обложка Crysis Warhead Разработчики Crytek Budapest (будапештский офис) … Википедия

Grand Theft Auto: Liberty City Stories — У этого термина существуют и другие значения, см. Grand Theft Auto (значения). Grand Theft Auto: Liberty City Stories … Википедия

Источник

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

Многопо́льзовательская игра́ — тип компьютерных игр, при котором одновременно играет несколько человек.

Содержание

История

Первой многопользовательской игрой считается Tennis for Two (1958 год). Игра была сделана для аналоговой ЭВМ и выводила игровое поле на осциллографе. Игра Maze War стала и первой реализацией deathmatch’а, и первой сетевой игрой.

Уже первые приставки (Pong, Magnavox Odyssey) имели два контроллера, что позволяло играть вдвоём.

Наиболее значимыми сетевыми играми для IBM-совместимых компьютеров были:

Классификация

По технической реализации

Некоторые игры (в основном для игровых приставок) поддерживают сетевую игру, в которой на каждой машине могут играть несколько игроков в режиме splitscreen.

По правилам

По организации связи

По принципу организации связи между компьютерами сетевые игры делятся на:

LAN party

За рубежом проводятся так называемые LAN party. Снимают зал, в нём проводится локальная сеть, и участники приносят туда свои компьютеры. В первую очередь LAN party является ареной для соревнований и местом общения любителей игр.

Другие причины организации LAN party:

Зачастую любители моддинга и разгона компьютеров показывают свои достижения на LAN party.

Типы многопользовательской игры в 3D-шутерах

Типы многопользовательской игры в стратегиях в реальном времени

Массовые онлайн-игры

Сетевая компьютерная игра, в которой одновременно играют большое количество игроков (в основном, не менее нескольких десятков).

Мошенничество в сетевых играх

Мошенничество, или «читерство» (англ. cheat — мошенничество) — серьёзная проблема сетевых компьютерных игр.

Само определение понятия «мошенничество» туманно. Классическое определение мошенничества как «получение нечестного преимущества» не годится, так как остаётся непонятным смысл слова «нечестный». Мошенничеством определённо является применение «наводчиков» (англ. aimbot ), которые стреляют быстро и без промаха. Перенастройка управления мошенничеством, разумеется, не является. Но всё, что находится между ними, является спорным. Даже настройка драйверов может оказаться вне закона (например, убирание тумана ускоряет игру, но увеличивает видимость, поэтому в некоторых играх это расценивается как мошенничество). Поэтому большинство лиг определяют, какие изменения игры разрешены, и все остальное считается мошенничеством.

Некоторые мошеннические программы настолько хорошо замаскированы, что даже человек, приставленный к монитору мошенника, может не заметить подвоха. Например, программа-наводчик может активизироваться при одновременном нажатии кнопок «Влево» и «Вправо».

Источник

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *