Властелины Doom. Как двое парней создали игровую индустрию и воспитали целое поколение геймеров
Шрифт:
Вот Том Холл – совсем другое дело. Адриан увидел его впервые, когда тот прискакал в комнату в голубых колготках, белой нижней рубашке и кепке, держа в руках меч. Том стоял, подняв одну бровь, и издавал какие-то нечеловеческие звуки, на что Ромеро реагировал лишь громким смехом. Это был костюм Тома на Хеллоуин. Том иногда оставался, чтобы помочь с дизайном и инструментарием для игры, но Адриан был счастлив, что тот не торчал тут все время.
Однажды вечером, когда все сотрудники, включая Ромеро и Адриана, уже разошлись по домам, Том засиделся в офисе. Единственными, кто оставался, были он да Кармак. Работа над Slordax потихоньку подходила к концу, и Кармак занимался чем-то своим. Сова по природе, он любил засиживаться в офисе до утра, наслаждаясь тишиной и одиночеством, используя дивный шанс погрузиться с головой в работу. Он делал то, что ему всегда нравилось: писал коды для игр и был счастлив не думать о будущем. Если бы он имел возможность сидеть здесь безвылазно, работая над играми, и иметь достаточно денег на продукты
Том устроился в кресле, и Кармак стал рассказывать ему, как он додумался до создания анимированной графики. Экран отображает тысячу пикселей; группа пикселей образует тайл. Когда художник делает игру, он сначала использует пиксели, чтобы создать тайл, а уже потом из этих тайлов формирует мир на экране. Это напоминало процесс выкладывания кафельной плиткой пола на кухне. Имея в распоряжении изобретенный Кармаком способ оживления изображения, можно было существенно улучшить картинку на экране.
– Я смогу сделать так, – предложил он, – что твой персонаж будет запрыгивать на тайл и действовать дальше уже оттуда.
– Это несложно? – поинтересовался Том.
– Совсем нет, м-м-м, – ответил Кармак. – Мне только нужно знать, какие именно действия программировать: что именно будет делать персонаж, когда запрыгнет на анимированный тайл.
«Это очень круто», – подумал Том, потому что игры типа Super Mario Brothers 3 полностью состояли из таких вот тайлов; например, персонаж мог допрыгнуть до мигающего кубика, из которого потом сыпался дождь из золотых монет. Том был заинтригован.
Кармак нажал несколько кнопок на клавиатуре и показал Тому свой новый личный рекорд: сайд-скроллинг [25] . Эффект, набравший популярность благодаря Defender и Mario, позволял увидеть, что игровой мир продолжается, когда персонаж приближается к одному из краев экрана. Потратив несколько ночей на эксперименты, Кармак наконец понял, как имитировать это движение на PC. Как всегда, он решил проблему по-своему. Слишком многие, как ему казалось, выбирали путь наименьшего сопротивления. Но это не имело смысла. Сначала он испытал самый очевидный способ, работая над программой, которая бы рисовала графику ровно по всему экрану. Это не давало эффекта, так как (и все это знали) PC работал слишком медленно. Затем он выбрал другой вариант: оптимизацию. Интересно, был ли какой-то способ использовать компьютерную мощь на полную катушку, чтобы изображения прорисовывались быстрее? Перепробовав все возможные варианты, он пришел к выводу, что решения нет.
25
Сайд-скроллинг (от англ. side scrolling) – режим, способствующий восприятию визуальной информации. Применяется для прокрутки игровых экранов. Прим. пер.
Но затем начал думать в таком ключе: итак, чего я пытаюсь добиться? Я хочу, чтобы экран двигался аккуратно вместе с персонажем. Кармак вспомнил свою более раннюю игру, The Catacomb. В ней ему удалось создать такой эффект, что экран прокручивался тайл за тайлом вместе с героем, подходившим к концу подземелья. Этот прием был известен как tile-based scrolling, позволявший двигать экран поэтапно, фрагмент за фрагментом. Что Кармаку нужно было теперь, так это сделать движение экрана более плавным, даже если бы персонаж перемещался совсем незаметно. Но проблема заключалась в том, что компьютер затрачивал слишком много времени и сил на прорисовку всего изображения при малейшем движении персонажа. И вот тогда-то Кармака и осенило!
«А что если, – подумал он, – вместо того чтобы перерисовывать всю картинку, поискать способ перерисовывать только те фрагменты, которые действительно меняются? Тогда скроллингового эффекта достичь будет проще». Он представил себе, как бы выглядел экран компьютера, если бы персонаж бежал вправо, а над ним сияло голубое небо. Чтобы передать движение, можно нарисовать над его головой белое пушистое облако. Компьютер выдавал этот эффект очень примитивным образом, перерисовывая каждый крошечный голубой пиксель, начиная с верхнего левого угла и двигаясь дальше вдоль всего экрана, по пикселю за раз, хотя единственное, что менялось в небе, – белое пушистое облачко. Компьютер не мог интуитивно сократить столь монотонный процесс, хотя это было самым разумным. Поэтому Кармак сделал следующее: он решил перехитрить компьютер и заставить его работать эффективнее. Благодаря новому коду Кармака ПК стал считать, что, скажем, седьмой тайл слева являлся на самом деле первым на экране, и начинал прорисовывать новый объект именно там, где было нужно Кармаку. Вместо того чтобы снова и снова перерисовывать маленькие голубые пиксели неба, предшествовавшие облаку, компьютер начинал сразу с облака. Чтобы игрок почувствовал эффект плавного движения, Кармак добавил еще одну деталь: он дал компьютеру команду нарисовать дополнительный тайл голубого цвета за пределами правого края экрана и сохранить его в памяти до того момента, когда игрок туда доберется. И так как эти тайлы уже находились в памяти, компьютеру не
нужно было их прорисовывать – он мог быстро вывести их на экран. Кармак назвал весь процесс adaptive tile refresh.Как понял Том, это означало только одно: они могли сделать Super Mario Brothers 3 на PC! Еще никому и никогда этого не удавалось. А они могли прямо здесь и сейчас просто взять свою самую любимую видеоигру и перенести ее на другую платформу. Это же практически революция, учитывая то, как сильно Nintendo держалась за свою платформу. Ведь не было способа, например, скопировать игру, созданную для Nintendo, на PC, как это делалось с музыкальным диском. Но теперь они могли смоделировать игру тайл за тайлом, точку за точкой.
– Давай так и поступим! – воскликнул Том. – Давай сегодня же разработаем первый уровень Super Mario!
Он подключил Super Mario к телевизору в офисе Gamer’s Edge и стал играть. Затем открыл тайловый редактор [26] , в котором они работали на своих PC. Подобно художнику, делающему копию с картины, он воссоздал каждый крошечный тайл первого уровня Super Mario на PC, поставив Nintendo на паузу. Он перенес все: золотые монеты, пушистые белые облака; единственное, что он поменял, это персонажа. Вместо того чтобы копировать Марио, он использовал стоковую графику, которая была у них в Dangerous Dave. А Кармак в это время оптимизировал сайд-скроллинговый код, приводя в исполнение элементы игры, поставленной Томом на паузу. Несколько десятков банок колы валялись на полу, когда парни закончили первый уровень. На часах было 5:30 утра. Ребята сохранили уровень на диске, положили его на стол Ромеро и разошлись по домам спать.
26
Тайловый редактор (от англ. tile editor) – специальная программа, предназначенная для редактирования сырой растровой графики. Прим. пер.
Придя на следующий день в офис, Ромеро увидел на своем столе диск и записку со словом «Dave2», написанную рукой Тома. Ромеро вставил диск в компьютер и набрал путь к файлу. Экран потемнел. А затем на нем появились следующие слова:
По одну сторону отобразился портрет Dangerous Dave, одетого в зеленую футболку и красную бейсболку. По другую – строгий судья в белом парике, ударяющий молотком. Ромеро в нетерпении нажал «пробел», жаждая узнать, что будет дальше. Итак, знакомая обстановка Super Mario Brothers 3: бледно-голубое небо, пушистые белые облачка, пышные зеленые кусты, анимированные тайлы с маленькими вопросительными знаками… и, странное дело, персонаж Dangerous Dave, стоящий наизготовку для начала игры. Ромеро перешел на клавиши со стрелками, подвигал Дэйва, а затем стал смотреть, как тот плавно идет вдоль экрана. И вдруг он потерял его.
Ромеро едва мог дышать от волнения. Он просто сидел в кресле, положив руки на клавиатуру, и двигал Дэйва туда-сюда вместе с перемещаюшимся пейзажем; он пытался найти ошибки, как будто все происходящее было миражом, как будто Кармак не сделал того, что удалось сделать этой чертовой Nintendo, как будто он не сделал того, о чем мечтал каждый геймер в мире: не добился прорыва, не сделал для PC того, что Mario когда-то сделал для консолей. Правда, к чести Mario надо сказать, Nintendo вот-вот должна была обойти самую успешную японскую компанию Toyota, зарабатывающую более миллиарда долларов в год {45} . Сигэру Миямото, создатель нескольких серий видеоигр, прошел большой путь от бедного японского мальчишки-деревенщины до позиции Уолта Диснея в мире игр. Super Mario Brothers 3 разошлась тиражом в семнадцать миллионов копий, эквивалентных семнадцати платиновым альбомам – только артистам уровня Майкла Джексона удавалось добиться подобного.
45
David Sheff, Game Over: Press Start to Continue (Wilton, Conn.: GamePress, 1999), p. 3.
Ромеро увидел, что все, о чем он мечтал, вот-вот должно было стать явью: перед его мысленным взором предстало его будущее, их общее будущее. PC набирал популярность, с каждым днем все увереннее входя в дома простых людей. Вскоре он перестанет быть предметом роскоши, превратившись в предмет повседневного домашнего назначения. А что может быть в таком случае лучше, чем иметь возможность вдоволь поубивать врагов в веселой игре? Да имея такой хит, никто не захочет покупать Nintendo; будет достаточно вложиться в PC. Ромеро сидел в своем убогом крошечном офисе в Шривпорте, пытаясь осознать те перспективы, которые им сулит новая технология. Он увидел, что ждет его коллег, Будущих Богатеев. Это было настолько четкое видение, что он не мог пошевельнуться, не мог встать с кресла. Он потерял дар речи. И пока Кармак не вернулся в офис несколькими часами позже, Ромеро был не в силах произнести ни слова. Единственное, что он хотел сказать своему другу, своему гениальному партнеру, собственному образу и подобию в этом компьютерном раю: