Страница 15 из 23
Кармак нажал пару клавиш на клавиатуре и показал Тому свою новую фишку: сайд-скроллинг. Эффект, моду на который ввели Defender и Mario, создавал впечатление, будто игровой мир продолжался, когда персонаж двигался в направлении края экрана. Потратив несколько ночей на эксперименты, Кармак наконец-то разобрался, как перенести этот эффект на PC. Как и всегда, он сумел найти оригинальный подход к решению проблемы. Слишком многие, думал он, пытались с самого начала выстраивать свои программы вокруг хитрых уловок. В этом не было смысла. Первым делом он подошел к проблеме максимально прямолинейно: написал программу, которая должна была плавно прорисовывать графику на всем экране целиком. Программа не работала, и всем было очевидно почему: PC были слишком медленными. Тогда Кармак перешел ко второму шагу: оптимизации. Был ли способ эффективнее использовать память компьютера, чтобы изображения прорисовывались быстрее? После ряда попыток он понял наверняка: это было невозможно.
Наконец, он спросил себя: «Так, а чего я вообще тут пытаюсь добиться? Мне нужно, чтобы экран как будто плавно сдвигался, пока пользователь по нему бежит». Он вспомнил свою прошлую игру, The Catacomb. В ней экран прокручивался как единое целое, когда персонаж подходил к границе подземелья. Это было популярным трюком: скроллинг, основанный на тайлах, смещал экран крупными кусками, по одному набору тайлов за раз. Он хотел добиться более плавной прокрутки, когда персонаж сдвигался на самую капельку. Проблема была в том, что компьютеру требовалось чересчур много времени и мощности, чтобы перерисовывать весь экран при каждом маленьком движении. И в этот момент его осенило.
Кармак подумал: «А что, если вместо того, чтобы перерисовывать весь экран, я бы мог найти способ перерисовывать только те объекты, которые меняются? Тогда скроллинг будет отрисовываться гораздо быстрее». Он представил себе, как персонаж бежит по экрану на фоне большого синего неба и в какой-то момент над его головой проплывает белое кучерявое облачко. Если компьютер будет подходить к этому в обычном ключе, ему придется перерисовывать каждый пиксель синего неба на всем экране, тогда как единственное, что действительно меняется, – это белое облачко. Компьютер не может сам упростить себе задачу просто потому, что это кажется логичным. Поэтому Кармак придумал еще один гениальный ход. Он нашел способ заставить компьютер работать более эффективно. Он написал код, который заставлял компьютер думать, что, например, седьмой тайл слева на самом деле был первым тайлом на экране. Таким образом, компьютер начинал отрисовку строго в том месте, где это было Кармаку необходимо. Вместо перерисовки одних и тех же синих пикселей по пути к облаку, он начинал сразу с самого облака. Чтобы эффект ощущался более плавным, Кармак добавил еще одну деталь. Он заставил компьютер отрисовать дополнительный тайл синего неба за правой границей экрана и хранить его в памяти, когда игрок продвигался в эту сторону. Благодаря этому сохраненные в памяти тайлы выводились на экран мгновенно, без необходимости отрисовывать их в процессе. Кармак назвал этот процесс «адаптивным обновлением тайлов».
Том немедленно сообразил, что это означало: теперь они могли сделать Super Mario Brothers 3 на PC! Никто никогда и нигде не мог добиться подобного на PC. А они могли! Прямо здесь и сейчас они могли взять свою любимую игру, взломать ее и заставить работать на компьютере. По сути, это была революционная диверсия, подумал Том. Особенно учитывая, как тщательно Nintendo оберегала свою платформу. Раньше не было способа, скажем, скопировать игру Nintendo на PC так же, как переписать альбом на кассету. А теперь они могли воссоздать ее тайл за тайлом, кусочек за кусочком. Это был величайший взлом.
– А давай так и сделаем! – воскликнул Том. – Давай воссоздадим первый уровень из Super Mario, сегодня же!
Он запустил Super Mario на телевизоре в кабинете Gamer’s Edge и начал играть. Затем он открыл редактор тайлов, которым они пользовались. Будто перерисовывая знаменитую картину, Том бережно воссоздал каждый маленький тайл из первого уровня Super Mario на PC, ставя игру на паузу, чтобы все тщательно рассмотреть. Он скопировал каждую деталь – и золотые монетки, и кучерявые облака. Единственное, что подверглось изменению, – персонаж. Вместо перерисовки Марио Том использовал графические элементы, оставшиеся от работы над Dangerous Dave. Тем временем Кармак оптимизировал код своего сайд-скроллинга, реализуя те элементы игры, о которых ему сообщал Том. Спустя несколько десятков банок диетической колы они закончили первый уровень. На часах было 5:30 утра. Кармак и Том сохранили уровень на дискету, положили ее на стол Ромеро и отправились по домам, чтобы отоспаться.
Ромеро вошел в кабинет следующим утром и обнаружил на клавиатуре своего компьютера дискету со стикером. «Введи DAVE2», – это был почерк Тома. Ромеро вставил дискету в компьютер и ввел адрес расположения файла. Экран почернел. Затем появились слова:
DANGEROUS DAVE
IN
COPYRIGHT INFRINGEMENT[72]
По одну сторону от названия располагался портрет Дэйва в знакомой красной бейсболке и зеленой майке. С другой стороны был нарисован суровый судья в белом парике, размахивающий молотком. Ромеро нажал пробел, чтобы у видеть, что же будет дальше. Он у видел знакомый пейзаж из Super Mario Brothers 3: бледно-синее небо, кучерявые белые облака, зеленые кусты, анимированные тайлы с вопросительными знаками, и каким-то образом среди всего этого находился его собственный персонаж, Опасный Дэйв. Ромеро зажал клавишу со стрелкой, перемещая Дэйва вперед к краю экрана. И в этот момент его чуть не хватил удар.
Ромеро едва мог дышать. Он лишь зажимал клавиши движения, направляя Дэйва взад и вперед, пытаясь понять, происходит ли на самом деле то, что он видит. Неужели у Кармака получилось создать в точности то же, что удалось долбаной Nintendo? Неужели он сделал то, о чем мечтал любой геймер во Вселенной, – реализовать прорывную технологию, создать на PC то, чем Марио был для консолей? Благодаря Марио Nintendo зарабатывала более миллиарда долларов в год и вот-вот должна была обогнать Toyota, став самой успешной компанией Японии. Создатель франшизы Сигэру Миямото из бедного провинциального японского паренька превратился в фигуру, подобную Уолту Диснею, только в видеоигровой индустрии. Super Mario Brothers 3 продалась тиражом в 17 миллионов копий. Все равно что продать 17 платиновых альбомов – такого раньше добивались только суперзвезды уровня Майкла Джексона.
Ромеро видел перед собой свое будущее. Их будущее, переливающееся яркими красками, плавно прокручивалось прямо в этой комнате. PC был самой перспективной платформой. Каждый день компьютеры появлялись все в большем количестве домов. Скоро они перестанут быть предметом роскоши и станут привычным бытовым прибором. А что может быть лучшим дополнением домашнего досуга, если не потрясающая игра? С такими хитами у людей отпадет надобность покупать консоли Nintendo, им просто нужно будет вложиться в PC. Ромеро сидел в своем паршивом офисе в Шривпорте и смотрел на технологию, способную дать жизнь первым по-настоящему высококлассным PC-играм. Это была их судьба, их шанс стать Будущими Богачами. Все это обрушилось на него с такой силой, что он не мог двинуться, даже привстать не мог. Он был ошеломлен. Дар речи вернулся к нему лишь спустя несколько часов, когда в офис заглянул Кармак. И Ромеро смог сказать своему гениальному партнеру – другу, ниспосланному ему самими небесами, – лишь одно:
– Ну все. Теперь всем кранты!
БЛАГОДАРЯ МАРИО NINTENDO ЗАРАБАТЫВАЛА БОЛЕЕ МИЛЛИАРДА ДОЛЛАРОВ В ГОД И ВОТ-ВОТ ДОЛЖНА БЫЛА ОБОГНАТЬ TOYOTA, СТАВ САМОЙ УСПЕШНОЙ КОМПАНИЕЙ ЯПОНИИ.
4
Деньги на пиццу
Главная и очевидная разница между Двумя Джонами заключалась в том, как они воспринимали время. Это отличие Джонов, с одной стороны, идеально их дополняло, но с другой – вызывало непоправимые конфликты.
72
«Опасный Дэйв и нарушение авторских прав». – Прим. пер.