Идею для следующей игры подал Кармак, обкатывавший в программировании революционную технологию, благодаря которой создавалась иллюзия движения за пределы экрана. Она называлась скроллинг[21], и в ее основе снова лежали аркадные игры. Сначала все их действие происходило в границах одной статичной картинки на экране: в Pong игроки управляли лопатками, движущимися снизу вверх по экрану, когда они ударяли по мячу; в Pac-Man персонаж проглатывал точки, встречавшиеся ему на пути в замкнутом лабиринте; в Space Invaders игроки управляли в нижней части экрана кораблем, который обстреливал спускающиеся на него сверху вражеские суда. Ни одна из игрушек не вызывала ощущения масштабности происходящего, как если бы игроки и их враги действительно существовали за пределами компьютера.
Ситуация изменилась в 1980 году, когда Williams Electronics выпустила Defender, первую аркаду, распространившую идею скроллинга за пределы экрана{44}. В этой научно-фантастической игре в жанре shoot-‘em-up[22] игроки управляли космическим кораблем, двигавшимся влево и вправо вдоль поверхности планеты, сбивая врагов и спасая мирных жителей. Крошечная карта на экране показывала границы всего мира и в развернутом виде заняла бы около трех с половиной экранов. В сравнении с другими проектами в галерее автоматов Defender казалась масштабной, геймер ощущал, что его окружает большое виртуальное пространство. Эта аркада стала настоящим хитом наравне со Space Invaders и даже превзошла Pac-Man в номинации «Игра года». За ней последовало бессчетное количество скроллинговых игр. К 1989 году данная технология уже считалась самой крутой, повторив частичный успех хита продаж того времени, домашней видеоигры Super Mario Brothers 3, выпущенной для Nintendo компанией Entertainment System.
Однако в то время, в сентябре 1990 года, никто еще не знал, как делать скроллинговые игры для PC; вместо этого по-прежнему использовался ущербный прием, позволявший игроку думать, что действие продолжается далеко за пределами экрана. Он добирался до правого конца дисплея, двигался до упора и неожиданно оказывался в левой части. Отчасти невозможность сделать этот переход более плавным заключалась в недостаточной скорости PC, которая заметно проигрывала скорости аркадных автоматов, Apple II или домашним консолям, таким как Nintendo. Кармак поставил себе цель решить проблему и добиться того, чтобы картинка двигалась так же, как в Defender или Super Mario.
И уже следующая игра Gamer’s Edge стала первым шагом в этом направлении. Когда команда находилась на стадии обсуждения, Кармак продемонстрировал технологию, над которой работал: она позволяла прокручивать картинку на экране. В отличие от других продвинутых скроллинговых игр, эта имела устройство бегущей дорожки – графические изображения двигались вниз по экрану, но ощущения, что игрок самостоятельно перемещается в нужном ему направлении, не было. Скорее, создавалось впечатление, что он стоит как бы на сцене, а за ним прокручивается пейзаж, нарисованный на холсте.
Ромеро, продвинутый геймер, сыгравший, наверное, во все имеющиеся для PC игры, никогда не видел ничего подобного; у ребят был шанс стать первыми в этом направлении. Они назвали свою игру Slordax; она напрямую наследовала такие аркадные хиты, как Space Invaders или Galaga. У парней было четыре недели на ее создание.
Команда сработалась с первых дней. Кармак корпел над кодом для движка графики, пока Ромеро занимался дизайном игрушки. Тому Холлу порой удавалось проникнуть в офис Gamer’s Edge, чтобы поработать над внешним видом чудовищ и общими декорациями Slordax. Адриан же был всецело поглощен созданием космических кораблей и астероидов. Ромеро с самого начала понял, что стажер крайне талантлив.
И хотя для Адриана компьютер оставался все еще чем-то непривычным, он быстро приноровился к его палитре. Компьютерный арт в то время был чем-то сродни пуантилизму[23] из-за ограниченных возможностей графики. Большинство палитр имели только четыре цвета, существовал так называемый Computer Graphics Adapter, CGA; но недавняя эволюция в мире игр привела к появлению шестнадцати цветов в Enhanced Graphics Adapter, EGA. Но и этого оказалось мало для настоящего художника. В распоряжении Адриана было всего несколько цветов. Он даже не мог их смешать; ему оставалось лишь рисовать целые миры тем, что имелось под рукой. Профессионалы называли это pushing pixels. Было ясно, что Адриан легко с ними справлялся.
Также было ясно, что Адриан особо не горел желанием рассказывать что-либо о себе. Одной из причин являлось то, что он до сих пор не определился, как относиться к своим коллегам. Кармак напоминал робота: он говорил, зависая после каждого предложения с «м-м-м», и мог целый день просидеть за компьютером, не произнеся ни слова, но при этом выдавая шедевр за шедевром. Ромеро точно был чокнутым со своими шуточками об эвисцерации[24] и расчлененке, а также с мультиками о Мелвине, которые он так и продолжал рисовать. При этом Адриан находил его забавным.
Вот Том Холл – совсем другое дело. Адриан увидел его впервые, когда тот прискакал в комнату в голубых колготках, белой нижней рубашке и кепке, держа в руках меч. Том стоял, подняв одну бровь, и издавал какие-то нечеловеческие звуки, на что Ромеро реагировал лишь громким смехом. Это был костюм Тома на Хеллоуин. Том иногда оставался, чтобы помочь с дизайном и инструментарием для игры, но Адриан был счастлив, что тот не торчал тут все время.
Однажды вечером, когда все сотрудники, включая Ромеро и Адриана, уже разошлись по домам, Том засиделся в офисе. Единственными, кто оставался, были он да Кармак. Работа над Slordax потихоньку подходила к концу, и Кармак занимался чем-то своим. Сова по природе, он любил засиживаться в офисе до утра, наслаждаясь тишиной и одиночеством, используя дивный шанс погрузиться с головой в работу. Он делал то, что ему всегда нравилось: писал коды для игр и был счастлив не думать о будущем. Если бы он имел возможность сидеть здесь безвылазно, работая над играми, и иметь достаточно денег на продукты и крышу над головой, он был бы доволен. Как он заявил парням в первые дни совместной работы: посади его в клетушку с компьютером, пиццей и парой банок диетической колы, и ему этого вполне хватит для полного счастья.
Том устроился в кресле, и Кармак стал рассказывать ему, как он додумался до создания анимированной графики. Экран отображает тысячу пикселей; группа пикселей образует тайл. Когда художник делает игру, он сначала использует пиксели, чтобы создать тайл, а уже потом из этих тайлов формирует мир на экране. Это напоминало процесс выкладывания кафельной плиткой пола на кухне. Имея в распоряжении изобретенный Кармаком способ оживления изображения, можно было существенно улучшить картинку на экране.
– Я смогу сделать так, – предложил он, – что твой персонаж будет запрыгивать на тайл и действовать дальше уже оттуда.
– Это несложно? – поинтересовался Том.
– Совсем нет, м-м-м, – ответил Кармак. – Мне только нужно знать, какие именно действия программировать: что именно будет делать персонаж, когда запрыгнет на анимированный тайл.
«Это очень круто», – подумал Том, потому что игры типа Super Mario Brothers 3 полностью состояли из таких вот тайлов; например, персонаж мог допрыгнуть до мигающего кубика, из которого потом сыпался дождь из золотых монет. Том был заинтригован.
Кармак нажал несколько кнопок на клавиатуре и показал Тому свой новый личный рекорд: сайд-скроллинг[25]. Эффект, набравший популярность благодаря Defender и Mario, позволял увидеть, что игровой мир продолжается, когда персонаж приближается к одному из краев экрана. Потратив несколько ночей на эксперименты, Кармак наконец понял, как имитировать это движение на PC. Как всегда, он решил проблему по-своему. Слишком многие, как ему казалось, выбирали путь наименьшего сопротивления. Но это не имело смысла. Сначала он испытал самый очевидный способ, работая над программой, которая бы рисовала графику ровно по всему экрану. Это не давало эффекта, так как (и все это знали) PC работал слишком медленно. Затем он выбрал другой вариант: оптимизацию. Интересно, был ли какой-то способ использовать компьютерную мощь на полную катушку, чтобы изображения прорисовывались быстрее? Перепробовав все возможные варианты, он пришел к выводу, что решения нет.