Онлайн
библиотека книг
Книги онлайн » Разная литература » Икона DOOM. Жизнь от первого лица. Автобиография - Джон Ромеро

Шрифт:

-
+

Закладка:

Сделать
1 ... 81 82 83 84 85 86 87 88 89 ... 149
Перейти на страницу:
что смотрит игрок. Наш экран поддерживал разрешение 320×200, т. е. 64 000 пикселей. При 60 кадрах в секунду нам нужно отрисовывать 64 000 пикселей шестьдесят раз в секунду, что суммарно составляет 3,84 миллиона пикселей в секунду, – и все это без какой-либо помощи от графического оборудования. Кроме того, требовалось оставить достаточно мощности процессора на другие вычисления: выбор полигонов для отображения, принятие ввода команд от игрока, перемещение игроков в мире, обработка всех движущихся объектов, включая вражеский ИИ, воспроизведение звука и музыки, перемещение сетевых данных в компьютер и из него. Перед нами стояла грандиозная задача.

Мы обсудили, как запрограммировать текстуры с коррекцией перспективы на языке ассемблера. Написание кода на ассемблере позволило использовать процессор с оптимальной эффективностью, превышающей возможности компилятора языка C[92]. Затем нужно было оптимизировать полученный код для увеличения скорости. Это очень продвинутое программирование. С появлением 3D-ускорителей трехмерные анимации и графика в играх стали восприниматься как само собой разумеющееся, но все гораздо сложнее. Определение и отображение на плоском экране реалистично выглядящего объекта – это необычайно трудная задача. Работа становится еще сложнее, когда нужно сделать так, чтобы реалистичные персонажи могли перемещаться вокруг этого объекта, воздействовать на него, взаимодействовать с ним или даже двигать его, а при каждом движении отбрасывалась тень, менялось освещение и окружающие текстуры. Провернуть все это без видимых задержек на экране, когда вы добавляете возможность многопользовательской игры, где у каждого подключившегося к сети свои проблемы с доставкой данных? Если задуматься, это нечто выдающееся. Мы в id Software привыкли решать такие технические и дизайнерские задачи, а также избегать связанных с ними рисков. Это необходимо, если мы хотели и дальше оставаться впереди всей индустрии.

Во время одной из наших встреч Кармак сказал, что пригласил Майкла Абраша поработать над движком – он переписывался с ним уже несколько месяцев. Я был только за. Когда-то Абраш написал книгу, которая помогла Кармаку совершить прорыв в области сайд-скроллинга, плюс он много лет вел колонку по программированию в Dr. Dobb’s Journal. Учитывая сложность всего, что связано с 3D, вполне логично было привлечь к команде еще одного программиста-джедая, ведь до этого Кармак корпел над движком в одиночку. Так что он отправился в Редмонд, штат Вашингтон, где Майкл трудился в Microsoft. Во время ужина Джон сказал ему, что работа в команде над Quake станет первым шагом к метавселенной, описанной в получившем массу наград киберпанковом романе Нила Стивенсона «Лавина». Кармак утверждал, что в Quake появятся независимо бродящие в трехмерном пространстве управляемые персонажи, и это можно интерпретировать как один из шагов, необходимых для создания метавселенной или виртуального мира. Заинтересованный Майкл согласился на это предложение. Абраш поговорил с Джеем и стал миноритарным владельцем id спустя несколько месяцев.

Американ продолжал работать с Кармаком в качестве технического дизайнера уровней. У нас все еще не имелось настоящих уровней, как и геймплея, но Кармаку требовался помощник для создания тестовых локаций. По большей части Магки собирал одну коробку за другой, но каждая из этих коробок тестировала или помогала улучшить движок. Дело помаленьку двигалось. Кармаку удалось добавить в игровой мир двухмерный спрайт золотого шара, олицетворяющего игрока. Это было невероятно! Мы впервые увидели в нашей трехмерной вселенной что-то движущееся.

Макги купил дом по соседству с Кармаком, который на тот момент был одержим решением возникшей перед ним проблемы. Джон не прекращая работал и даже начал захаживать к Американу в гости, чтобы делиться с ним мыслями и идеями, которые Магки не особо понимал. Зато он был хорошим слушателем и смог побыть опорой для Джона. Мы с Адрианом шутили, что наверняка их дома соединены туннелем.

Учитывая прошлый опыт, наверное, каждый из нас думал, что через месяц или два мы приступим к созданию базового геймплея Quake. В случае с Wolfenstein 3D и DOOM Кармак сделал движки пригодными для работы за несколько недель, но на сей раз счет пошел на месяцы. Этот движок представлял собой огромный технологический скачок. Мы не только поднимем планку для 3D, в наши задачи также входило объединение игроков друг с другом через Интернет. Сеть всегда онлайн, поэтому люди смогут подключаться к серверам Quake и играть в любое время. Мы представляли себе геймеров, собирающихся в команды, чтобы сразиться с другими командами, как это происходит в футболе. Мы видели, что благодаря Интернету уже совсем скоро игры изменятся, и Quake станет поддерживать его одной из первых.

Чтобы сосредоточиться на очень важном для проекта сетевом коде, мы нашли отличного сетевого программиста. Он трудился в компании Novell, специализирующейся на программном обеспечении для файловых серверов, работающих с большим количеством одновременно подключенных пользователей. Его звали Джон Кэш. Перед тем как Кэш присоединился к команде, Кармак искал способ запрограммировать движок на использование сетевого потока данных – этим термином описывается, как сеть и движок пересылают информацию туда и обратно. Кармак написал код, который выглядел так, будто сетевые драйверы работали и передавали данные, но в симуляции, где движок разговаривал сам с собой. Задача Джона Кэша состояла в замене симуляции реальным сетевым кодом. Он должен был проложить сетевой «водопровод», то есть сделать программное обеспечение, которое соединит движок с драйверами сетевых устройств и доставит пакеты данных в Quake и из Quake. Кэш планировал присоединиться к нам в апреле, примерно в то же время, что и Абраш. Мы надеялись, что наем таких опытных программистов снимет нагрузку с Кармака и позволит ему быстрее закончить работу.

Из-за значительных технических сложностей, связанных с созданием трехмерного движка, остальная часть команды могла только сидеть и ждать. На тот момент у нас в штате было два игровых программиста (Дэйв Тейлор трудился над звуком), а Абраш и Кэш планировали начать работу только в апреле, но ни один из них не будет заниматься геймплеем. Мы понимали, что движок на первом месте.

Задач тем не менее все равно хватало. Рост нашего бизнеса напоминал ядерный гриб – это результат выпуска наиболее важных игр последнего времени. Конечно, у этого были плюсы, но не обошлось и без минусов.

С выходом DOOM II id приняла множество решений, чтобы воспользоваться преимуществами наших технологий и удовлетворить огромный фанатский спрос. GT Interactive продавала все, что мы им давали, а фанаты лишь просили добавки. Казалось, что на каждом углу нас поджидала еще одна идея, которая принесет деньги. Разработка Heretic 2 шла гладко, и вот-вот должен был состояться релиз The Ultimate DOOM. Я был ее продюсером и директором, а также запрограммировал QuakeEd и

1 ... 81 82 83 84 85 86 87 88 89 ... 149
Перейти на страницу: