Выражаясь технически (для технически несведущих игроков), мультиплеер устроен так. Вам нужно минимум две системы. Современному мультиплееру свойственно скорее три, одной из которых будет выделенный сервер, существующий исключительно для размещения чьей-либо игры. Но в качестве сервера можно использовать компьютер одного из игроков: он будет хостить игру, а другой игрок (или игроки) присоединится к нему, после чего машина первого станет «хостом» общей игры. Концептуальная модель такова: соединяются минимум два компьютера, на которых запущена игра (ее обычно называют «клиентом»), а где-то в этой же сети есть сервер, который игрой управляет. Клиенты отправляют серверу локальную игровую информацию (какие нажимаются кнопки и проводятся вычисления, или – если вам так угодно, хотя это и не совсем точно – где находится аватар, в каком он состоянии и что делает), а сервер отправляет эту информацию всем клиентам для корректировки всего того, что показывается другим игрокам. То есть все получают постоянно обновляемую картинку общего игрового мира, и, опять же, все отправляют локальную информацию, которая может повлиять на остальных. Когда игрок А попадает в поле зрения игрока Б, через сервер происходит передача его XYZ-координат программному обеспечению игрока Б, которое отображает аватар игрока А на компьютере игрока Б. Когда игрок Б запускает в ответ целую пачку ракет, их траектория вычисляется на локальном уровне и отправляется на сервер, который просчитывает, попал ли игрок Б в цель, и передает эту информацию на компьютер игрока А. Клочки летят по закоулочкам.
Исходя из предыдущего описания, можно понять, что существует ряд ключевых технических принципов, необходимых для работы мультиплеера. Главный из них таков: нужно минимум две машины и стабильное сетевое соединение. Не будет этого – не будет игры. Во-вторых, у соединения должна быть достойная скорость, причем она должна быть примерно равной. Если сеть игрока Б медленнее сети игрока А, то игрок А сможет быстрее реагировать на информацию, приходящую с сервера. То есть игрок Б будет пытаться реагировать на серверные события, которые, по сути, уже были пережиты игроком А. Такой дисбаланс задержки может повергнуть в ступор. Аналогичный дисбаланс может создать разница скоростей обработки и рендеринга со стороны компьютера каждого из игроков. Если видеокарта машины игрока А слабее и тратит больше времени на обработку серверной информации, то на реакцию у игрока А будет уходить больше времени. Это оказывало определенный эффект на шутеры, выходившие до эпохи широкополосного интернета. Хардкорные игроки сознательно ставили низкие аудио- и видеонастройки, тем самым убирая ненужный рендеринг и выигрывая пару миллисекунд. Во многом жертва красотой ради скорости породила одну из главных тенденций видеоигрового развития, и благодарить за это нужно именно DOOM. В игровом мире основной причиной, по которой интернету было необходимо срочно ускориться, стал именно мультиплеер.
Обсуждая «смертельный бой», Ромеро прежде всего сосредоточен на психологии. Он говорит о «психологических способах обставить других игроков, вычисляя их манеру игры. Ни в какой другой игре дуэли еще не были столь сложными и продвинутыми». Ромеро подчеркивает, что суть «смертельного боя» была не только в демонстрации аркадных навыков (а именно «умелом проворстве», за счет которого работает основная часть однопользовательской DOOM), а еще и в более сложной способности предсказывать поступки других, выстраивать игровую стратегию и подстраиваться под ситуацию на лету. Эта особенность существенно расширила концепцию игрового процесса. По словам Ромеро, «можно сойти с ума от глубины психологизма, существующего (о чем никто, к слову, даже не думал) даже в такой простой игре, как DOOM». Он признает, что из-за этого увеличивается количество ключевых навыков, необходимых для игры на уровне эксперта:
«Прежде в „смертельном бою“ не было случаев, требовавших понимания психологии или стратегии, нужных для определения шаблонов поведения противника. Все это пригождалось, чтобы заставить врага проиграть или выдать следующий шаг».
Он не сомневается в том, что «DOOM по-настоящему поняла психологию „смертельного боя“».
Давайте притормозим и обдумаем эту мысль. Что именно понимается под психологией «смертельного боя»? Вероятно, стоит выразиться несколько иначе и признать, что «смертельные бои» более сложны в психологическом плане – однопользовательские игры могут лишь стремиться к подобному. У этого есть две первопричины: первая – врожденная сложность человека как биологического вида, а также его природные (и сложные) поведенческие реакции на соревнование и кооперирование. Вторая же – в заметной степени проистекающая из первой – это эмерджентность мультиплеерного геймплея. Термин «эмерджентность» в игроведении и геймдизайне имеет собственный смысл. Вкратце его можно выразить так: даже при простом наборе правил в любой игре могут появиться по-настоящему сложные формы – в частности (но не обязательно) после добавления человеческого фактора. В своей книге Rules of Play: Game Design Fundamentals («Правила игры: основы игрового дизайна») Кэти Сален и Эрик Циммерман крайне четко и емко объясняют, что «сложные возможности – это следствия простого набора правил» и что «в играх эмерджентность проявляется вследствие взаимодействия формальной игровой системы и действий игроков». Иными словами, эмерджентность – это создание сложных, зачастую случайных событий, которые сложно предсказать или ожидать от базового и зачастую простого набора правил. Это внутренняя особенность игровых систем, которая заметно усиливается при появлении человеческого фактора. Все потому, что люди – это сами по себе от природы крайне сложные и эмерджентные системы.
На контрасте с этим игровой искусственный интеллект изначально менее эмерджентен (хотя вполне может являться таковым). Это не всегда вина со стороны ИИ – скорее обязательное требование для удовольствия от геймплея. Выражаясь иначе, суть – и проблема – ИИ в том, что он способен делать то, чего не может игрок-человек, и об этом всегда нужно помнить. Например, ИИ может бросить в вас гранату с расстояния в шесть километров, и для этого вам даже не обязательно быть в его поле зрения: просто компьютер вычисляет быстрее человека. Мы все понимаем, как сильно это может злить – я смотрю на тебя, «S.T.A.L.K.E.R.: Чистое небо». Поэтому зачастую главной сложностью для разработчиков ИИ становится балансировка: ИИ должен быть достаточно умным, чтобы находить путь к игроку, а также достаточно глупым, чтобы игрок мог его обхитрить. Подобным же образом мы требуем сложной предсказуемости в однопользовательской игре, потому что игроку нравится вычислять паттерн поведения врага, чтобы в дальнейшем его обманывать. Для дизайнеров все сводится к балансировке. ИИ DOOM был сравнительно прост – по сути, это была переделка двухмерного ИИ, основанного на тайлах и изначально созданного для Catacomb 3-D. Некоторые игроки, однако, склонны видеть в нем какие-то сложные системы поведения и утонченные мотивы. Но реальность, по мнению Джона Кармака, прозаична:
«Всегда интересно слушать, как люди наделяют врагов человеческими качествами или приписывают им некие чувства, описывая, как противники подкрались к игрокам или скооперировались. Ничего подобного, разумеется, не было. Был очень, очень простой и грубый ИИ. Враги в DOOM – это не более чем цели, идущие тебе навстречу. Конечно, если хочется, им можно приписать некоторые чувства».