Настройки шрифта

| |

Фон

| | | |

 

Во время разработки я как-то завел с Кевином разговор об одном из новых врагов DOOM II, ревенанте. Это высокий грозный скелет, у которого на каждом плече крепилось по ракетной установке с тепловым наведением. Возникла такая проблема дизайна: что случится, если игрок подойдет к ревенанту слишком близко?

«Будет глупо, если он может навредить себе своими же ракетами, – начал размышлять я, и меня тут же осенило. – Он должен врезать тебе прямо в морду. И чтобы с уморительным звуком». Я уже смеялся, хотя еще просто обдумывал возможности.

Все эти изменения – новые эффекты уровней, новые враги и новые предметы – требовали нового кода и данных для DoomEd, которые я вносил в процессе.

Дизайн и стиль первых десяти карт, сделанных Сэнди и Американом, не давали игроку скучать. Макги оказался прирожденным левел-дизайнером. Играя в первую часть DOOM, он полностью понял суть моего абстрактного стиля. Он уловил, как геймер должен проходить уровень, как дизайнер может вести его за руку и облегчать поиск ключа от следующей двери. Американ научился создавать специальные события вроде падающих на персонажа потолков или внезапного возникновения противников. Как директор я видел, что даже первые версии его уровней оказывались интересными и соответствующими эстетике id. Американ выработал собственный стиль. MAP14 – отличный пример просторной карты с множеством сюрпризов, который при этом неплохо подходит для дезматча, а MAP04 – это идеал небольшой продуманной карты, которая одновременно сложная и эстетически приятная. Мрачный коридор, в котором пользователь щелкает выключателем и видит игру светотени, придает атмосферности. Примечательно, что Американ решил сразу же научить геймеров «прыгать» на MAP02: требовалось забежать в здание через пропасть. В противном случае можно застрять.

Моей первой картой для DOOM II стала MAP11. Я чувствовал себя ребенком в магазине со сладостями. Удивительно, как расширяется пространство для творчества в игре, стоит добавить туда всего пару новых инструментов, эффектов и врагов, не говоря уже о двустволке. Даже если не учитывать новые примочки, год разработки DOOM и понимание абстрактного стиля в левел-дизайне многому меня научили. Я стал гораздо лучше понимать, как работает игровое пространство, как правильно направлять и удивлять геймера. Эта методика изобреталась прямо на ходу – повезло, что понимание пришло само по себе. Если очень коротко, то я рассматриваю уровень не как путь или процесс, а как самостоятельную сущность – главного персонажа в игре. У него есть начало и конец, множество различных проходов; в конце концов это не столько линейный опыт, сколько непрерывный. Игроки понемногу узнают пространство – точно так же, как узнают какого-нибудь человека. Толчком к этому становится решение изучить карту и бросить ей вызов. Иногда мои же уровни удивляют меня самого, демонстрируя возможности, которые я туда не закладывал. Геймеры могут идти как вперед, так и назад, поэтому найти конец уровня – та еще задачка, ведь он может открыть новый способ пройти начало этой карты. Подобное понимание пространства и создало DOOM, на него я опирался при создании продолжения. В частности, MAP11 сильно отличалась от моих прошлых трудов: она даже стала одной из моих любимых карт для дезматча.

MAP11, Circle of Death (другое название – ‘O’ of Destruction), представляла собой окружность, к которой присоединялись четыре основные области. При одиночном прохождении геймеры по порядку переходят из одной области в другую, пока не дойдут до конца. Во время сетевых баталий сразу открыты все зоны и в каждой можно найти полезное усиление или оружие, которыми хочет обзавестись любой участник: из-за этого на карте начинается бойня на выбывание. У тех, кто знает устройство карты, имеется преимущество.

Несмотря на развитие инструментов и методов левел-дизайна, мой фактический рабочий процесс практически не изменился со времен E1M1 для DOOM. Я начинаю с концептуального упражнения – определяю уникальный геймплейный стиль, присущий карте. Где игрок начнет, а где закончит? Это будет улица или помещение? Какими способами можно перемещаться по уровню? Какой у этого уровня характер? На все перечисленные вопросы нужно найти ответ. И я считаю, что на любой вопрос о пространстве ответ подскажет лишь само пространство. Что необычного я хочу сделать? Как я могу заблокировать доступ к следующей области, как интересно его открою? Я начинаю с создания примечательной комнаты. Куда пойти? Чем шире выбор, тем лучше. Вскоре становится ясным и дальнейший путь: тогда я начинаю планировать каждую комнату и события в ней. Затем продумываю, где разместить запертые двери, где оставить ключи, где будут спрятаны секреты. Уровень закончен, и пришло время для новых размышлений. Что будет, когда игроки начнут возвращаться назад по уже исхоженным тропам? Так опыт никогда не станет полностью линейным.

Дальше я размещаю в DoomEd врагов, боеприпасы и аптечки. Если стоит цель добавить что-то новое, то приходится редактировать код DoomEd и самой игры и уже потом запускать редактор. Каким бы незначительным ни казалось изменение, я прохожу уровень заново. Сначала я балансирую игру для сложности Ultra-Violence (UV), чтобы прочувствовать все напряжение[72]. И продолжаю создавать комнату за комнатой, соединяя их, изменяя форму, выпуская врагов, чтобы удивить игрока. Мне хочется сделать каждый новый участок уникальным. В ходе работы характер всей локации может сильно измениться, поэтому приходится возвращаться к более ранним сегментам. Каждый уровень должен иметь уникальное ощущение и идентичность. Я постоянно пересматриваю карты, ищу способ раскрыть их характеры и сделать еще интереснее. К завершению всех трудов уровень будет пройден мной тысячу раз. В итоге игрок видит не столько выверенный дизайн, сколько отражение моего геймплейного опыта. Даже сейчас я работаю над картами по прежней схеме.

Я прохожу их как игрок, а не дизайнер, поэтому пытаюсь нарушать правила. Как дизайнер я использую правила, чтобы застать игрока врасплох. Например, на MAP20 я запер геймера в огромной комнате с Кибердемоном и Пауком-предводителем – они нападут на него, как только заметят. Чтобы выбраться, нужно нажать на кнопку позади паука. А сделать это можно только хитростью: Кибердемон должен задеть Паука взрывом ракеты – тогда враги сцепятся и позабудут о существовании игрока. Теперь получится добраться до кнопки, но это будет страшно, потому что находится она рядом с Кибердемоном! Оказаться там не захочется никому. После открытия двери остается лишь убегать, пока оба демона живы. Я дал этой карте имя Clash of the Titans («Битва Титанов»), но ее официальное название – GOTCHA! («ПОПАЛСЯ!»)

Мне сложно выбрать любимый уровень DOOM II из тех, что я сделал. Думаю, первое место между собой делят The Living End (MAP29) и The Abandoned Mines (MAP26).

MAP29 создает ощущение эпически длинного приключения, конец которого все время на виду, но не сразу понятно, как до него добраться. А на MAP26 я вдоволь побаловался с концепцией вертикальности DOOM II: на уровне довольно много переключателей, перемещающих лифты между этажами на большое расстояние. Это небольшая карта, поэтому она идеально подходит для дуэлей. С большим количеством игроков здесь попросту начнется кровавое побоище в стиле MAP01.

Работая над своими картами, я также тестировал уровни Сэнди и Американа. Общие усилия будто складывались в единое целое. А занимаясь саунд-дизайном DOOM II с Бобби, я считал, что звук поддерживает созданные нами пространства и существ. Если кому-то из нас что-то не нравилось, каждый мог свободно поговорить об этом с коллегой.

– Ты уже проходил седьмую карту? – спросил меня Американ.

Сэнди только закончил разработку Dead Simple (MAP07). Это первый уровень с мини-боссом, так что требовалось обязательно дать сигнал, что впереди поджидает нечто страшное, попутно предоставляя мини-боссу и игроку время и пространство для схватки. Мини-боссом выступал манкубус – огромная туша, вооруженная огнеметами. Он наносил огромный урон, а гигантский запас здоровья позволял ему выдержать большое количество атак.

Я стянул карту с сервера и начал играть.

– Не думаю, что задумка рабочая, – поделился Американ. – Она не соответствует качеству других уровней и уж точно не подойдет для манкубуса.

Я согласился с ним, когда прошел уровень.

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

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

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

В офисе дела шли отлично, чего я не могу сказать про личную жизнь. Если признать честно, я ушел в работу с головой. Да и все мы. Но я не чувствовал себя оказавшемся на каторге. Наоборот, трудиться мне хотелось больше, чем чего-либо еще. Думаю, именно поэтому мы так спелись с Кармаком. Если предоставить Джону выбор из бесконечного числа возможностей, то он захотел бы решать сложные проблемы с помощью кода, а я – использовать этот код, чтобы творить. Так что из офиса я возвращался домой лишь для того, чтобы созидать, писать код и изучать другие игры. Мне никогда не приходило в голову, что это ненормально, ведь меня все устраивало. Игры – это моя работа, мое хобби и моя страсть. Да и Бет вроде как не сильно возражала. Хотя мы познакомились в Softdisk, ее не привлекали компьютеры и игры – в итоге отношения, которые начались как любовный роман, превратились в искусственное сожительство. Она занималась своими делами, а я своими. Моя тетя Фэй, потеряв дом, переехала к нам и быстро подружилась с Бет. Не избежал проблем и мой отец. Он перешел от алкоголя к тяжелым наркотикам, и его поведение стало непредсказуемым.

На тот момент мы завершили разработку примерно наполовину, поэтому начали думать про обложку DOOM II. Кевин предложил кандидатуру Бориса Вальехо, потрясающего художника, прославившегося в фэнтезийном и научно-фантастическом сообществе. Борис оказался для нас дороговат. Мы, конечно, зарабатывали большие суммы, но старались устанавливать разумные бюджеты. Другая известная художница, Джули Белл, запросила сумму поменьше. Она нарисовала иллюстрацию с кибердемоном, атакующим игрока. Мы получили готовую картину – и она была хороша. Работа Джули казалась атмосферной и богатой на детали, но Кибердемон своими рогами скорее напоминал массивного быка, а не демона, в плоть которого внедрена механика. Мы заплатили Джули, но решили подыскать другого художника.

На этот раз Кевин связался с Джеральдом Бромом, фэнтезийным иллюстратором, чьи работы мы знали благодаря Dungeons & Dragons. Именно он в итоге создал культовую обложку DOOM II. Бром нас так сильно впечатлил, что сразу же получил заказ и на обложку для Heretic, которую мы планировали выпустить через несколько месяцев.

Созданный Доном Пунчацом логотип DOOM никто менять не собирался. Да и сложно представить, на что его менять. Однако требовалось присоединить к нему «II». У Кевина возникла идея добавить красиво освещенный объект в высоком разрешении с помощью только начавшего покорять индустрию инструмента. Стив Мейнс из Cygnus Studios имел опыт работы с 3D Studio R4 – предшественницей 3D Studio Max. Поговорив с Кевином, Стив с помощью этой программы создал «II» с подробным текстурированием и освещением. Результат оказался великолепным, поэтому Кевин добавил его на обложку.

Шаг за шагом создание DOOM II подходило к концу. Она собиралась в единую картину подобно торнадо – различные части и детали просто засасывало внутрь. Свидетельствовать завершение разработки удивительно. Нерешенные технические проблемы уже решены, геймплей приятен на любой карте, графика и звуки расставлены по местам, и, если все идет по плану, остается лишь начистить это до блеска. Мы провели множество тестов в одиночной игре и дезматче, при необходимости изменяя уровни. Шон и его ассистент изучили каждую карту, чтобы в будущем отвечать на любые вопросы покупателей. Адриан и Кевин создали необходимую графику. Джей собрал на дискетах все файлы, которые пригодятся для юридических процессов. Безвылазно играя, мы выбили из DOOM II весь дух – лишь бы убедиться в ее непогрешимости. Она просто обязана стать достойной наследницей оригинала.

Одной из последних моих задач в разработке DOOM II было программирование звуковых эффектов для финального босса, Иконы Греха – гигантской зловещей рогатой головы, напоминающей Бафомета. Из частично видимого мозга она выпускала кубы, порождающие демонов. Фактически игрок стрелял по спрайту синего шара, парящему в воздухе и находившемуся за головой. Как раз для этого шара я и делал звуковой эффект. Я запустил последний уровень, ноклипнулся[73] за стену, к которой прикреплен босс, и вдруг произошло что-то странное: на мгновение мне показалось, что я увидел собственное лицо.

Какого черта?

Надо перепроверить.

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

Это баг? Я долго пялился на экран? У меня поехала крыша?

Кажется, нет.

Тогда что за хуйня тут творится?

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

«Охренеть!» – сказал я и громко рассмеялся, когда до меня наконец дошло.

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

Я и есть Икона Греха!

Это слишком круто. Я выстрелил в свою же голову. Мощный залп дроби принес мне окончательную и наверняка мучительную смерть.

Нет уж, последнее слово тут будет не за Кевином и Адрианом. Я добавлю собственную пасхалку.

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

– Мужик, ты не поверишь, что я только что нашел! – начал я.

– Что там?

– Видел же Икону Греха, последнего босса? Так вот, то ли Адриан, то ли Кевин заменил синий спрайт на мою голову, насаженную на кол! Они думали, я не узнаю об этом до выхода игры. Я хочу сделать пасхалку, которая покажет им, что я все знаю.

– И что ты сделаешь? – спросил Бобби.

– Я тут подумал… Сможешь записать, как я говорю: «Чтобы пройти игру, ты должен убить меня, Джона Ромеро»? Потом понизишь тональность и перевернешь задом наперед, чтобы звучало демонически. А я сделаю так, что Икона Греха произнесет эту фразу при первой встрече с игроком.

Бобби кивнул и улыбнулся. Сейчас все сделаем.

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

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

– У-у-у, страшненькая шифровка! – воскликнул повеселевший Американ.

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

DOOM II вышла 30 сентября 1994 года. Силами GT Interactive первый тираж составил ошеломляющие шестьсот тысяч копий. Сиквел продавался так быстро, что крупнейшие розничные продавцы вроде CompUSA и Walmart даже не утруждали себя выставлением игры на полки, потому что это оказалось пустой тратой времени. Когда грузовик привозил гигантский короб с боксами DOOM II, сотрудники просто относили его ко входу в магазин, снимали пленку и давали покупателям возможность обзавестись товаром прямо у входа.

Наши новые партнеры пребывали в восторге. Они запланировали пресс-мероприятие Doomsday после презентации игры 10 октября в Limelight, переоборудованной церкви, которая была одним из самых модных ночных клубов Нью-Йорка. Нас повезли туда из Далласа. На месте я разгуливал в образе полнейшего задрота – надел мерч-футболку с изображением DOOM и надписью Wrote It («Моя работа») на спине. GT ни в чем себе не отказывала и наняла крупную PR-фирму, чтобы привлечь внимание общественности. Техника проецировала голографические изображения созданных нами монстров, а в зале играл саундтрек из игры – разумеется, на первоклассной аудиосистеме. В задней части клуба стояла куча компьютеров: их объединили в сеть и подключили к гигантскому видеоэкрану, чтобы зрители могли смотреть, как погибают лучшие игроки.

Мероприятие вышло зрелищным и весьма сюрреалистичным. Разработка – крайне уединенное занятие. Атмосферная вечеринка в ночном клубе, где собралось множество празднующих релиз нашего шутера людей, оказалась для нас крайне непривычным занятием. Сейчас-то подобные тусовки – обычное дело, особенно если речь идет о блокбастерах. Но в 1994 году о таком едва ли кто слышал.

Этот ивент для прессы казался каким-то диким цирком из различных активностей. Но любые контакты с нами были ограничены и строго контролировались. Десятки приехавших репортеров жаждали расспросить нас о DOOM и DOOM II.

– Игра вышла такой, какой вы ее задумывали?

– Да, иначе бы мы ее не выпустили.

– Чем вы больше всего гордитесь?

– Общим направлением игры. Она ощущается как достойный преемник DOOM.

– Сколько было продано копий DOOM?

– Много.

Где-то в толпе журналистов один парень, услышав наши ответы, начал гундеть – в основном осуждал DOOM и DOOM II за жестокость. Наши игры и правда жестокие, но карикатурно. Вымышленные пушки стреляют вымышленными ракетами в вымышленных цифровых демонов на экране. Такие продукты, разумеется, не предназначались для детей, но мы были уверены, что игры имеют полное право передавать подобный опыт взрослым, как и другие виды медиа. Мы выслушали журналиста, но не согласились с его доводами. Недовольный ответом, он продолжил перебивать нас, так что его просто вывели за зала.

Как мы только ни взаимодействовали с прессой: давали интервью на камеру, оставляли цитаты для статей, позировали для фото к этим самым статьям… В этом столпотворении оказался и Боб Хантли, бизнесмен из Хьюстона, прилетевший в Нью-Йорк только для того, чтобы встретиться с нами и попытаться продать id свой новый продукт.

Джей представил нас друг другу. Посмотрев на Боба, Джей сказал:

– У тебя есть две минуты.

Боб и Ки Кимбрелл, его ведущий инженер, вкратце рассказали мне о DWANGO, что расшифровывалось как Dial-up Wide-Area Network Games Operation.

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

Я кивнул.

Боб продолжал говорить, пытаясь вместить в эти две минуты всю возможную информацию. Затем протянул мне диск:

– Прошу, просто запустите программу. Вы не пожалеете!

Затем меня потащили на другую встречу.

Вернувшись домой, я запустил с диска программу DWANGO.EXE. Пользовательский интерфейс был сделан очень грубо, будто его верстали наждачной бумагой, но программа и правда подключилась к их серверу в Хьюстоне. Оказавшись в сети, я увидел, что вся онлайн-активность транслировалась. Ки, напарник Боба, сидел в лобби сервера, и я решил ему написать.

«Как начать игру?»

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

«За этим будущее», – подумал я тогда. Там всегда было полно желающих запустить матч. И все это происходило до того, как Интернет стал повсеместным, а игры начали поддерживать онлайн по умолчанию. Я вспомнил о времени, проведенном в Юте, о жизни в подвале отца – и ни души вокруг. В тех условиях я бы не мог погонять в дезматч. А ведь где-то есть тысячи компьютерных гиков, жаждущих подключиться и начать веселье.

На следующий день, придя на работу, я отправился в офис Джея:

– Ну что, заценил эту программу DWANGO?

По его взгляду стало ясно, что он в теме.

– Да, я тоже решил посмотреть. – улыбаясь, сказал Джей. – Что думаешь?

– Офигенно, я в восторге! Она, конечно, сыроватая, но миру нужна эта штука. С ней люди всегда смогут сыграть дезматч-другой, даже если у них мало знакомых.

Джей кивнул. Он все понял.

– Я свяжусь с Бобом и начну работу, – сказал я ему. – Мне нужно переписать их клиент, а Ки придется повозиться с сервером, но, думаю, к релизу Heretic все будет готово.

Я задумался, как вклинить эту задачу в мой трудовой график. Пусть разработка DOOM II и завершилась, времени доделывать DWANGO не было. После выхода игры задач всегда много, а мне еще предстояло помочь Heretic выйти в свет.

– Я займусь этим дома. Можешь пока начать обсуждение бизнес-деталей с Бобом, – сказал я. DWANGO должна сильно помочь DOOM и DOOM II, а значит, и id Software.

Джей заключил сделку на 20 % от прибыли DWANGO. Сервис брал чуть меньше девяти долларов в месяц за предоставление услуги коммутируемого доступа и моментально стал хитом. Боб и Ки начали предлагать франчайзинг за тридцать пять тысяч. Даже предоставляя оборудование в виде компьютера, модемов и кабелей, они, скорее всего, получали по тридцать тысяч баксов с каждой сделки. Что важнее, геймеры теперь могли общаться и играть с людьми по всему миру. На мой взгляд, встреча с Бобом и Ки – это лучшее, что дал нам Doomsday. Мне всегда было интересно, почему они решили полететь в Нью-Йорк: от Хьюстона до Мескита можно доехать за четыре часа на машине. Но так или иначе я рад, что ребята до нас добрались.

Первоначальный тираж DOOM II в шестьсот тысяч копий раскупили за первый месяц. DOOM II стала самой продаваемой компьютерной игрой 1994-го. За год продажи перевалили за миллион, в рознице она заработала более тридцати миллионов долларов. В подавляющем большинстве критики приняли сиквел положительно, сойдясь во мнении, что команде удалось улучшить и без того замечательную игру.

К этому времени оставшимся основателям id посчастливилось стать миллионерами, но успех никого из нас в корне не изменил. Я по-прежнему просыпался каждый день с мыслями об играх и новых возможностях. Мне хотелось сохранить наш импульс, использовать наш успех и расширить наше технологическое и игровое превосходство. После выхода DOOM II и с предстоящим релизом Heretic пришло время задуматься о том, что будет дальше.

6. Разлом[74]

На заре становления id Software в декабре 1990 года Том, Кармак, Адриан и я вынашивали концепцию идеальной RPG. Мы черпали вдохновение из приключений в D&D, во время которых наша компашка всегда собиралась вокруг широкого игрового стола Джона с закусками, колой, Dr. Pepper и большим количеством пиццы. В мире наших приключений существовала всемогущая компания, известная как зловещая Банда Серебряной Тени. Ее члены катались верхом на гигантском серебряном драконе: если кто-нибудь видел его тень, то сразу понимал, что, хоть Банда и находится где-то далеко вверху, в то же время она совсем близко. Каждый персонаж – участник Банды был ультимативным проявлением одной из характеристик D&D: от умнейшего существа в мире до силача, способного своей мощью расколоть вселенную пополам. Этого силача звали Квейк. Для нас Квейк стал легендой, единственной в своем роде. Будучи низкоуровневыми персонажами, мы редко пересекались с ним или другими высокоуровневыми персонажами. Тем не менее пару раз нам посчастливилось отправиться с Квейком в захватывающее приключение. Банда Серебряной Тени работала по контракту на «Справедливость», еще более могущественную группу. Для нас Квейк стал не просто персонажем, а чем-то куда большим. Совместные приключения принесли самые яркие моменты за сотни проведенных в подземельях часов. Квейк – воплощенный супергерой в созданном нами мире.

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

Заканчивая в декабре 1990 года первую трилогию о Кине, мы горели идеей дальше сделать Quake, а заодно познакомить растущую армию фанатов с этим персонажем. Quake была обязана стать нашей следующей игрой. Мы даже добавили такой рекламный текст в Commander Keen in Invasion of the Vorticons, первый официальный релиз id Software.

СКОРО ОТ ID SOFTWARE
За трилогией Commander Keen от id Software последует The Fight for Justice – это совершенно новый подход к фэнтези-играм. Наконец-то вы начнете путешествие не как нищий слабак! Вы станете Квейком, самым сильным и опасным человеком на континенте, и сразу же получите Молот Громовержцев, Кольцо Регенерации и межпространственный артефакт. Тут и начинается веселье! Вы сразитесь на стороне «Справедливости», тайной организации, призванной стереть зло с лица земли! RPG еще никогда не были столь захватывающими!


Когда 14 декабря 1990 года вышла первая трилогия Commander Keen, мы отправились на рождественские каникулы воодушевленными этой идеей – она буквально взрывала воображение. Мы представляли Квейка, сражающегося с огромными врагами, этаким ранним подобием героя из God of War. Наши приключения в D&D станут реальностью! Мы только что выпустили наш первый двухмерный сайд-скроллер, что само по себе огромная инновация. Но если измерить расстояние между этим релизом и тем, что мы себе навоображали, оно будет исчисляться в световых годах. На экране требовалось разместить кучу всего, а игрокам – дать невиданную агентность[75], но процессоры все еще были медленными, а имеющиеся технологии не соответствовали нашим задумкам.

Такие моменты я называю «мостом возможностей»; в индустрии это обычная вещь. Как разработчики игр, мы должны заглянуть за горизонт текущих событий и создать возможности, которые другие либо не увидели, либо упустили. К инновациям приводит вопрос «что, если?» и поиск логичных ответов. Однако не всегда возможно преодолеть разрыв между воображением и действительностью – тем, что можно создать при помощи доступных технологий или ресурсов. Делая Dangerous Dave in “Copyright Infringement”, Кармак верил, что сможет преодолеть барьер сайд-скроллинга, и у него вышло. Делая DOOM, я верил, что абстрактный стиль дизайна уровней создаст новые измерения в геймплее и игровом пространстве, и у меня вышло. Мы сошлись во мнении, что в начале 1991 года мы никак не могли преодолеть барьер Quake. Делать игру, отказывая себе хоть в чем-то, не хотелось. Она должна быть сверхмощной, крутой и не имеющей аналогов. Мы отложили этот проект, но не перестали о нем мечтать.

И вот на дворе конец 1994 года. DOOM II уже вышла, вот-вот выйдет Heretic, а предложения по созданию связанных с DOOM продуктов продолжали идти на нас лавиной. В этот момент команда собралась для обсужения следующего оригинального тайтла. Присутствовали все, кто работал над DOOM II: Кармак, Адриан, Кевин, Дэйв, Сэнди, Американ и я. Мы прекрасно знали, зачем собрались; волнение буквально пропитало воздух. Очевидно, что в этой колоде возможностей точно затесался еще один шутер, но решение пока не принято. Заходя в кабинет, каждый понимал: мы создадим что-то новое.

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

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

– Вот это дело! – ответил я. Мы с Кармаком сошлись во мнении, что на движке DOOM II далеко не уедешь, учитывая, что сообщество моддеров его постоянно поддерживало и непрерывно выпускало новый контент. Мы просто обязаны создать что-то новое, да и гоняться за новыми технологиями нам всегда нравилось. Со времен Commander Keen команда считалась авторитетом по части технической начинки, потому что выдающийся дизайн игр от id базировался на этих самых технологиях.

– Это будет классно, – согласился улыбающийся Американ.

– Следующий движок станет полностью трехмерным, с улучшенным градиентным освещением[76]. Игра будет поддерживать мультиплеер с подключением через Интернет с использованием модели клиент-сервер[77], – продолжил Кармак. В тот момент он был нетерпелив и взволнован. Я тоже.

– Круто, мы наконец-то сможем сделать Quake! – воскликнул я.

Достаточно было услышать, что движок станет «полностью трехмерным». Я уже видел открывающийся потенциал улучшения геймплея и дизайна игры. Любые дизайнерские идеи, которые могли прийти мне в голову, стали реализуемы, потому что в полном 3D возможно все. Игроки получат шесть степеней свободы – смогут перемещаться вправо и влево, вперед и назад и, что особенно важно, вверх и вниз. Мы приблизились к переломному моменту в развитии технологий, когда исчезали ограничения прошлого. Большинство игроков DOOM и DOOM II считали, что игра по-настоящему трехмерная, но на самом деле это мастерски продуманная иллюзия. Уровни и правда рендерились в 3D, но все остальное (враги, стены, полы, лестницы и так далее) размещалось на 2D-плоскости. Текстуры проецировались на координаты X и Y так, чтобы создать иллюзию перспективы. Враги становились меньше, если находились вдалеке, а текстуры окружения, соответственно, растягивались. За исключением программистов и художников, многие люди, скорее всего, не заметили этого фокуса, и мы максимально усилили его эффект с помощью лифтов и меняющейся высоты. Но это не 3D. Мы называли такую технологию 2,5D; хотя она потрясающая, дизайн сталкивался с ограничениями. С 3D-движком такого не будет. С полноценной трехмерностью мы сможем размещать одну область непосредственно над другой, по-настоящему менять высоты и позволять всем игровым объектам существовать в трехмерном пространстве. Это нововведение кардинально изменило возможности дизайна уровней, передвижения и геймплея.

Как гейм-дизайнер я выжимал все соки из каждой итерации технологии Кармака. Я изучал способности движка и создавал лучший возможный геймплей. Будучи программистом, я мог найти общий язык с Кармаком и понимать его замыслы, что, как мне кажется, многим оказывалось не под силу. Это позволяло лучше осознавать возможности и потенциал его движка, потому что я понимал и уважал его труды с технической точки зрения. Мы срабатывались, и нам это нравилось. Если перед ним стояла серьезная техническая задача, я не сомневался – он справится. Когда Кармак собирается что-то сделать, это не желание и не возможность. Оно уже сделано.

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

– Quake? – переспросил Американ.

– Да, Quake! – повторил я.

– А это что вообще? – уточнил вслед за Американом Сэнди.

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

– О чем игра-то? – Сэнди не мог унять любопытства.

– Года четыре назад мы хотели сделать проект про крутого парня по имени Квейк, – начал я.

И поведал коллегам историю о приключениях Банды Серебряной Тени, «Справедливости», молоте Квейка и кубе Адских Врат. Они тоже играли в D&D, поэтому все поняли. Как я уже говорил, кому не захочется побыть сверхсильным персонажем вроде Квейка?

Я продолжил:

– Это была RPG, но в принципе можем сделать что угодно. – Когда-то мы представляли, каково будет стать королями всех жанров.

Адриан вспомнил Quake и наши планы на игру в 1991 году.

– Звучит неплохо! – заявил он. Я знал, что его воображение уже вовсю изобретало новые способы напугать игроков до смерти в полном 3D с улучшенным освещением, открывающим перед художником еще больше возможностей.

– Тогда решено! Делаем Quake! – объявил Кармак.

Таким вот образом у нас принимались важные решения по крупным играм: мы делились мыслями, приходили к каким-то соглашениями, и затем наша судьба оказывалась определена на ближайший год или около того. Разумеется, впереди еще много собраний, но общая картина стала ясна. Часть приключения под названием «а куда пойдем?» подошла к концу. Кармак только начинал свои технические разработки, так что пройдет какое-то время, прежде чем вся команда сможет взяться за дело. Как бы я ни был одержим Quake, я решил подождать до января, чтобы изучить возможности дизайна будущей игры. Декабрь у меня выдался тяжелый.

Во-первых, я доделывал клиент DWANGO, чтобы софт попал на один диск с Heretic. Мы с Ки очень много взаимодействовали, чтобы все функции программы работали как задумано: загрузка телефонных номеров сервера DWANGO из основного списка, разрешение подключения к любому серверу DWANGO через модем, аутентификация игрока при входе в систему, обработка забитого общительными геймерами лобби (которые еще и отправляют сообщения в уже начатых играх), запуск дезматчей и обработка кредитных карт. Наши успехи кроме как революционными не назовешь: в доинтернетную эпоху мы создали сервис, позволяющий игрокам набрать номер и просто начать общаться и играть с другими людьми. Раньше для этого приходилось звонить друг другу с помощью домашних телефонов и договариваться о подключении модемов. DWANGO стала мостом между темной эпохой модемов и дивным новым Интернетом; на момент выхода она поддерживала DOOM, DOOM II и Heretic.

Работа над Heretic тоже подходила к концу, поэтому где-то в середине декабря я вылетел в Висконсин, чтобы лично взглянуть на состояние игры и убедиться, что сделано все запланированное. Команда Raven излучала воодушевление и энергию: не заметить это было попросту невозможно. Меня впечатлил показанный билд. Знакомство с NeXTSTEP и средой кроссплатформенной разработки[78] для DOS позитивно влияло на команду. Создание уровней в абстрактном дизайне стало совершенно новым опытом для всех, кто не трудился в id, но ребята усвоили необходимые навыки и сделали все отлично. Что еще? Существует очень много больших и малых задач, которые возникают прямо в процессе. Справившись за год, команда Heretic показала, насколько она опытная и сплоченная. Я организовал эту сделку, руководил разработкой игры, помог ей воплотиться в жизнь и потратил на Heretic много времени. Но это принесло мне удовольствие. Проект точно того стоил – да еще и сумел удовлетворить мою цель по расширению бизнеса id Software.

В процессе работы мне пришлось адаптировать наши программы подключения к локальной сети и модему для Heretic, поскольку они разрабатывались для DOOM и DOOM II. Я также обновил свою программу DM.EXE. Тестируя свой код и игру, я видел в Heretic проект от id Software. Геймплей был замечательным. Я утвердил золотую мастер-копию[79], мы с командой отпраздновали это за ужином, а в скором времени я полетел обратно в Даллас. В 11 часов вечера 23 декабря 1994 года, сидя дома, я загрузил условно-бесплатную версию Heretic в виде HTICV1_0.ZIP. Как и DOOM, Heretic распространялась как условно-бесплатное ПО с возможностью купить у нас коробочную версию. За первый год мы продали полмиллиона копий, превратив пятьсот тысяч долларов инвестиций id в нехилую прибыль. Команда Raven отлично потрудилась.

Затем наступило долгожданное время отдыха. Эти сезоны интенсивной разработки с января по Рождество[80] никогда не были преднамеренными, но последние несколько лет нам казалось, что именно так и должна идти работа. Успех наших игр предоставил возможность раскидываться подарками, словно мы Санта-Клаусы, поэтому я завалил ими всех, особенно Майкла и Стивена, которые обожали LEGO. Я купил новый дом Келли и мальчикам. Они по-прежнему жили в Калифорнии, но мы путешествовали туда и обратно так часто, как только могли. У Бет дела тоже шли хорошо, она взялась за украшение нашего дома. Ее любовь к готовке наполняла воздух ароматом праздников – печеньем, пирожными и блюдами из духовки. А в моей голове гарцевали мысли о начале работы над Quake в новом году.



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

В наши дни, когда программисты начинают собирать технологии для новой игры, первый вопрос обычно звучит так: какой движок мы возьмем? Это не менее важно, чем классическое: «Какую игру мы собираемся делать?» В 1995 году мы не задавали такой вопрос, потому что не существовало готовых движков на выбор. Для наших разработок мы создавали собственные с нуля, и такой подход требовал много опыта и времени. Если для создания Quake требовался высокоскоростной, совместимый с онлайном и серверами, поддерживающий полноценное 3D и наложение текстур движок, то приходилось сделать такую вещь самим. Не существовало движка, который поддерживал бы все наши задумки, а именно это требовалось от технологической стороны Quake.

Первой задачей нашей команды стало изучение дизайна и технических возможностей Quake. Мы с Кармаком сидели в его кабинете, обсуждая детали. Движок и дизайн, два основных столпа id Software, неразрывно связаны друг с другом лентой Мебиуса. Гейм-дизайн диктовал потребности движка, в то время как движок создавал потенциал дизайна игры. Мы с Кармаком всегда старались раздвинуть эти границы как можно шире. Кармак спросит: «Что, если движок сделает это? Как это повлияет на геймплей?» А я ему отвечу: «Если движок будет поддерживать эту фичу, я смогу реализовать вот такой геймплей». Это справедливо и в обратном направлении. Движок может ограничивать дизайн, а особенности дизайна могут замедлять работу движка, и нашей негласной целью стало избежать таких проблем. Наши посиделки всегда сводились к обсуждению. Никто не диктовал другому свою волю.

Я провел уйму часов, размышляя о дизайне Quake: начинал с рождения одноименного персонажа в нашей D&D-кампании, затем вспоминал заброшенную инкарнацию проекта, придуманную после разработки Commander Keen в 1991 году, и заканчивал сегодняшним днем[81]. Какие геймплейные особенности мы хотим сохранить, если они вообще имеются? Что хотим добавить? 3D позволяло создать очень многое, и следовало сосредоточиться только на том, что даст нам лучший геймплей и дизайн для актуального движка. По дороге на встречу, зная о трехмерности движка, я представлял, как перенесу эти функции из нашей идеи для RPG 1991 года.

Главный герой по имени Квейк – всемогущий и крутой.
Средневековый мир, отражающий наши приключения в D&D, которые происходили на открытых пространствах в насыщенной обстановке.
Мощный молот Квейка, который после броска возвращался обратно.
Небольшая внепространственная сущность, куб Адских Врат, который вращается вокруг Квейка и атакует врагов. Также он способен отправиться на разведку местности.
Интеграция серебряного дракона, хотя бы эстетическая.


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

Экшен-ролевая игра с фэнтезийной эстетикой, где характеристики персонажей и забота о них не в приоритете, а может, статы и вовсе отсутствуют.
Продолжение правила дизайна № 8: если уровень можно сделать в DOOM II, значит, он недостаточно хорош для Quake. Дизайн должен быть передовым, как и наш движок. Поворот камеры вверх и вниз должен стать столпом дизайна уровней.
Многопользовательский геймплей, в котором особое внимание уделяется кооперативу или схватке между двумя или более игроками. Модель клиент-сервер позволяет иметь в игре более четырех пользователей, нужно изучить, что мы можем с этим сделать.


Помимо этих функций существовала масса зависимостей между кодом и дизайном, позволяющая копнуть еще глубже. Как руководитель разработки, я хотел предельно четко понимать ключевые особенности движка Кармака, поэтому с нетерпением ждал наших бесед. Для игр вплоть до 1990-х метание между дизайном и кодом воплощало собой вопрос о курице и яйце. В случае с готовым движком, например, актуальным сегодня Unreal Engine, большая часть геймплея или хотя бы его предполагаемая оптимальная часть уже встроены в инструментарий, поэтому команда выбирает лучший вариант для заранее определенной работы с дизайном. Unreal Engine, к примеру, используется во многих шутерах, потому что он изначально создавался для шутеров. Но когда нет технологии, возникает вопрос: что первично – дизайн или движок? В нашем случае сначала появилось только ядро движка (трехмерного с моделью клиент-сервер), а затем благодаря дизайну он стал расти. Мы с Кармаком сформировали совместный процесс, где одна идея перекликалась с другой.

Непросто объяснить всю сложность ситуации людям, которые в то время не занимались разработкой игр, но вот пример: посмотрите на функции последней версии Unreal Engine. Теперь избавьтесь от всех, кроме онлайна и трехмерности. Вот с этого мы начали, при этом понятия не имея, куда двигаться дальше. Каждая задумка, которую мы обсуждали с Кармаком, обтачивалась другими, чтобы проверить, смогут ли они работать вместе. Движок все еще оставался просто идеей трехмерного пространства. В нем не существовало даже таких базовых вещей, как физика и движение. Оружия и врагов тоже не было. Заложенные в дизайн функции влияли на код, и наоборот. По сути, мы одновременно создавали мир и то, что в этом мире можно делать, путем различных компромиссов. Целью этого совместного партнерства было одно: код должен помогать создавать дизайн ровно настолько, насколько дизайн – игровые возможности.

Сидя в кабинете Кармака, мы оба хотели поскорее начать изучение возможностей Quake. Мы все еще использовали NeXTSTEP для разработки, а для скорости взяли язык C, а не C++ (Objective-C использовался только для созданных мной инструментов). Что касается графики, то мы заимели новую рабочую станцию Silicon Graphics Indigo, которую планировалось использовать для 3D-моделирования. Разумеется, разработка игр изменчива. Я понимал: ничего из того, что мы здесь обсуждаем, не выбито в камне. Но я надеялся уйти с этой встречи с пониманием базового дизайна движка. Знание, как Кармак его спроектирует, позволит дизайнерам сделать более продвинутую игру.

– Итак, я хочу сделать движок на новой сетевой модели, в которой клиент подключается к серверу, – начал Кармак. – Несколько клиентов Quake смогут подключиться к серверу Quake для синглплеера, дезматча или ко-опа. В синглплеере сервер и клиент будут работать на одном PC. Пользователь может создать многопользовательскую игру на своем PC, и другие PC смогут к ней подключиться.

Самое крутое в модели клиент-сервер то, что пользователи не будут ограничены скоростью сети других игроков Quake, подключенных к тому же серверу. В DOOM всем участникам мультиплеера приходилось разделять скорость геймера с самым медленным соединением, потому что требовалась идеальная синхронизация. В Quake это ограничение исчезло[82]. Люди обязательно это оценят. В то время технология клиент-сервер считалась новой. Единственным нашим опытом работы с сетевыми моделями в играх в то время была DOOM и ее P2P. В экшенах клиент-сервер еще не использовал никто: в основном ее применяли в медленных, преимущественно текстовых играх.

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

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

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

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

– Я тут придумал сцену, где игрок стоит на вершине холма и смотрит вниз на какого-нибудь врага, которого хочет уничтожить, – поделился я. – Тут к нему сзади подкрадывается еще один игрок и – БАМ! – бьет его молотом по башке. И вот тот уже летит вниз с холма, а весь его обзор вращается вокруг своей оси, как было бы в реальной жизни.

Во время этих пояснений я размахивал руками как дирижер.

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

Мы буквально могли ощутить этот опыт, хотя пока речь шла лишь о его потенциале. Ни одна другая игра и рядом не лежала. DOOM, Heretic и Rise of the Triad были в 2,5D. Даже находившиеся в разработке проекты вроде Duke Nukem 3D не могли составить нам конкуренцию.

Ultima Underworld – пример настоящего 3D с шестью степенями свободы, но при этом с шестью степенями медлительности. Это не та динамичная RPG, которую мы себе представляли. У нас по-прежнему вызывала недоумение Myst, продолжавшая лидировать в чартах вместе с DOOM и DOOM II. Мы не понимали, что привлекательного в пустом и медленно раскрывающемся игровом мире. Понятно, что геймерам нравятся истории, но нам хотелось делать игры, которые позволяют писать собственные сюжеты об удивительных битвах или победах в дезматчах. Потенциал Quake был невероятен – даже если смотреть на него издалека.

Кармак рассказывал подробности о проводимых им исследованиях и проделанной работе. Все его слова о новом коде в моем сознании превращались в опыт потенциального игрока.

– Я так рад, что мы переходим к настоящему 3D, – сказал я. – Никаких больше спрайтов.

– Надеюсь, спрайты останутся только в пользовательском интерфейсе. Мир будет текстурированным, и уровней освещения станет в два раза больше, чем в DOOM. Освещение будет зависеть от того, где мы разместим источники света и насколько яркими их сделаем.

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

– Ты вообще можешь себе представить, как из этой темноты выходит Барон Ада?

Тогда мы еще не придумали врагов для Quake, поэтому я говорил про существо из DOOM. Меня никогда еще так не поражал потенциал игры.

– Раз мы заговорили о врагах, что ты будешь делать с видеобуфером? Мы по-прежнему используем 8-битный цвет или переходим на 16 бит? – спросил я.

Разрядность видеобуфера (8 или 16 бит) определяла количество цветов, с которыми мне приходилось работать. При 16-битном цвете в моем распоряжении оказывалось 65 536 цветов. А при 8-битном – всего 256. Ответ Кармака определял, буду ли я создавать красочных существ или лепить монстров из грязи. Кроме того, при 16-битном цветовом режиме команда получит доступ к плавным градиентным теням.

Код рендерера писал Кармак – и у него было ощущение, что 16 бит окажется многовато для тогдашних видеокарт.

– Начнем с VGA, потому что размер данных составляет один, а не два байта на пиксель, – пояснял Джон. – Я хочу, чтобы частота кадров превысила 30 кадров в секунду и подбиралась к отметке в 60 кадров.

Звучало разумно – отрисовка вдвое большего объема данных занимала в два раза больше времени и снижала частоту кадров. Приближение к 60 кадрам в секунду крайне важно для плавного движения. Будущие 3D-видеокарты смогут обрабатывать 16-битный цвет при высокой частоте кадров, но тогда мы к этому еще не пришли. Однако я не огорчился. Просто хотел знать, с чем придется работать.

– Учитывая тени, мы сможем использовать меньше цветов. Сколько ты сделаешь уровней яркости?

Это нужно для определения количества оттенков в моей палитре. Например, если у каждого цвета будет четыре уровня яркости, то я получу 64 цвета для работы, ведь нужно учитывать, что в общей сложности оттенков 256 (64 цвета, помноженные на 4 градиентных уровня). Но я понимал, что для получения желаемого эффекта потребуется больше градиента.

– Да, цветов станет меньше, – сказал Кармак. – В моих планах шестнадцать уровней яркости для каждого цвета, так что в 256-цветной палитре VGA будет максимум шестнадцать цветов.

– Хм, ну, раз Quake – Cредневековая игра, ограничение цветовой палитры может быть уместным. Много грязи и каменных цветов. И красный, конечно, – засмеялся я.

– Средневековье идеально подойдет к этой палитре, – согласился Джон.

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

– Не забывай про куб Адских Врат. Он себе на уме! – рассмеялся Кармак.

– Ага. Может, нужно уничтожать врагов, чтобы он пожирал их тела? Если морить его голодом, он может расстроиться и покинуть героя на какое-то время. – Я погружался все сильнее. – Если куб доволен, он может высасывать души из врагов. А если тебя окружили, можно провести атаку по области – ну, хорошенько жахнуть молотом по земле. Мы сможем в такой момент заставить камеру дрожать?

– Вполне. Учитывая, как я планирую настроить геймплейный код, должно быть легко. Я собираюсь написать простой C-подобный язык программирования, чтобы дизайнеры и программисты могли создавать нужные им вещи и сразу же видеть их в деле. Сервер просто загрузит файлы и быстро их обработает.

С ума сойти. Кармак отделял движок от игрового процесса. Тем, кто не связан с индустрией, это тяжело понять, поэтому я объясню проще. Представьте, что движок – это автомобильный двигатель. Он работает по определенным правилам и превращает горючее в энергию. Геймплей возникает в том случае, если игрок нажимает на газ или тормоз, переключает передачи или устанавливает закись азота, чтобы увеличить подачу топлива. Все эти вещи влияют на движок, но он должен быть сконструирован так, чтобы реагировать на подобные команды. Гейм-дизайнер программирует «нажать на газ», а Кармак программирует движок, чтобы он реагировал на команду «нажать на газ». Такова, по крайней мере, основная идея. Движок позволяет ходить по игровому миру. Геймплей же случится, когда геймер заденет определенный триггер и тем самым откроет тайник с монстрами, а они начнут швырять ему в спину огненные шары.

Для дизайнеров отделение геймплея от движка означало, что мы получим возможность вносить изменения в геймплей, не компилируя без необходимости весь движок. Прежде на это требовались минуты, сейчас – секунды. Теперь и моддеры смогут писать код для внесения изменений в игру. Им не понадобятся инструменты Objective-C, которые использовались при создании проекта, или доступ к исходникам Quake. Наши прошлые игры требовали компиляции каждый раз, как появлялся новый билд. Процесс занимал минуту-две – вроде не так много, но эффект стремительно суммируется, когда операция повторяется по несколько десятков раз в день. Плюс прежний процесс негативно влиял на работу с дизайном.

– Отличная идея, – сказал я. – Скорость разработки однозначно возрастет.

На мгновение я задумался, как все это будет выглядеть.

– А вот, к примеру. Поскольку бои в игре будут в основном ближними, как насчет того, чтобы дать Квейку дистанционную атаку? Во времена D&D-посиделок он мог метать молот во врагов, и это было офигенно!

– Да, новый язык сможет это реализовать, – ответил Кармак. – Я назову его QuakeC. С ним можно сделать дрожание камеры, атаки молотом, искусственный интеллект противника и все остальное, что нам потребуется в рамках геймплея.

Мало разбирающемуся в таких вещах человеку может показаться, что отделение кода геймплея от движка позволило бы разрабатывать оба направления независимо друг от друга. Однако геймплейный код QuakeC мог делать только то, что разрешалось движком, поэтому недоработанный инструмент ограничивал функциональность. Чуть забегу вперед, но, когда QuakeC только создавался, мы не могли добавлять в игру врагов: код движка еще не умел обрабатывать перемещение ИИ-персонажей и отрисовывать 3D-модели. Позже, когда поддержка этих функций была внедрена, в QuakeC внеслись соответствующие изменения. Со временем функциональность QuakeC увеличилась, и мы контролировали все, что движок мог сделать с кодом. Если кратко – геймплейный код нельзя написать, пока движок находится в разработке или пока он по крайней мере не стал стабильным. Его можно было улучшать постепенно, но тогда мы бы не поняли, как все это заработает вместе, что крайне важно для гейм-дизайна и геймплея.

Движок DOOM создавался два с половиной месяца. C Quake, разумеется, стало куда сложнее, но мы не думали, что разработка инструментария займет вечность. Это ожидание было необходимо. Параллельно команда занималась другими вещами. Дизайнеры уровней могли экспериментировать с QuakeC, но с большой вероятностью все эти наработки потеряют смысл при любом крупном обновлении или оптимизации движка[83].

Далее требовалось выбрать определенный центральный процессор, чтобы оценивать производительность на протяжении всего цикла создания. Обеспечение плавного геймплея на таком процессоре будет гарантировать качественный релиз. С помощью программирования на языке ассемблера последние процессоры Pentium с частотой 75 МГц в 1995 году стали достаточно быстрыми, чтобы угнаться за игрой нашей мечты, и они становились только быстрее. По крайней мере, мы были уверены, что проект больше не находится в пространстве невозможного. Кроме того, теперь в нашем распоряжении оказалось в два раза больше памяти, чем во времена DOOM, поэтому какую-то ее часть можно было потратить на оптимизацию скорости, чтобы достичь желанных 60 кадров в секунду, а еще часть – на сложную работу с трехмерными уровнями. Обладая таким ресурсом, нам удалось избавиться от жестоких ограничений былых времен. До DOOM компьютерные игры использовали только 640 килобайт памяти[84], что отражалось на их объеме. В восьмидесятые на 8-битных компьютерах максимальный объем памяти составлял 64 килобайта – это в десять раз меньше, чем в 1991 году. Конечно, во время работы над Quake мы сталкивались с ограничениями вроде лимита памяти в 8 мегабайт[85], но по большому счету id могла делать более проработанные и красочные игры.

Я понимал, что с переходом на трехмерный движок придется попрощаться с моим давним редактором DoomEd. Его заменит QuakeEd – инструмент, позволяющий дизайнерам создавать уровни и подключать размещаемые объекты к коду QuakeC для обеспечения функциональности. То есть позволит добавлять врагов, факелы и двери, обеспечит подбор предметов, использование телепортов и всего остального, что понадобится по ходу дела. Редактор требовал написания кода с нуля – на новом 3D-движке иначе было нельзя.

– Я не смогу написать QuakeEd, пока ты не доберешься до клиентской части и не начнешь определять данные игрового мира, – объяснил я.

– Верно. Я создам скелет проекта и добавлю туда код для 3D-рендерера, когда у меня появится время. Сперва я закончу с основами построения мира, потом разберусь с данными. А там уже и ты сможешь подключиться к процессу.

Как только Кармак разложил биты по полочкам, я приступил к написанию QuakeEd. Мне нравилось все, что мы обсудили, – от 3D до QuakeC. Мы приблизительно поняли, чего хотим. В новом году нужно было создать все инструменты и технологии, необходимые для движка, способного построить полноценный трехмерный мир. Даже в наши дни шутеры от первого лица выжимают все соки из компьютеров. Самостоятельно написать движок, сделать инструменты для его поддержки, а затем выжать технологический максимум из дизайна – буквально подвиг Геракла. Трижды мы уже справлялись с такой задачей, но эта была самой сложной. Мы прикинули, что работа над ней окажется примерно в десять раз труднее, чем над движком DOOM. Такая оценка позволила понять, сколько времени займет процесс. Мы осваивали новую территорию.

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

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

Такой релиз назревал давно. Мы заключили договор с GT Interactive о продаже первой части в магазинах. Я хотел добавить новый эпизод Thy Flesh Consumed, чтобы придать переизданию ценности и привлечь игроков, которые уже познакомились с условно-бесплатной или полной версией.

– Уверен, в рознице мы охватим еще больше людей, – сказал я Кармаку. – Американ и Шон тоже впишутся в проект вместе с парочкой других дизайнеров уровней. Пока что я называю игру DOOM SE, сокращенно от Special Edition. Я подготовлю кодовую базу версии 1.9, а затем мы выпустим патч, который бесплатно обновит ранее приобретенную копию DOOM.

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

– А, еще кое-что. Поскольку Heretic вышла, я поручил Raven работу над сиквелом. Пока пусть называется Heretic 2, потом придумаем крутое название.

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

Исследуйте темные закоулки зловещего трехмерного Средневековья, которое кишит дьявольскими и чертовски адскими демонами.
Вступайте в рукопашные схватки и сносите головы противников взмахами разрушительного молота Квейка.
Отрывайте врагам головы и подносите их к жертвенному алтарю, чтобы становиться еще мощнее.
Новые реакции на повреждения – удар по затылку может привести к падению лицом вперед и кувырку в ближайшую пещеру.
Соберите целую коллекцию метательного оружия и кидайтесь им во врагов еще до того, как они окажутся рядом.
Используйте молот для новой сокрушительной атаки по площади.
Убивайте врагов и усиляйте свой куб Адских Врат – он питается их душами.
Следите за тем, куда смотрите, – если враги поймают ваш взгляд, они могут пойти за вами.


Я хотел приступить к работе над QuakeEd сразу после того, как Джон разберется со структурой данных. Еще сильнее хотелось заняться самой игрой. Кармак принялся за основы 3D-движка Quake, остальная команда взялась за DOOM SE, а мы с Raven Software приступили к работе над Heretic 2. Кармак принял необъятный программистский челлендж: с нуля возвести движок, на котором затем будет создано нечто, чего не доводилось делать ни ему, ни кому-либо еще. И я знал, что на всей земле не найдется такого дела, которым он хотел бы заняться сильнее.

7. Дрожь

Чем серьезней становилась разработка Quake, тем чаще мы стали видеться в кабинете для совещаний. Иногда Кармак просто собирал нас, чтобы с трепетом поделиться каким-то своим открытием или сообщить, как продвигается его работа со структурами данных. Иногда мы обсуждали уровни для DOOM SE с Американом, Шоном и Сэнди, попутно интересуясь прогрессом внештатников. Я взял на себя создание карты E4M6: Against Thee Wickedly, где игрок начинает в горах, но быстро оказывается у входа в зеленый подземный замок.

Джей Уилбур то и дело бегал по встречам, сообщая о каждой открывающейся благодаря нашему успеху возможности: потенциальные экранизации, книги и руководства, техническое лицензирование, сотрудничество с Logitech для создания нового контроллера, прогнозы квартального дохода и так далее. Частью этих бизнес-инициатив занимался я, но только в двух случаях: если они требовали определенных знаний в области технологий или дизайна либо если незанятого персонала для помощи Джею просто не было. Для решения важных вопросов требовалось единогласное решение учредителей, а Кармак не хотел нанимать лишних людей для не связанных напрямую с разработкой Quake задач. Как писал Крис Ломбарди в июльском номере журнала Computer Gaming World за 1994 год: «Когда я вошел в скромный офис id Software и увидел, как демократически – хотя порой и анархически – эти десять человек управляли всеми процессами, а затем узнал, насколько успешными оказались их игры с условно-бесплатным маркетинговым подходом, я не мог отделаться от ощущения, что вернулся в дикие и неотесанные времена золотой лихорадки компьютерных игр».

Ну, такой подход работал, так что чинить его мы не собирались.

Несложно увидеть здесь зерно истины: нужно преодолеть это ограничение, чтобы позволить компании расти и снизить давление на команду, а достигнутым успехом и созданной интеллектуальной собственностью стоит распорядиться мудро. Так вышло, что мы действовали консервативно, и в id Software разработкой игр не занимались только Донна и Джей. Я обладал техническими, дизайнерскими и деловыми навыками – все они были полезны, так что пользовался я всеми. Мы двигались со скоростью света, стараясь оставаться в авангарде индустрии, и в тот момент нам не требовались деньги или рост. Связанные с программным обеспечением сделки вроде разработки Heretic или DOOM SE приносили большую прибыль относительно затрат и расширяли влияние двух наших столпов – дизайна и технологий. Эти инвестиции считались достойными моего потраченного времени, и данное решение приняла вся команда. А можно ли было назвать таковыми предложения по созданию официальных футболок и книг или интеграцию чужих технологий или оборудования в нашу производственную среду? В меньшей степени.

Вдохновленный моим сотрудничеством с Raven, Кармак заключил аналогичную сделку с Cygnus Studios – командой разработчиков из Иллинойса, которая сделала Galactix в 1992 году. Кармак настолько сильно впечатлился их программистом Скоттом Хостом, что предложил нам еще одну команду для создания игры на движке DOOM. Поскольку у Raven дела шли отлично, мы проголосовали за то, чтобы заключить новую сделку и разместить ребят в офисе на нашем этаже. Поскольку инициатором был Джон, мы думали, что именно он возьмется следить за качеством продукта и направлять команду – как я делал это с Raven. В то время Cygnus заканчивала игру для Apogee, и, учитывая наше близкое расположение к Apogee, их релокация в Мескит казалась вполне логичной. Джей организовал переезд и подготовил пустой офис с новыми столами, лампами и всем остальным, что было нужно для работы. Через неделю они увидели новый офис, который здорово их впечатлил, и с радостью начали трудиться.



В начале января в стенах компании Microsoft в Редмонде, штат Вашингтон, происходило что-то важное, о чем мы тогда не знали. Все силы были брошены на решение технической проблемы, которая возникла в рождественские каникулы. Дисковый релиз The Lion King по мотивам мультфильма «Король Лев» для Windows 3.1, основанный на программном интерфейсе WinG («G» от слова «Графика») и вышедший в декабре 1994 года, работал со сбоями на новых компьютерах Compaq, которые поступили в продажу на праздниках. «Король Лев» – один из самых популярных мультфильмов «Дисней», поэтому вокруг игры и, в частности, Windows как дружелюбной игровой операционной системы выстроилась целая маркетинговая кампания. Корпорации вроде SEGA и Nintendo претендовали на львиную долю бизнеса в индустрии, поэтому Microsoft тоже захотела принять участие. Предустановленная на компьютерах Compaq The Lion King вылетала на всех до единой машинах, что вызвало немалое удивление: она все-таки должна была показать преимущества WinG над MS-DOS. Провал оказался настолько громким, что журнал PC World поместил игру на шестое место в рейтинге «25 худших технических продуктов всех времен», заявив, что «не так много продуктов обвинили в том, что они убили Рождество для тысяч детей, но именно это случилось с первой CD-игрой для Windows от Disney».

Позже выяснилось, что Compaq в одностороннем порядке изменила свое аппаратное обеспечение, не предупредив об этом команду WinG. Из-за этого многие начали выражать сомнения, что Windows станет будущим PC-гейминга, и начали рассматривать возможность вернуться к разработке для MS-DOS. Никто не хотел, чтобы их игры обвиняли в убийстве Рождества.

DOOM II на базе MS-DOS отлично работала без каких-либо сбоев, демонстрируя самые передовые графику и скорость, какие только мог позволить PC, и доказала, что компьютеры могут конкурировать с консолями. Джейсон Робар, евангелист игровых технологий Microsoft, показал DOOM II Алексу Сент-Джону, руководителю группы Microsoft по мультимедийной стратегии. Алекс увидел производительность DOOM II и заметил, на какой скорости она обращается к аппаратным средствам системы – гораздо быстрее, чем позволяла программам все еще находящаяся в разработке Windows 95. Это событие стало важным катализатором для смены направления.

Алекс и Джейсон хотели привлечь разработчиков игр к поддержке запуска Windows 95, чтобы доказать: PC способен конкурировать на рынке с консолями от Nintendo, Sony и SEGA. Они знали, что выход DOOM II на Windows 95 станет ключом к тому, чтобы вернуть разработчиков. Для плавного функционирования DOOM II использовала в MS-DOS мгновенный доступ к аппаратному обеспечению в реальном времени.

Алекс, Крейг Эйслер и Эрик Энгстром решили, что Microsoft необходимо создать комплект разработчика программного обеспечения (SDK), который позволит Windows 95 обеспечить столь быстрый доступ к играм. Алекс трудился с Крисом Хеккером над WinG SDK для быстрого доступа к графике, но DOOM II использовала все аппаратное обеспечение компьютера, а не только видеокарту. Возможности WinG оказались слишком ограниченны. Новые API должны были решить все трудности, с которыми разработчики сталкивались при создании игр для Windows 95, будь то звук, музыка, многопользовательские соединения или устройства ввода, например, джойстики.

Алекс, Крейг и Эрик отказались от подхода WinG и создали небольшую skunkworks-группу[86] для создания SDK, осуществлявшего «прямой» аппаратный доступ к нескольким компонентам в реальном времени. Итог этой разработки навсегда изменит игровую индустрию для PC – и DOOM II послужила импульсом для ее начала. Проект получил название DirectX[87] – это расширение для Windows, позволяющее всем программистам делать для этой ОС такие же требовательные к ресурсам игры, как DOOM II.



К середине января работа Кармака над новым движком продвинулась настолько, что он мог рендерить тестовый уровень, хотя под этим «уровнем» следует понимать небольшую коробку. Но все же очень впечатляющую коробку, ведь она была трехмерной. С ее помощью Джон сумел создать структуры данных Quake и поэкспериментировать с тем, как это 3D-пространство может храниться в памяти компьютера.

Поскольку редактора у нас еще не было, Американ поставил на паузу свою работу над DOOM SE, чтобы помогать Кармаку по мере необходимости ручным вводом данных уровней в текстовые файлы – занятие очень утомительное, но необходимое для изучения архитектуры движка. В итоге Джон смог создать рудиментарный фреймворк для QuakeEd, который интегрировал базовый блок для создания уровней – текстурированный трехмерный прямоугольник, получивший от Кармака название «браш»[88]. Создав такой инструмент, Джон передал работу над QuakeEd мне.

Я начал продумывать и программировать элементы пользовательского интерфейса, чтобы повысить качество взаимодействия с QuakeEd. Даже если наши программы не попадали на рынок, мы считали, что качество и удобство использования инструментов влияют на конечный результат. Если кто-то будет испытывать трудности с убогими инструментами, особенно при обучении 3D-моделированию, вряд ли этот человек будет настроен на создание шедевра. Наша команда всегда работала напрямую и с инструментами, и с игровой начинкой. Никто в id Software не вел проектную документацию ни для одного из наших двадцати четырех тайтлов, за исключением DOOM, дизайн-документ которой в работе не использовался. Таковым считалась сама игра, и никто не был против. Я не считал чем-то сложным запоминание деталей ее дизайна.

QuakeEd был крайне важен для дизайнеров, потому что с его помощью можно изучать 3D-дизайн уровней. Американ теперь сможет сделать больше прототипных уровней для Кармака, продолжающего развивать архитектуру движка. Обычно над созданием прототипов я трудился рука об руку с Кармаком, но в тот раз ему помогал Американ, пока я программировал QuakeEd, руководил разработкой The Ultimate DOOM (новое название DOOM SE) и Heretic 2, а также взаимодействовал с прессой и принимал маркетинговые решения касательно Heretic и DOOM II.

Неофициальным девизом id Software можно считать выражение «Мы – ветер». Мне казалось, что оно прекрасно описывало и мою повседневную деятельность, когда я то занимался одним проектом, то тут же перескакивал на другой, чтобы ни один из них не простаивал. Иногда работал с одной игрой утром, со второй – днем, а с третьей – ночью. Невозможно описать, как быстро все происходило. Не было и дня, чтобы про нас не написали в новостях, чтобы не поступили десятки звонков от СМИ и потенциальных партнеров или чтобы с нами не поздоровались случайно оказавшиеся рядом фанаты. На парковке, в холле, в продуктовом магазине – где угодно.

Обновив QuakeEd с учетом актуальных наработок Кармака, в конце марта я принялся за The Ultimate DOOM с целью закончить четвертый эпизод Thy Flesh Consumed. Мы с Американом и Шоном взяли на себя по два уровня каждый. Кевин нарисовал новую текстуру оранжевого неба, новую карту эпизода (демонстрируемую перед началом уровня) и новый экран титров. Четвертый эпизод задумывался более жестким, чем первые три. Я закончил уровень E4M6: Against Thee Wickedly, который делал в свободное время. На нем было приятно и сложно играть с пистолетным стартом[89], а еще он достаточно большой. Затем я решил сесть за E4M2, который хотелось сделать непростым, но более компактным, чтобы тот органично вписывался в эпизод: ему предшествовал E4M1 от Американа – до идеального крохотная карта, учитывая, что она была первой в эпизоде. Возможно, находясь в режиме мультизадачности, я хотел проверить, насколько быстро смогу создать что-то с высокой планкой качества.

Я приготовился заняться этим вечером пятницы без малейшего понятия, сколько времени у меня уйдет. Важнее всего было то, что это веселый и сложный профессиональный вызов. Я подготовил домашнюю станцию NeXTSTEP и компьютер. В то время я постоянно переслушивал только что вышедший альбом Above от группы Mad Season. Создание каждого уровня начиналась с того, что я откидывался на спинку стула, задумывался и пытался вообразить пространство карты.

Прежде всего мне нужно визуализировать путь игрока через весь уровень. Поначалу в моих планах всего несколько первых комнат, но поскольку E4M2 планировался небольшим, а я пытался сделать все быстро, то пусть со стартовой позиции будет видна значительная часть игрового пространства. Следом я решил, что выход тоже будет виден с самого начала. В дополнение к обозримой территории я добавил две боковые области, имевшие важнейшее значение в прохождении карты. Также я добавил несколько блокирующих колонн, для поднятия которых игроку потребуется найти ключи – их я разместил в боковых областях. В этот момент я представил ощущения и геймплей в получившемся пространстве, продумывая путь через уровень, и по крайней мере начало казалось отличным. Я взял мышь и быстро создал черновик с границами карты, а затем сделал ее играбельной, чтобы погрузиться в уровень, прочувствовать его и начать творить. Я решил, что геймер будет находиться на приподнятой платформе внутри лавовой пещеры, а враги и предметы – спрятаны в лаве внизу. Конечную область я сделал сильно выше; к ней теперь вело подобие лестницы, через которую нужно перепрыгнуть, чтобы продолжить подъем к выходу. Там путь игрока заблокирует колонна, которую можно опустить с помощью найденного ключа.

Одно из самых важных решений – опредить, как уровень начнется. Поскольку пространство открытое, многие враги увидят игрока в самом начале. Я разместил двух стоящих к нему спиной сержантов с дробовиками. Противники вдалеке заметят геймера и начнут швыряться в него огненными шарами, поэтому имело смысл спрятаться за сержантами, чтобы те получили урон и начали перестрелку. Эта тактика прекрасно работала и вознаграждала предприимчивых игроков.

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

Создание этого уровня в сжатые сроки свелось к представлению маршрута в голове и быстрому построению геометрии. Закончив с ней, я мог начать размещать врагов и предметы, а затем полировать результат до тех пор, пока карту не получится пройти на Ultra-Violence (предпоследняя сложность) с пистолетным стартом. Я всегда первым делом балансирую уровни под эту сложность, а затем постепенно уменьшаю давление на игрока для сложностей попроще и увеличиваю для Nightmare. Заканчивая работу, я добавил три секрета. Треть потраченного времени пришлась на прохождение, чтобы я мог хорошо прочувствовать уровень, а затем отполировать баланс, пока он не стал мне нравиться целиком. Я проверил выравнивание текстур и любые другие потенциальные технические сбои – и в итоге финализировал E4M2 в 6 утра. На всю работу ушло шесть часов. Это рекорд по спидмаппингу[90] для любого официально опубликованного уровня для любой части DOOM.

Когда уровни были закончены, я перепроходил их – нужно убедиться, что они сбалансированы относительно друг друга, а сложность нарастает постепенно. Затем мы давали им официальные имена. Иногда они возникали во время разработки, но не в случае с четвертым эпизодом – видимо, слишком уж бурным на события был тот период времени. Вместо этого Кевин собрал список интересных библейских цитат, и мы составили имена из понравившихся нам отрывков. E4M2 назывался Perfect Hatred – в его основу легла цитата «I hate them all with perfect hatred; I count them as my enemies»[91] (Псалтирь 138:22). Разработка The Ultimate DOOM завершилась в конце марта, а силами GT Interactive уже в апреле игра попала на прилавки. Я занимался всем программированием, обновлением движка до версии 1.9 и управлял созданием проекта вплоть до выхода «на золото».



К тому времени начали поступать роялти за DOOM II, нашу первую часть в серии DOOM, продаваемую в рознице. Не у всех имелся модем, поэтому наличие игры в магазине было огромным бонусом. Люди из GT говорили, что DOOM II продается «очень хорошо», но было трудно понять значение этой фразы, пока мы не получили первый чек с авторскими отчислениями.

В тот день я поехал с Кевином и Адрианом в банк, где был счет нашей компании. Я положил чек в вакуумную трубку, и на лице кассира возникло недоумение, когда она увидела количество нулей. Этим парням еще и тридцати лет не стукнуло, а они уже приехали на ярко-желтом Chevy Blazer 1977 года с чеком на три миллиона долларов. Кто они такие? Дамочка вручила мне квитанцию, и всю обратную дорогу мы с ребятами смеялись. Не вспомню ни один подобный момент, который мы восприняли обыденно. Большинство из нас выросли в небогатых семьях, поэтому даже просто увидеть такой чек было приятно, но при этом невероятно странно. Тем, кто привык жить сдержанно и скромно, не очень ясно, что делать с таким количеством денег. В моем детстве бывали даже эпизоды бездомной жизни, а став взрослым, я обанкротился. Мы сделали то же, что и всегда, – оставили деньги на банковском счете.

Тем временем команда Raven успешно работала над продолжением Heretic. Первая часть отлично продавалась, и мы знали, что продадим еще больше копий, когда вместе с GT Interactive выпустим игру в рознице. Мы не сомневались, что инвестиции окупятся. При разработке новой Heretic я поставил перед собой несколько целей, первой из которых стало добавление трех играбельных персонажей: духовного клерика, здоровяка-бойца и колдующего мага. Это решение подтолкнуло проект чуть дальше в направлении RPG. Персонажи имели уникальные способности и особое оружие, которое можно было собирать на протяжении всей игры. Другая моя цель заключалась в разработке системы хаб-уровня. Я представил центральный уровень, соединенный с несколькими другими, где игрока ждут сражения и головоломки. По их завершении можно вернуться в хаб и увидеть, что открылись новые ворота и появились новые неизведанные области.

Бен Гоки и Крис Райнхарт, программисты Heretic 2, настолько наловчились работать с движком DOOM и Heretic, что расширили его возможности и добавили способ открывания дверей, как в реальной жизни, а не как в DOOM, где двери могли открываться только наверх. Провернуть такое непросто, поэтому парни меня удивили. Они обуздали движок и заставили его делать то, что изначально не задумывалось. Я надеялся, что они закончат с игрой до конца года.

В марте 1995 года мы с Кармаком провели очередную встречу, касающуюся развития Quake. Как и следовало ожидать, в техническом плане работа по-прежнему шла очень тяжело. Ранее за такой промежуток времени удалось сделать движок DOOM целиком, но Quake оказалась куда сложнее. Наша встреча была посвящена конкретной проблеме: Кармак искал способ создать в мире свет, чтобы затем все попавшие под него текстуры отображались правильно. Благодаря градиентному освещению одна текстура может становиться светлее или темнее в зависимости от того, где находился источник света, подобно тому, как свет в углу комнаты озаряет стены.

Технически говоря, он искал способ сделать быстрый метод отображения текстур, чтобы каждый полигон (фигуры, из которых стоит каждый браш, персонаж, оружие и другие детали на экране) идеально выглядел под любым углом. Это называется наложением текстур с коррекцией перспективы, а для расчетов требуется программирование блока вычислений с плавающей точкой. Создание идеальных полигонов – это только половина проблемы. Другая половина заключалась в том, чтобы заполняющие экран компьютера точки работали с частотой 60 кадров в секунду, тем самым обеспечивая плавное движение игры. В наши дни с таким справится карта с 3D-ускорителем, но в 1995 году не существовало графических процессоров, доступных простым потребителям. Мы вырисовывали каждый пиксель на экране вручную, используя собственные вычисления, чтобы определить необходимое изображение на местоположении пикселя исходя из того, на что смотрит игрок. Наш экран поддерживал разрешение 320×200, т. е. 64 000 пикселей. При 60 кадрах в секунду нам нужно отрисовывать 64 000 пикселей шестьдесят раз в секунду, что суммарно составляет 3,84 миллиона пикселей в секунду, – и все это без какой-либо помощи от графического оборудования. Кроме того, требовалось оставить достаточно мощности процессора на другие вычисления: выбор полигонов для отображения, принятие ввода команд от игрока, перемещение игроков в мире, обработка всех движущихся объектов, включая вражеский ИИ, воспроизведение звука и музыки, перемещение сетевых данных в компьютер и из него. Перед нами стояла грандиозная задача.

Мы обсудили, как запрограммировать текстуры с коррекцией перспективы на языке ассемблера. Написание кода на ассемблере позволило использовать процессор с оптимальной эффективностью, превышающей возможности компилятора языка C[92]. Затем нужно было оптимизировать полученный код для увеличения скорости. Это очень продвинутое программирование. С появлением 3D-ускорителей трехмерные анимации и графика в играх стали восприниматься как само собой разумеющееся, но все гораздо сложнее. Определение и отображение на плоском экране реалистично выглядящего объекта – это необычайно трудная задача. Работа становится еще сложнее, когда нужно сделать так, чтобы реалистичные персонажи могли перемещаться вокруг этого объекта, воздействовать на него, взаимодействовать с ним или даже двигать его, а при каждом движении отбрасывалась тень, менялось освещение и окружающие текстуры. Провернуть все это без видимых задержек на экране, когда вы добавляете возможность многопользовательской игры, где у каждого подключившегося к сети свои проблемы с доставкой данных? Если задуматься, это нечто выдающееся. Мы в id Software привыкли решать такие технические и дизайнерские задачи, а также избегать связанных с ними рисков. Это необходимо, если мы хотели и дальше оставаться впереди всей индустрии.

Во время одной из наших встреч Кармак сказал, что пригласил Майкла Абраша поработать над движком – он переписывался с ним уже несколько месяцев. Я был только за. Когда-то Абраш написал книгу, которая помогла Кармаку совершить прорыв в области сайд-скроллинга, плюс он много лет вел колонку по программированию в Dr. Dobb’s Journal. Учитывая сложность всего, что связано с 3D, вполне логично было привлечь к команде еще одного программиста-джедая, ведь до этого Кармак корпел над движком в одиночку. Так что он отправился в Редмонд, штат Вашингтон, где Майкл трудился в Microsoft. Во время ужина Джон сказал ему, что работа в команде над Quake станет первым шагом к метавселенной, описанной в получившем массу наград киберпанковом романе Нила Стивенсона «Лавина». Кармак утверждал, что в Quake появятся независимо бродящие в трехмерном пространстве управляемые персонажи, и это можно интерпретировать как один из шагов, необходимых для создания метавселенной или виртуального мира. Заинтересованный Майкл согласился на это предложение. Абраш поговорил с Джеем и стал миноритарным владельцем id спустя несколько месяцев.

Американ продолжал работать с Кармаком в качестве технического дизайнера уровней. У нас все еще не имелось настоящих уровней, как и геймплея, но Кармаку требовался помощник для создания тестовых локаций. По большей части Магки собирал одну коробку за другой, но каждая из этих коробок тестировала или помогала улучшить движок. Дело помаленьку двигалось. Кармаку удалось добавить в игровой мир двухмерный спрайт золотого шара, олицетворяющего игрока. Это было невероятно! Мы впервые увидели в нашей трехмерной вселенной что-то движущееся.

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

Учитывая прошлый опыт, наверное, каждый из нас думал, что через месяц или два мы приступим к созданию базового геймплея Quake. В случае с Wolfenstein 3D и DOOM Кармак сделал движки пригодными для работы за несколько недель, но на сей раз счет пошел на месяцы. Этот движок представлял собой огромный технологический скачок. Мы не только поднимем планку для 3D, в наши задачи также входило объединение игроков друг с другом через Интернет. Сеть всегда онлайн, поэтому люди смогут подключаться к серверам Quake и играть в любое время. Мы представляли себе геймеров, собирающихся в команды, чтобы сразиться с другими командами, как это происходит в футболе. Мы видели, что благодаря Интернету уже совсем скоро игры изменятся, и Quake станет поддерживать его одной из первых.

Чтобы сосредоточиться на очень важном для проекта сетевом коде, мы нашли отличного сетевого программиста. Он трудился в компании Novell, специализирующейся на программном обеспечении для файловых серверов, работающих с большим количеством одновременно подключенных пользователей. Его звали Джон Кэш. Перед тем как Кэш присоединился к команде, Кармак искал способ запрограммировать движок на использование сетевого потока данных – этим термином описывается, как сеть и движок пересылают информацию туда и обратно. Кармак написал код, который выглядел так, будто сетевые драйверы работали и передавали данные, но в симуляции, где движок разговаривал сам с собой. Задача Джона Кэша состояла в замене симуляции реальным сетевым кодом. Он должен был проложить сетевой «водопровод», то есть сделать программное обеспечение, которое соединит движок с драйверами сетевых устройств и доставит пакеты данных в Quake и из Quake. Кэш планировал присоединиться к нам в апреле, примерно в то же время, что и Абраш. Мы надеялись, что наем таких опытных программистов снимет нагрузку с Кармака и позволит ему быстрее закончить работу.

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

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

С выходом DOOM II id приняла множество решений, чтобы воспользоваться преимуществами наших технологий и удовлетворить огромный фанатский спрос. GT Interactive продавала все, что мы им давали, а фанаты лишь просили добавки. Казалось, что на каждом углу нас поджидала еще одна идея, которая принесет деньги. Разработка Heretic 2 шла гладко, и вот-вот должен был состояться релиз The Ultimate DOOM. Я был ее продюсером и директором, а также запрограммировал QuakeEd и программу установки The Ultimate DOOM. Кевин оформил коробку The Ultimate DOOM и помогал маркетологам GT Interactive сделать привлекательную для геймеров рекламную кампанию. Тем временем на Джея упала тысяча и одна задача, он просто не успевал сделать все и сразу. Если кто-то хотел поговорить с id о коммерческом партнерстве, первым делом этим людям отвечал Джей. Поток электронных писем и телефонных звонков никогда не прекращался. Казалось, еще чуть-чуть, и нас затопит, но команде было не привыкать много работать.

Кармак не единственный, кто рос как специалист. Каждый осваивал новые технологии, переходя от Средневековья к раннему Новому времени в области графики и гейм-дизайна. С начала существования id Software каждый элемент в наших играх был двухмерным. Даже в DOOM II враги были двухмерными. Преодолеть трехмерный барьер оказалось очень сложно, и почти весь 1995 год наша команда занималась исследованиями и разработками. Нам предстояло многое изучить – от новых программных инструментов до новых измерений (буквально) взаимодействия с игроками, чего никто из нас раньше не делал.

Кевин осваивал новую технологию для создания 3D-моделей – они должны были стать совместимыми с движком. Он отказался от помощи Грегора Пунчаца, чьи модели использовались в DOOM, и начал делать их сам в цифровом виде на нашей новой рабочей станции Silicon Graphics Indigo, используя установленную на ней программу Alias Wavefront. Кевин собирался самостоятельно обучиться тому, ради чего куча людей четыре года ходит в колледж. Он хотел создавать 3D-модели в Wavefront, а затем с помощью Deluxe Paint II рисовать для них текстуры. Наложение текстур на 3D-модели было новым рубежом. Поскольку текстуры будут наложены на трехмерные объекты, им придется соответствовать моделям, как рубашка подходит по размеру человеку[93]. Этот процесс называется «скиннинг».

Трехмерного персонажа можно вращать и детально рассмотреть с любого ракурса. Делать анимации трехмерных персонажей куда проще, потому что не нужно перерисовывать всего героя, чтобы показать его бегущим, – достаточно просто изменить значения того, где в определенное время должны быть ноги. Игра сама мягко перемещала ногу из точки А в точку Б – и вот персонаж уже бежит, а не стоит. Это работало куда более плавно, чем наш предыдущий процесс рисования отдельных спрайтов для каждого движения.

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

Адриан тем временем рисовал текстуры для первых уровней в Cредневековом сеттинге с соответствующей архитектурой, но также перед ним стояла другая важная задача: определение цветовой палитры Quake. Из всего многообразия Адриану пришлось выбрать лишь шестнадцать цветов. У каждого из них будет шестнадцать различных градиентных оттенков, потому что каждый цвет будет переходить от полностью темного к полностью освещенному. Не самая тривиальная задача, которая потребовала множества проб и ошибок.

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

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

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

Несмотря на то что многое пришлось постигать с нуля, прогресс не мог не радовать. Это напоминало ранние этапы разработки наших прошлых тайтлов, ведь трудились мы над базовыми вещами – новыми инструментами и технологиями, а также продумывали общее видение игры. Мы знали, что нужно правильно заложить правильный фундамент, чтобы геймплейный код, представляющий собой буквально «мясо игры», мог использовать преимущества новых технологий. Это было тяжело и в новинку, но я постоянно повторяю эти слова не только для того, чтобы подчеркнуть наше превосходство в индустрии тех лет: гонка за таким превосходством постоянно создавала новые сложности по мере прогресса. Они возникали постоянно – с кодом, графикой, дизайном. И даже несмотря на это мы замечательно проводили время. Изучать что-то новое и создавать что-то новое, быть впереди остальных – именно этого мы и хотели. Наши финансы это позволяли, особенно учитывая доход от побочных продуктов. В офисе только и было слышно, как мы реагируем на очередные открытия.

«Это просто охуенно».

«Ты только взгляни на это».

«Охренеть, да они глазам своим не поверят, когда увидят».

«Какая разница, что это спрайт. Этот спрайт двигается в трехмерном пространстве».

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



Эд Дилле работал над печатным руководством по прохождению DOOM II. Чтобы подстегнуть продажи, мы решили включить туда мое интервью о Quake, которое могло разжечь в людях интерес к покупке. В диалоге мы затронули процесс разработки, который я описывал так:

ДР: [Он] совершенно свободный. У нас нет даже дизайн-спецификаций проекта. Мы просто собираемся вместе и задаемся вопросом: «Какую игру мы хотим сделать?» Технологии и творческое видение для следующего тайтла у нас уже есть, так что мы понимаем, как дать огромную фору только что выпущенной нами игре. Затем мы продумываем сеттинг и стиль графики так, чтобы она раскрывала потенциал наших технологий. Потом мы думаем: «Тема игры у нас такая-то». И тогда художники начинают рисовать то, что им кажется крутым. Потом они создают монстров, а мы – уровни. Ну и конечно, я приступаю к проработке инструментов для создания мира и всего такого. Подытоживая, мы создаем кое-какие вещи и используем их, чтобы усиляться. Технологии мы каждый раз переписываем с нуля…


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

ДР: …к тому времени мы узнаем очень многое о технологии и принципах работы движка. Так что для игры мы сделаем кучу всего, а затем, вполне возможно, выбросим большую часть где-то на полпути. Вот таким способом мы учимся создавать крутые игры. У нас нет графика, где сказано: «К третьему месяцу мы должны закончить первые три уровня». С таким подходом уровни будут готовы вовремя, но через год к моменту завершения продукта окажется, что эти первые три уровня – полный отстой. И тогда их придется оставить в итоговой версии, потому что они уже занесены в отчет. Мы так не делаем. Мы попросту не выпустим игру, пока она не станет крутой. Первый уровень DOOM мы переделали за две недели до релиза, потому что его предыдущая версия была стремной. Вот такой у нас подход к дизайну. Мы не придерживаемся строгой документации, ее у нас нет. Есть только то, что круто.


А потом речь зашла о дизайне. В начале 1995 года он только начал обретать предварительную форму и полностью подчинялся развитию технологий – то же можно было сказать и про наш процесс дизайна. Я хотел подчеркнуть достижения движка Кармака и объяснить, что игра будет сделана в полноценном 3D-окружении. Хотел, чтобы исследование игрового мира было таким же интересным, как и сражения, – в будущем такого эффекта достигли потрясающие тайтлы World of Warcraft и Elden Ring. Хотел заменить готовый саундтрек на звуки эмбиента. Я рассказывал, как мы построим мрачный жуткий лес, напоминающий о наших приключениях в Dungeons & Dragons, и представим игрокам новую механику, которую обсуждали внутри студии, – триггер с помощью взгляда.

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


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

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


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

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

Тем временем наша команда левел-дизайнеров тоже перешла к периоду ранней разработки, и каждый из нас сосредоточился на создании уровней в своем любимом стиле. Прямо как Кевину, которому пришлось изучить 3D-моделирование со всеми вытекающими последствиями, нам предстояло освоить построение уровней в 3D. До этого мы лишь экспериментировали с трехмерным пространством. Я рассчитывал, что мы начнем с создания играбельных уровней в свойственных каждому стилях. Когда новые технологии начнут работать стабильно, а движок позволит конструировать геймплей, мы уже свободно освоим настоящее мастерство левел-дизайна в 3D – и поймем, как сделать потрясающий игровой опыт[94]. Чтобы связать уровни разнородных стилей воедино, казалась необходимой центральная зона в стиле Heretic 2. Но и это не было до конца ясным, поскольку технологическая основа игры еще не была готова. Пока же всем левел-дизайнерам, включая меня, следовало приступить к проработке собственного стиля и пониманию возможностей трехмерного окружения.

Будучи дизайнером уровней, я увидел в 3D-пространстве настоящий кладезь творческих возможностей. Помню обсуждение Heretic с Беном Гоки из Raven: он придумал, как «смотреть в игре вверх и вниз», расширяя вертикальный угол обзора. На самом деле это была фальшивка, а не настоящая возможность осматриваться по вертикали, но со своей задачей она справлялась. В Quake смотреть вверх и вниз мы могли по-настоящему, и это потрясало. У нас еще не имелось возможности контролировать вертикальный взгляд мышкой – и это оказалось сложной для решения задачей, – но была доступна медленная прокрутка экрана вниз и вверх с помощью кнопок клавиатуры. Было здорово увидеть это новое измерение в игре, а не только в собственном воорбражении. Еще пара свежих ощущений – двигаться вперед, упираясь взглядом в пол или потолок. Я уже представлял себе, как использовать эти новые возможности: скажем, заставить игрока оглянуться вниз, выпустив потоки лавы, и в тот же момент обрушить на него сверху нового врага. Я знал, что проблему управления мы со временем решим. Поначалу было важно иметь кнопку, центрирующую обзор из любого положения, так что Кармак ее добавил. Взгляд вверх и вниз я установил на кнопки PgUp и PgDn, поскольку использовал для перемещения стрелочки.



Наши игры по-прежнему разлетались как горячие пирожки, но мы решили не менять систему распределения зарплат. Всегда полезно держать руку на пульсе будущих расходов компании в долгосрочной перспективе. Мы знали, что средств нам хватит как минимум на работу в течение нескольких лет, даже если прибыль с продаж мгновенно иссякнет. Что же касается сверхприбылей, то основатели компании, включая меня, любили побаловать как себя любимых, так и подчиненных. Периодически впятером с Кармаком, Адрианом, Джеем и Кевином мы решали, какие бонусы получат сотрудники компании. Каждый месяц на счета id поступали внушительные средства, так что на жирные чеки мы не скупились. Квартальный бонус каждому сотруднику порой достигал пятидесяти тысяч долларов.

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

Мы с Бет по-прежнему жили в маленьком арендованном доме в городе Плейно. Задумавшись о покупке более масштабного жилища, что в то время делали и другие сотрудники id, мы присматриваться к недвижимости в близлежащих районах. Когда мы с Бет начали встречаться, она знала обо мне все, что хотела знать, и я в каком-то смысле знал ее столь же хорошо. Она понимала, что я люблю игры и программирование и это для меня не только работа, но хобби и страсть. А теперь, когда я стал участником взрывного стартапа, она осознавала, что на поддержку нашего бизнеса требуется внушительный объем времени. Вместе мы обычно проводили время с моими мальчиками – Майклом и Стивеном. В остальном же наши интересы были крайне разными. Игры ее не интересовали, так что она вечно занималась чем-то своим. Однако поиск нового дома объединил нас, и мы часто обсуждали, где хотим жить и что обязательно должно быть в нашем доме и районе.

Со временем Бет устала от поисков дома, и я решил двигаться дальше самостоятельно. В марте я разузнал о новом строящемся районе под названием Stonebriar к северу от Плейно в городе Фриско. Пустой участок с видом на два поля для гольфа показался мне идеальным местом для постройки дома. Я нашел подходящего архитектора и поработал с ним над дизайном будущей постройки – это была моя первая попытка задизайнить что-то в реальном мире. Но готовиться к переезду было пока рано.



К апрелю Кевин создал ряд примитивных 3D-моделей, а Кармак добился их отображения в движке. Возможность увидеть, как ты бегаешь по экрану в виде трехмерной фигуры, а не спрайта золотого шарика, стала большим прорывом для отвечающей за технологии команды. Адриан работал в удаленном режиме над разными текстурами, и каждый левел-дизайнер получил соответствующий его стилю уровней набор. Один из таких наборов напоминал интерьер здания с шахматным полом, каменными стенами и стеклянными окнами – эти текстуры приглянулись Сэнди. Мне нравился набор синих и черных текстур с трещинами, и я решил, что смогу построить на их основе несколько достойных замков. Американ использовал свежий набор, стилизованный под культуру ацтеков: его Адриан только-только успел закончить.