Становилось очевидным, что DOOM не будет похожа ни на одну другую игру. Все особенности движка, с которыми Кармак экспериментировал, работая над Shadowcaster, здесь оживали. Наиболее заметными были затухающие световые эффекты – они позволяли виртуальному пространству плавно уходить в темноту. Первая инновация Кармака заключалась в самой идее такого освещения. Но, что не менее важно, он был готов пойти ради нее на жертвы. Чтобы внедрить эту технологию в игру, пришлось бы от чего-то отказаться.
– СЮЖЕТ В ИГРЕ, – СКАЗАЛ ОН, – ЭТО КАК СЮЖЕТ В ПОРНУХЕ. ОН ВРОДЕ И НУЖЕН, НО НЕ ВАЖЕН.
Программирование – это наука, основанная на ограниченных ресурсах: можно писать код только в пределах мощности, заложенной в аппаратном и программном обеспечении компьютера. Осенью 1992 года Кармак все еще программировал на VGA, который поддерживал только 256 цветов. Его задача состояла в том, чтобы добиться эффекта полного затухания источника света, располагая этими ограниченными ресурсами.
Решение заключалось в правильном выборе цветов палитры. Взять, например, шестнадцать оттенков красного, начиная от очень яркого и заканчивая черным. Кармак запрограммировал компьютер так, чтобы оттенок цвета выбирался в зависимости от того, в какой точке комнаты находится игрок. Если он входил в большое, открытое пространство, компьютер производил быстрый расчет, а затем накладывал самые темные оттенки на самую дальний участок. Когда игрок двигался вперед, компьютер делал цвета светлее – цвета на переднем плане всегда были ярче, чем те, что находились вдалеке. В результате мир начинал казаться игроку не только более реальным, но и более зловещим.
Но это было еще не все. И Кармак, и Ромеро всячески стремились отойти от тайловой архитектуры более ранних игр. Commander Keen и Wolfenstein состояли из блоков, похожих на конструктор, которые соединяли маленькие квадратные тайлы вместе, чтобы те образовывали одну гигантскую стену. Теперь Два Джона, особенно Ромеро, хотели создать менее жесткий, более свободный дизайн. Мир, похожий на реальный, со стенами разной высоты и огромными, искаженными и странными комнатами. Если в Wolfenstein стены всегда были перпендикулярны друг другу, то в DOOM они смогут пересекаться под любыми углами.
Кармак чувствовал, что готов к этому испытанию: компьютеры, как и его навыки, становились все совершеннее. Он начал экспериментировать с отрисовкой больших многоугольников произвольной формы, а также добавлением текстур к потолку и полу. Когда Ромеро заглянул через плечо Кармака, он был впечатлен так же, как и много раз до того. Кармак рассказал про свои идеи затухающего освещения и произвольных полигонов. Он также говорил и о других вещах, которые мог бы сделать: специальные лазейки, чтобы хакерам было проще модифицировать игру, а также какой-нибудь сетевой компонент, который позволял бы игрокам сражаться друг с другом.
Ромеро сразу же увидел потенциал в технологии Кармака. Потенциал, который Кармак, по собственному признанию, не мог себе вообразить. И, поскольку Ромеро был программистом, он мог говорить с Кармаком на понятном тому языке. Кармак переносил художественное видение Ромеро в код и таким образом воплощал его в жизнь. В тот момент, когда Ромеро увидел затухающее освещение, его мозг тут же начал работать, представляя, какие эффекты можно создать.
– Если ты можешь менять параметры освещения, – сказал он, – можем ли мы сделать его динамическим, меняя на лету во время игры, или оно должно быть предварительно скомпилировано?
– Ну, – сказал Кармак, – я могу сделать его динамическим.
– Круто, тогда у нас будут стробы! Прикинь, хуяришь ты такой по комнате, и тут вдруг – бзззз! бзззз! бзззз! – свет вырубается!
Ромеро помчался обратно в свой кабинет. Он загрузил редактор карт – шаблон, с помощью которого они с Томом создавали миры в DOOM. Его использование было очень похоже на проектирование архитектуры для дома. На экране Ромеро смотрел на что-то, похожее на плоский чертеж. Щелкая мышкой и перетаскивая линию вниз, он мог нарисовать ряд стен. Еще одним щелчком он мог переключить точку обзора, чтобы посмотреть на свое творение изнутри. Адриан и Кевин тем временем предоставили бы изображения текстур – по факту обои, которые дизайнер уровня мог бы использовать для украшения стен комнаты.
С этими инструментами редактирования карт и инновациями Кармака Ромеро намеревался претворить идеи DOOM в жизнь. Кармак проделал удивительную работу, и Ромеро высоко оценил ее сразу с двух точек зрения. Как программист, он восхищался изобретательностью кода Кармака. Как, что не менее важно, геймер он еще никогда не попадал в подобные миры ни на PC, ни, если уж на то пошло, на какой другой платформе. Он развлекался с комнатами, которые вспыхивали стробоскопическим светом, и стенами, которые поднимались и опускались на разную высоту. Каждое принятое решение было основано на том, как бы лучше всего применить технологию Кармака. Кармак светился от счастья; в конце концов, чего еще можно желать, кроме того, чтобы тебя ценили и превозносили? Ромеро тоже распирало от энергии; с инновациями Кармака он мог достичь новых высот.
Читать дальше