Полная версия
Икона DOOM. Жизнь от первого лица. Автобиография
– Чувак, ты гений! – сказал я.
Эта идея понравилась моему внутреннему фрилансеру, а то, что он выучил PC за неделю, впечатлило всех присутствующих.
Я рассказал ему о нашей идее Gamer’s Edge – так мы теперь называли PCRcade[21]. Я хотел выпускать лучшие компьютерные игры – круче всего имеющегося на рынке. Я потратил год на изучение PC и теперь вместе с еще одним топовым программистом наконец мог исполнить свое предназначение: делать самые увлекательные, веселые и красивые игры.
Игры, которые понравились бы мне самому.
Джей говорил, что Кармак – одинокий волк, но мне так вообще не показалось. Мы с ним сосуществовали в идеальной гармонии. Энергичный и виртуозный программист, Кармак пригодился бы любой команде. Позже он рассказывал, что именно мое глубокое понимание PC и навыки графического дизайна убедили его к нам присоединиться. Я знал вещи, которых не знал он, и его страсть к разработке игр возобладала.
Он принял наше предложение, чему я безумно обрадовался. Еще сильнее я разгорячился, увидев его в деле. Кармак мог кодить и учиться часами. Как и я, он не пил, не курил и не принимал наркотики, но, в отличие от меня, не имел ни семьи, ни даже девушки. Он жил один и мог позволить себе проводить каждую минуту за компьютером, чем и занимался, программируя без устали и прерываясь только на сон и на очередной поход к нашему офисному холодильнику за колой. Пытаясь узнать о PC как можно больше, он работал круглые сутки.
Невероятное ощущение – видеть рядом с собой еще одного такого же программиста-ультрамарафонца. Мы втроем настроились на серьезную работу: вдобавок к компьютерам Intel 386, которые предоставил Большой Эл, мы поставили в офис холодильник, микроволновку и консоль NES (Nintendo Entertainment System). Мы любили метал и врубали любимые песни. Мы не видели белого света – только код, книги и журналы, откуда мы загружали всю новую информацию сразу в мозг. Мы с Кармаком делились техниками, которые узнали до встречи друг с другом – не потому, что нас кто-то заставлял, а потому, что сами этого хотели. Если вы когда-нибудь засиживались допоздна за игрой, сериалом или книгой, то можете представить, какой эффект на нас оказывал код. Новые знания становились наградой сами по себе.
Я сам писал быстро, но сообща дело шло намного быстрее. Кармак понимал и запоминал информацию о системах, паттернах программирования, алгоритмах и языках не хуже меня. Я никогда прежде не работал с равным себе, и он никогда прежде не работал с равным ему. Невероятное ощущение. Учителя называли меня одаренным ребенком, и, наверное, не без причин. Моя гипертимезия тоже помогала. Без всяких сомнений, Кармак тоже был одарен, но в другом, аналитическом смысле: он синтезировал информацию и с ее помощью двигал прогресс. Он решал задачи, буквально загружая знания в свой мозг и позволяя им свободно сталкиваться на высокой скорости. Как и я, он воспринимал программирование как соревнование. Он хотел быть лучшим, выучить все, что знал я, и еще больше. Но меня, помимо алгоритмов, также интересовал дизайн: какой геймплей мы можем реализовать с помощью кода? Я вдохновлялся и поражался эволюции гейм-дизайна, постоянно думая, что в игры могут привнести новые технологии – не только сейчас, но и в будущем. Что мы сможем с ними сделать? Известные ограничения нас не интересовали. Наши навыки идеально сочетались, и мы собирались создавать игры, каких еще не видел свет.
Сейчас я думаю, что работать вместе нам помогали именно эти черты: его желание развивать игровые технологии и мое желание развивать гейм-дизайн через технологии. Магия заключалась в нашем общем понимании кода и взаимном доверии. Как программист я знал, что теоретически можно сделать с помощью программирования, и двигал горизонты гейм-дизайна в ту сторону. Я полностью верил Кармаку: если он считал что-то возможным, значит, так и было. Кармак полностью верил мне: если я говорил, что будет весело, он давал добро. Великолепная технология без соответствующего дизайна – это просто упражнение. Великолепный дизайн без соответствующей технологии – это провал. Я забегаю вперед, но сейчас хочу отметить, что Кармак рос как программист с умопомрачительной скоростью.
Нам повезло, что в июле 1990 года Кармак работал с нами, потому что в один прекрасный день Большой Эл поручил разместить на пробнике Gamer’s Edge две игры, чтобы заманить подписчиков.
– Они нужны мне через месяц, – добавил он.
Пробную дискету собирались разослать всем пятидесяти тысячам подписчиков Big Blue Disk. Мы планировали дождаться официального одобрения и написать две игры за два месяца, но у нас еще не имелось ни офиса, ни даже рабочих компьютеров.
– Месяц? Вы же сказали, что у нас будет два, когда вы дадите зеленый свет.
– Подготовка к публикации затянулась, но мы уже известили клиентов о дате релиза.
Пришлось держать удар. Не лучшая новость. Уход из компании я даже не рассматривал – по крайней мере, в ближайшем будущем. Мы с Келли разводились. Она все больше скучала по дому: Шривпорт ей не нравился, и она хотела вернуться в Калифорнию к семье. Я мог бы вернуться в Калифорнию с ней, но брак это бы не спасло: мы переросли друг друга, пока жили раздельно. Она привыкла обходиться без меня, а я привык целиком посвящать себя играм и карьере. Было трудно, но я настроился их обеспечивать.
К счастью, я знал способ это сделать и заодно отвлечься – выполнять запрос Эла. План – мой «убийственный график» – был прост: работать с десяти утра до двух часов ночи. Быстрее всего оказалось повторно использовать наши старые проекты, так что я переписал для PC одну свою игру, которую в 1988-м издала UpTime – Dangerous Dave in the Deserted Pirate’s Hideout. Кармак в это время переписывал свою Catacomb. Лейн же взял на себя переговоры с продюсерами и все остальные вопросы, которые приходилось решать параллельно.
Стремление выполнить невозможную задачу породило дух соревнования, который во многом определил мою работу с Кармаком. Заряжаясь колой и пиццей, мы сделали невозможное. Мы ринулись в неизвестность – нас вдохновляла мысль, что никто прежде такого не делал, и мы верили, что нас ждет успех. Еще нас подгонял близкий дедлайн, поставленный Элом. Наверное, мы могли сказать ему: «Мы не успеем, Эл», – но мы и не задумывались о таком. Наше желание соревноваться заставило воспринимать происходящее как приключение вроде тех, что ждали нас в D&D-кампаниях, – для них требовались стойкость, риск и терпение, но заканчивалось все триумфом. Убийственный график требовал тех же навыков. Мы с Кармаком не считали, что Эл нас подставил, и восприняли все как вызов.
Мы многое узнали друг о друге, пока жили по убийственному графику. Откуда мы, как складывались наши жизни, как игры и код их дополняли. Обсуждали мы и наши успехи, и те места, куда нас заводили наши интересы: как брались за любую работу в школьные годы, потогонку ради собственного Apple IIe.
Кармака помешанность на технологиях завела дальше, чем меня: идею, которая пришла ему в голову, стоило бы проигнорировать. В четырнадцать лет он узнал, что термитная паста может прожигать стекло, и придумал план. Он нанес ее на окно своей школы, вытащил кусок стекла и пролез в класс. Его сообщник не поместился в дыру и решил открыть окно, активировав тем самым сигнализацию. Их поймали с поличным, и Кармака отправили в исправительную школу.
Я в детстве тоже делал глупые и опасные вещи: например, стрелял по окнам соседей. «О чем я вообще думал, стреляя по соседским трейлерам?» – рассказывал я ему. Кармаку можно было доверять. Он брал задания и выполнял их. Мы гордились работой друг друга, и я ничего от него не скрывал. Мы возлагали большие надежды на наше совместное будущее.
А вот к Лейну у меня возникали вопросы. Он и так не вкладывался в работу – возможно, из-за своей ненависти к PC, так вдобавок еще и устроился роуди в местную метал-группу. Так или иначе, он просто не мог собраться и сделать то, что от него требовалось. В начале проекта я попросил его выполнить нетрудную, но важную задачу: написать программу для сжатия наших файлов. Через десять дней я спросил, как успехи, и он ответил, что еще не закончил. Я проверил еще через пять – тот же ответ. Наконец мы с Кармаком закончили свои игры, а код Лейна все еще не был готов. Я пришел в ярость.
– Короче, давай я сам напишу, – сказал Кармак.
Он управился за полчаса.
Я хотел заменить Лейна на Тома Холла, который работал в команде Apple II. Я с ним прежде не работал, но мы пересекались в офисе, и он мне сразу понравился. Веселый и дружелюбный парень, он легко играл словами и придумывал играм смешнейшие названия. Он был умен, понимал наши отсылки к играм, с удовольствием демонстрировал глубокие познания в игровых механиках и владел ассемблером. Познакомившись с ним поближе, я понял, что он один из самых креативных людей, которых я когда-либо знал. Он любил игры, окончил колледж и использовал полученные там знания для разработки. Он разбирался в гейм-дизайне и игровых элементах – именах персонажей, звуковых эффектах, подаче сюжета – и мог похвастаться гиперактивным воображением. Мою первую попытку его завербовать завернул Эл, но Том все равно стал часто захаживать к нам в Gamer’s Edge.
После того как мы закончили работать по убийственному графику (и у нас еще осталась пара дней про запас!), на выпуск следующей игры нам дали два месяца. К нам присоединился еще один участник, чью фамилию оказалось легко запомнить: Адриан Кармак (не родственник Джона). Адриан родился в Шривпорте и стажировался в арт-департаменте Softdisk, получая пять баксов в час. Я знал о нем только то, что у него длинные волосы и он примерно нашего возраста. Однажды я заговорил с ним.
– Ты же любишь метал?
– Ну да. Метал, – тихо и сдержанно ответил он.
– Metallica?
– Metallica, Pantera, Slayer.
– Круто. А хочешь рисовать для компьютерных игр?
– М? Окей. Если мой босс не возражает, то давай.
Я пошел к его боссу и сказал, что Эл разрешил мне забрать Адриана в Gamer’s Edge, так что через месяц он уйдет в мой отдел. После этого нам неожиданно предъявили обвинение в переманивании сотрудников – нелепое, потому что Адриан был всего лишь стажером. Весь смысл стажировки в том, чтобы давать людям возможность карьерного роста. К счастью, мы решили проблему, и я рад, что так получилось: Адриан имел талант, любил ужасы и расчлененку не меньше меня и пахал наравне с нами до седьмого пота, чтобы научиться компьютерной графике.
На выходных и в перерывах мы объединялись за игрой в Dungeons & Dragons. Переезжая из Канзас-Сити, Кармак взял с собой самое ценное – огромный деревянный стол на десятерых. За ним мы программировали и играли в D&D. Когда мы сдали пробник, Кармак пригласил нас в свою кампанию, которую вел уже несколько лет. Он был Мастером подземелий, а Том, Джей и я стали новыми персонажами первого уровня.
Кармак вел нас сквозь свой жуткий, мрачный мир, полный демонов, загадочных мест, всесильных существ и политических интриг. Он прекрасно водил и любил писать кампании. Я восхищался его умением создавать геймплей внутри системы D&D, которая тогда еще представляла собой лишь бледную копию того, чем впоследствии стала. Мы начали жить по принципу «делать игры по будням, играть по выходным», от которого не отступили и в будущем, пока наша дружба крепла.
Нашу новую игру мы назвали Slordax, собираясь сделать фановый космический шутер в духе Xevious. Перед началом работы мы с Кармаком решили разделить обязанности. Время всегда поджимало, и приходилось трудиться как можно эффективнее. Gamer’s Edge – мое детище, и у меня имелось больше опыта. Я знал: быстрее всего люди работают над тем, что им интересно. Я спросил у Кармака, чем он хочет заниматься, и тот ответил, что желал бы разобраться с архитектурой кода и как можно больше узнать о графике.
– Договорились. Ты занимаешься этим, а я всем остальным, – ответил я.
«Все остальное» оказалось горой работы. Это и дизайн игры, а значит, все ее общие принципы – в чем цель, что происходит, какие правила, что видят игроки, что они делают, – и арт-дирекшен, и планирование уровней, и все инструменты для их создания, а затем и сами уровни, и сборка самой игры. Все элементы: текстовые файлы, изображения, звуки, данные – вообще все требовалось соединить на дискете, чтобы игроки могли просто вставить ее в компьютер. Я был слишком рад работать над Slordax, чтобы переживать из-за нечестного распределения обязанностей. Я хотел, чтобы Кармак написал самый крутой код, который сделает Slordax лучшей, самой быстрой игрой на рынке.
Мы хотели создать у геймера ощущение космического полета, и для этого собирались заставить фон двигаться, плавно прокручиваться по экрану, пока наш корабль летел вперед. Для такого эффекта нам требовалось, чтобы весь фон постоянно, шестьдесят раз в секунду, обновлялся – так же гладко, как это умела NES. Мы с Кармаком обсуждали, как можно реализовать вертикальное прокручивание экрана, и я отдал ему изданную в том году книгу Майкла Абраша Power Graphics Programming. Я пролистал половину, но решил, что ему она нужнее.
Я не знал, что отправил его прямо в рай для разработчика. Power Graphics Programming открыла нам двери в царство компьютерной графики. Абраш первым рассказал о секретах такой вещи, как регистрация контроля электронно-лучевой трубки. В своей книге он объяснял, как программисты указывают локацию графической памяти, где ЭЛТ начинает показывать графику[22]. Когда мы стали изменять значение этой переменной, у нас наконец получился скроллинг. Помимо книги Кармак использовал и собственные техники, чтобы сделать его еще более плавным: запоминались только зоны, которые требовалось обновлять, и перерисовывались только они, а не весь экран.
Когда мы уже заканчивали Slordax, Кармак показал мне свои эксперименты с контролем ЭЛТ. Они оказались потрясающими. Я никогда еще не видел компьютерной игры с настолько гладкой прокруткой: не простым перемещением строк графики по экрану друг за другом, а настоящим гладким скроллингом, как на консолях. Мы бы поразили индустрию. Я сказал Джону, что это невероятно, но в душе знал, что настоящей революцией станет не вертикальный, а бесконечный плавный горизонтальный скроллинг.
Весь мир любил Super Mario Bros. Я любил Super Mario Bros. Экшен-игры зависят от плавности движения, и игровые консоли вроде той, что Nintendo сделала для Super Mario Bros., имели достаточные мощности для создания динамики на экране. Новые фоны бесшовно сменяли друг друга, пока персонаж шел (или, как Марио, скакал) налево или направо. Я верил, что горизонтальный скроллинг – это ключ к визуальному сторителлингу, к расширению виртуального мира вокруг игрока. Я знал, что достижение уровня консолей в этом вопросе станет для рынка PC-игр революционным. Я не поделился тогда с Кармаком своими домыслами, но подкинул ему идею. Я хотел, чтобы он, работая над вертикальным скроллингом, думал над горизонтальным. В конце концов мы оба любили вызовы.
Slordax стала результатом командной работы. Том Холл придумал название, написал сценарий, спроектировал половину уровней и предлагал дизайны врагов. Адриан создал весь арт игры, кроме титульного экрана (и это, как вы скоро узнаете, вышло нам боком). Я работал над гейм-дизайном, запрограммировал редактор уровней и создал в нем оставшиеся, подготовил все аудиофайлы, распоряжался сопровождающей продукцией и следил за тем, чтобы конечный результат влез на дискету объемом 1,44 мегабайта. Это была первая игра от нашей команды, и нам казалось, что мы отлично сработались.
К концу разработки Кармак связался с арт-департаментом, потому что они делали титульники для всех игр Softdisk. Для Slordax у них вышла фиолетовая планета и надпись футуристичным зеленым шрифтом.
SLORDAX: The Unknown Enemy
автор – Джон Кармак
(c) 1991
Softdisk Inc.
Мы округлили глаза, когда в ноябре 1990-го получили дискету, где Кармака указали в качестве единственного автора. Поскольку запрос направил Джон, дизайнеры просто решили, что он сделал все один. Мы, слишком занятые подготовкой к релизу, ничего не заметили. Я сделал финальный мастер-диск в 1990-м, а не в 1991-м, как написали на титульнике, – в этом году дискету получили подписчики, но готова она была заранее.
Выпуск Slordax, нашей первой игры, стал поистине монументальным событием, но и близко не самым значимым из тех, что произошли в то время. Во время разработки Slordax Джон Кармак принял мой вызов близко к сердцу, закопавшись в глубины Power Graphics Programming и собственного гения.
А затем мы вошли в историю видеоигр.
4. Удар молнии
Я потерял дар речи.
Знаю, в это трудно поверить. Я готов страстно рассказывать о своих увлечениях всем и каждому, будь то программистские техники, новые консоли или просто последняя игра, которая мне понравилась. Атмосфера Softdisk всегда располагала к разговорам.
Тем не менее 20 сентября 1990 года я потерял дар речи. Но эта история не о том, как я молчал: эта история о том, почему я молчал.
Мне почти исполнилось двадцать три. За одну секунду я увидел свое будущее, будущее своих коллег и всей игровой индустрии, и это будущее меня поразило.
За несколько минут до этого я приехал в еще пустой офис Gamer’s Edge и нашел у себя на столе флоппи-диск. В приложенной записке Том велел мне запустить программу с дискеты – так я и сделал.
Меня поприветствовал коричневый титульник с надписью Dangerous Dave in “Copyright Infringement”[23]. С одной стороны экрана находился круглый портрет Дебошира Дэйва – персонажа, которого я придумал пару лет назад, – в коронной красной кепке. С другой – заносящий молоток судья в накрахмаленном парике. Я посмотрел на них и задумался, что Дэйв может делать в зале суда. Я все еще ничего не понимал.
Я нажал на пробел, и мой мир перевернулся.
На экране я увидел знакомую игру, точную копию Super Mario Bros. 3: клубящиеся персонажи-облачка, зеленые кустики, строительные блоки и крутящиеся золотые монетки. Но Super Mario не существовало на PC, потому что компьютеры не обладали нужными технологиями. Игра шла только на NES и лучших компьютерах восьмидесятых вроде Atari 800 и Commodore 64, потому что у этих систем имелись специальные чипы для двумерного горизонтального скроллинга. Игры на PC же из-за недостатков мощностей и графической поддержки довольствовались статичным экраном или прокруткой кусочками (пока Кармак не изобрел плавную вертикальную прокрутку для Slordax, а это случилось всего несколько дней назад).
Теперь же я удивлялся виду Грибного Королевства на экране моего PC. Снизу экрана стоял Дебошир Дэйв – персонаж, вдохновленный Super Mario Bros., теперь сам жил в Грибном Королевстве. Я засмеялся – что ж, нарушение авторских прав из названия нашлось, но как далеко зашла пародия?
Я нажал на стрелочку, чтобы узнать.
То, что я увидел, меня уничтожило.
Картинка на экране менялась и двигалась. Дэйв шел и прыгал по уровню, а перед ним появлялись новые пейзажи и испытания. Все прокручивалось плавно, бесшовно, бесконечно, пока я тыкал на стрелочки вверх и вниз, вперед и назад. Со стороны показалось бы, что я играл, но на самом деле я пытался осознать, насколько невероятно происходящее.
Помните тот момент из «Звездных Войн», когда Сокол Тысячелетия разгоняется для гиперпрыжка и звезды смазываются?
Вот так это ощущалось.
Как прыжок в будущее.
Я пытался переварить увиденную мной работу Кармака. Тщательно скопированный пейзаж Super Mario Bros. 3 точно был делом рук Тома, но горизонтальная прокрутка, которая так меня шокировала? Однозначно Кармак. Эти двое написали программу в шутку. Просто показали, что Кармак придумал новый трюк. Он принял мой вызов и справился с ним.
Но это был не просто новый трюк. Это была революция.
Возможности горизонтального скроллинга казались необъятными. За секунду вся вселенная игр для PC взорвалась: ее горизонты больше не ограничивались рамками экрана. Я уже два года крутился на рынке PC-игр и старался понять каждую игру, ее технологии и код. Я погрузился в PC с головой, потому что должен был находиться в авангарде индустрии. И когда я увидел, как легко Дебошир Дэйв идет направо, я понял, что авангард здесь, прямо передо мной. Буквально. Я знал, что увидел наше будущее. Иронично, но ни Том, ни Кармак этого еще не понимали.
Я хорошо знал железо, которое Кармак использовал для прокрутки, но он нашел способ оптимизировать использование фоновой графики, чтобы PC мог максимально эффективно считывать и обрабатывать действия игрока, а также и реагировать на них. Не забудьте, что в те времена мы обладали лишь ничтожными крупинками тех вычислительных мощностей и объемов памяти, что считаются нормой сегодня. Кармак же создал движок, который переписал правила игры – всех игр – и не понял этого. Справедливости ради, никто не понял.
Через полчаса в благоговейной тишине я наконец собрался с силами и решил показать другим этот революционный прорыв.
Я принес флоппи друзьям в Big Blue Disk, запустил и стал ждать шокированных возгласов.
– Прикольно.
– Забавно!
– Это круто.
Я поверить не мог. Демо у меня в руках вот-вот изменит мир, но они этого не видели. Dangerous Dave in “Copyright Infringement” была Розеттским камнем, E=mc2, управляемым термоядерным синтезом от мира программирования, а они говорили, что это прикольно. Даже не знаю, чему я больше удивился.
– Серьезно? Прикольно? Да это же просто невероятно!
Мне пришлось взять себя в руки, чтобы не начать читать им лекции. Эти люди жили, дышали программированием, работали на благо революции, они должны были как минимум сказать: «Охуеть не встать».
Возможность писать игры с плавным движением по горизонтали перевернула мир. Отныне PC-гейминг мог посоревноваться с играми для систем вроде Nintendo, Sega и Atari, не требуя специальной техники. Геймерам не пришлось бы покупать новые консоли – хватило бы только компьютера и файлов игры. Когда в наше время венчурные капиталисты говорят о «прорыве», они имеют в виду нечто подобное.
Дебошир Дэйв не просто шел по королевству Марио в поисках монеток: он вступал в новое будущее компьютерных игр, и мы следовали за ним. Нас ждали не просто новые стандарты геймплея или технологий, а целые новые жизни. В тот самый момент я понял, что мы будем делать революционные игры. Мы станем командой, на которую ориентируются остальные. Как Возняк. Как Насир. Как Бадж. Как все мои герои индустрии. Пришла пора открывать свою игровую компанию!
Я ходил с дискетой туда-сюда, обдумывая все новые измерения, которые открывали нам эти программистские возможности. Перед нами разворачивался горизонт неисследованного потенциала. Очевидно, мы смогли бы портировать тайтлы с Nintendo, Atari и Sega на PC. Еще мы хотели делать новые игры, как и собирались изначально: такие, которые нам самим бы понравились, которые стали бы вызовом для нас. Кармак знал, что сломал четвертую стену PC-гейминга, преодолел программистскую гравитацию, но потенциальные возможности для бизнеса его не волновали совсем. Для него было важно лишь достижение само по себе.
Мое решение дать Кармаку возможность сфокусироваться на коде и ни на чем ином, в частности, на коде EGA-адаптера, окупилось, а ведь мы только начали узнавать, как сочетаются друг с другом наши личные качества. Если я описывал достижимую техническую цель – тот же горизонтальный скроллинг, – как вызов, Джон с удовольствием принимал его. Я дополнял его инженерный ян своим дизайнерским инь и знал о программировании достаточно, чтобы не ставить невозможных задач. Мы не просто хорошо работали вместе, мы ускоряли друг друга. Меня манило преодоление границ дизайна, а он считал призванием преодоление границ кода. Мы смотрели за пределы современных горизонтов индустрии и выбирали себе цели там, а чтобы достигнуть этих целей, решали хитрые дизайнерские, компьютерные и графические задачи.
Кармак был гением от мира игр, но развитие гейм-дизайна его не интересовало. Он испытывал равнодушие к механикам, прогрессии, нарративам, саунд-дизайну, дизайну игровой среды, сюрпризам и пасхалкам и часто даже не задумывался, какие ограничения придется преодолеть, пока мы не рассказывали ему о них. Не сказать, что дизайн его совсем не интересовал: нет, просто его гораздо сильнее занимала архитектура кода, а игры как раз находились в ее авангарде – это и по сей день самая сложная форма программирования. Компьютер легко может считать, но таблицам обычно не нужны звуковые карты и GPU (графические процессоры). Игры используют все возможности машин, чтобы погрузить геймера в свой мир, поэтому разработчикам нужно выжимать из компьютера все ради интересных, развлекательных и познавательных задач. Игры стоят за инновациями железа.