Шрифт:
Закладка:
– Отличная идея, – сказал я. – Скорость разработки однозначно возрастет.
На мгновение я задумался, как все это будет выглядеть.
– А вот, к примеру. Поскольку бои в игре будут в основном ближними, как насчет того, чтобы дать Квейку дистанционную атаку? Во времена D&D-посиделок он мог метать молот во врагов, и это было офигенно!
– Да, новый язык сможет это реализовать, – ответил Кармак. – Я назову его QuakeC. С ним можно сделать дрожание камеры, атаки молотом, искусственный интеллект противника и все остальное, что нам потребуется в рамках геймплея.
Мало разбирающемуся в таких вещах человеку может показаться, что отделение кода геймплея от движка позволило бы разрабатывать оба направления независимо друг от друга. Однако геймплейный код QuakeC мог делать только то, что разрешалось движком, поэтому недоработанный инструмент ограничивал функциональность. Чуть забегу вперед, но, когда QuakeC только создавался, мы не могли добавлять в игру врагов: код движка еще не умел обрабатывать перемещение ИИ-персонажей и отрисовывать 3D-модели. Позже, когда поддержка этих функций была внедрена, в QuakeC внеслись соответствующие изменения. Со временем функциональность QuakeC увеличилась, и мы контролировали все, что движок мог сделать с кодом. Если кратко – геймплейный код нельзя написать, пока движок находится в разработке или пока он по крайней мере не стал стабильным. Его можно было улучшать постепенно, но тогда мы бы не поняли, как все это заработает вместе, что крайне важно для гейм-дизайна и геймплея.
Движок DOOM создавался два с половиной месяца. C Quake, разумеется, стало куда сложнее, но мы не думали, что разработка инструментария займет вечность. Это ожидание было необходимо. Параллельно команда занималась другими вещами. Дизайнеры уровней могли экспериментировать с QuakeC, но с большой вероятностью все эти наработки потеряют смысл при любом крупном обновлении или оптимизации движка[83].
Далее требовалось выбрать определенный центральный процессор, чтобы оценивать производительность на протяжении всего цикла создания. Обеспечение плавного геймплея на таком процессоре будет гарантировать качественный релиз. С помощью программирования на языке ассемблера последние процессоры Pentium с частотой 75 МГц в 1995 году стали достаточно быстрыми, чтобы угнаться за игрой нашей мечты, и они становились только быстрее. По крайней мере, мы были уверены, что проект больше не находится в пространстве невозможного. Кроме того, теперь в нашем распоряжении оказалось в два раза больше памяти, чем во времена DOOM, поэтому какую-то ее часть можно было потратить на оптимизацию скорости, чтобы достичь желанных 60 кадров в секунду, а еще часть – на сложную работу с трехмерными уровнями. Обладая таким ресурсом, нам удалось избавиться от жестоких ограничений былых времен. До DOOM компьютерные игры использовали только 640 килобайт памяти[84], что отражалось на их объеме. В восьмидесятые на 8-битных компьютерах максимальный объем памяти составлял 64 килобайта – это в десять раз меньше, чем в 1991 году. Конечно, во время работы над Quake мы сталкивались с ограничениями вроде лимита памяти в 8 мегабайт[85], но по большому счету id могла делать более проработанные и красочные игры.
Я понимал, что с переходом на трехмерный движок придется попрощаться с моим давним редактором DoomEd. Его заменит QuakeEd – инструмент, позволяющий дизайнерам создавать уровни и подключать размещаемые объекты к коду QuakeC для обеспечения функциональности. То есть позволит добавлять врагов, факелы и двери, обеспечит подбор предметов, использование телепортов и всего остального, что понадобится по ходу дела. Редактор требовал написания кода с нуля – на новом 3D-движке иначе было нельзя.
– Я не смогу написать QuakeEd, пока ты не доберешься до клиентской части и не начнешь определять данные игрового мира, – объяснил я.
– Верно. Я создам скелет проекта и добавлю туда код для 3D-рендерера, когда у меня появится время. Сперва я закончу с основами построения мира, потом разберусь с данными. А там уже и ты сможешь подключиться к процессу.
Как только Кармак разложил биты по полочкам, я приступил к написанию QuakeEd. Мне нравилось все, что мы обсудили, – от 3D до QuakeC. Мы приблизительно поняли, чего хотим. В новом году нужно было создать все инструменты и технологии, необходимые для движка, способного построить полноценный трехмерный мир. Даже в наши дни шутеры от первого лица выжимают все соки из компьютеров. Самостоятельно написать движок, сделать инструменты для его поддержки, а затем выжать технологический максимум из дизайна – буквально подвиг Геракла. Трижды мы уже справлялись с такой задачей, но эта была самой сложной. Мы прикинули, что работа над ней окажется примерно в десять раз труднее, чем над движком DOOM. Такая оценка позволила понять, сколько времени займет процесс. Мы осваивали новую территорию.
Наступило самое подходящее время, чтобы поговорить о насущном, и я сразу перешел к делу:
– Пока ты будешь работать над движком, мы займемся розничной версией DOOM.
Такой релиз назревал давно. Мы заключили договор с GT Interactive о продаже первой части в магазинах. Я хотел добавить новый эпизод Thy Flesh Consumed, чтобы придать переизданию ценности и привлечь игроков, которые уже познакомились с условно-бесплатной или полной версией.
– Уверен, в рознице мы охватим еще больше людей, – сказал я Кармаку. – Американ и Шон тоже впишутся в проект вместе с парочкой других дизайнеров уровней. Пока что я называю игру DOOM SE, сокращенно от Special Edition. Я подготовлю кодовую базу версии 1.9, а затем мы выпустим патч, который бесплатно обновит ранее приобретенную копию DOOM.
Кармак кивнул. Я знал, что он был готов вернуться к программированию.
– А, еще кое-что. Поскольку Heretic вышла, я поручил Raven работу над сиквелом. Пока пусть называется Heretic 2, потом придумаем крутое название.
Так у нас обоих появились планы на ближайшее время. По результатам беседы дизайн Quake стал еще шире, чтобы уместить в себе новые элементы. Если бы мы писали пресс-релиз для Quake в стиле DOOM, то в него попали бы следующие пункты.
Исследуйте темные закоулки зловещего трехмерного Средневековья, которое кишит дьявольскими и чертовски адскими демонами.
Вступайте в рукопашные схватки и сносите головы противников взмахами разрушительного молота Квейка.
Отрывайте врагам головы и подносите их к жертвенному алтарю, чтобы становиться еще мощнее.
Новые реакции на повреждения – удар по затылку может привести к падению лицом вперед и кувырку в ближайшую пещеру.
Соберите целую коллекцию метательного оружия и кидайтесь им во врагов еще до