Введение

Программист Id Software Роберт Даффи (Robert Duffy) присоединился к компании в 1999 году, после того, как он доработал известный редактор уровней Radiant. Во время Quakecon у нас появилась возможность задать Роберту несколько вопросов о движке Doom 3 и о его роли в графическом бизнесе.
THG. Не планируете ли вы когда-нибудь переключить свой движок на DirectX? Каковы основные причины вашей любви к OpenGL?
Роберт — id. Одна из главных причин заключается в любви Джона к OpenGL, как разработчика. Также важной причиной является многоплатформенность OpenGL — ведь драйверы OpenGL существуют под Linux и Macintosh, а DirectX этим похвастаться не может. В то же время, по мере продвижения технологий вперёд, API Direct3D уже достаточно заматерел, и сегодня он является неплохой альтернативой OpenGL. К тому же, существуют несколько весомых аргументов и в пользу Direct3D (вспомним Xbox). Но на данный момент, всё же, у нас нет желания уходить от OpenGL.

THG. Действие Doom3 проходит внутри помещения — даже наружные сцены создаются наподобие внутренних. Если посмотреть на другие движки типа Far Cry или S.T.A.L.K.E.R., то все современные игры содержат массивные уровни «на природе» с большой областью видимости. Поэтому и возник вопрос: справляется ли движок Doom 3 с наружными уровнями?
Роберт — id. Конечно, да! Просто действие Doom происходит на марсианской базе. Мы уже лицензировали движок и для других ситуаций. Поэтому никаких ограничений в самом движке нет.
THG. Одним из самых больших ограничений движка Quake 3 было то, что уровни не могли быть объёмными.
Robert — id. Да, действительно, в движке существовали некоторые ограничения масштаба, однако они не запрещали создавать очень большие уровни.
THG. Если вы посмотрите на рыночною долю встроенной графики, то здесь лидером является Intel c чипсетами 865G, а теперь и 915G, с частичной поддержкой DirectX 9. Как вы оцениваете рынок встроенной графики, особенно от Intel? Во время выхода каждая ваша игра требовала мощной графической карты. Встроенная графика — совершенно другой мир, поскольку она имеет огромную рыночную долю и относительно низкую производительность. Как вы будете работать с рынком встроенной графики?
Роберт — id. Мы работаем совместно с Intel. Что касается Doom 3, то Intel создала действительно впечатляющие драйверы OpenGL. Драйверы Intel всегда были весьма солидны. Нам выслали плату на чипсете 915, на которой я запустил Doom, и если не считать нескольких графических аномалий, он действительно пошёл. Всё работало прямо из коробки — с драйверами подобная ситуация случается редко. (Пауза…) В то же время, игра шла очень медленно. Intel продолжает работать над оптимизациями, и последнее, что я слышал от разработчиков, — они сделают так, чтобы в Doom 3 можно было нормально играть на чипсете 915.
THG. Но не представляет ли угрозу для всей индустрии необходимость учитывать при разработке игры такое графическое «железо»?
Роберт — id. Наверное, но мы на самом деле не разрабатываем наши игры под подобную графику. Я имею в виду, что мы планировали реализовать определённые функции и рендеринг на должном уровне. Эта проблема вызвана именно потребителями, поскольку они покупают дешёвую интегрированную графику. И мы, со своей стороны, особо много сделать не можем. Мы продолжаем технологическое лидерство в индустрии, но это было бы невозможным, если бы мы ориентировались на нижний ценовой сегмент рынка.

THG. В Doom 3 присутствует множество анимационных вставок — все они выполнены на движке игры, причём, они оказались даже сложнее, чем ролики в Far Cry. Возьмём, к примеру, сцену, где учёные превращаются в зомби в реальном времени, или финальный ролик. Не планируете ли вы создать что-то типа фильма — на движке Doom 3? Можно ли считать движок Doom 3 первым шагом в этом направлении?
Роберт — id. Да, мне очень нравится «машинима», и я надеюсь, что у меня хватит времени на создание некоторых инструментов, чтобы люди могли сами создавать ролики. Я уверен, что движок Doom 3 вдохнёт новую жизнь в движение «машинима» и позволит создать действительно потрясающие вещи. Особенно если задать скриптом движения актёров, поведение камеры — когда не нужно думать о том, чтобы в Doom 3 можно было играть. При этом можно завернуть такой уровень качества, на котором играть просто было бы невозможно — включить максимальное сглаживание, полностью весь мультисэмплинг и т.д. В нашем движке существует множество опций, которые слишком бы замедлили игру в реальном времени, но которые позволили бы создавать фильмы фантастического качества. Я с нетерпением жду их появления.
THG. Doom3 в немалой степени использует карты нормалей. Как насчёт будущей поддержки сжатия карт нормалей 3Dc от ATi?
Роберт — id. До завершения игры мне пришлось приложить немало усилий, чтобы переделать сжатие изображений. Что касается карт нормалей, то мы поменяли красный и альфу, при этом сжатие DXT стало работать действительно великолепно — ведь красный канал пустой, и при этом нужно рассматривать только две направляющие вектора. Поэтому мы поменяли каналы, а затем мы меняем их обратно, когда необходимо передать информацию на карту. Нам пришлось пойти на подобные подвиги, поскольку ATi не имеет специального сжатия, которое мы используем для карт нормалей на процессорах nVidia. В общем, вам придётся работать с 256 Мбайт текстур, поскольку никакого способа сжатия карт нормалей нет. Я потратил немало времени на работу с этой проблемой, при этом мы использовали один и тот же путь рендеринга, за исключением NV10 и 20.
THG. Спасибо за ваше время!