id Tech 4 - id Tech 4

id Tech 4
Благоговение (Doom) .jpg
Doom 3 , родительская игра движка id Tech 4
Разработчики) id Программное обеспечение
Репозиторий github.com/id-Software/DOOM-3-BFG
Написано в C ++
Платформа Microsoft Windows , OS X , Linux , PlayStation 3 , PlayStation 4 , Xbox , Xbox 360 , Xbox One , Nintendo Switch , Nvidia Shield
Предшественник id Tech 3
Преемник id Tech 5
Лицензия GNU GPL-3.0 или новее
Веб-сайт github .com / id-Software / DOOM-3-BFG Отредактируйте это в Викиданных

id Tech 4 , широко известный как движок Doom 3 , - игровой движок, разработанный id Software и впервые использованный в видеоигре Doom 3 . Движок был разработан Джоном Кармаком , который также создавал предыдущие игровые движки, например, для Doom и Quake , которые широко признаны значительными достижениями в этой области. Этот игровой движок на основе OpenGL также использовался в Quake 4 , Prey , Enemy Territory: Quake Wars , Wolfenstein и Brink . id Tech 4 находится под лицензией GNU General Public License v3.0 или более поздней версии .

История

id Tech 4 начинался как усовершенствование id Tech 3 . Во время разработки изначально это было просто полное переписывание модуля рендеринга движка с сохранением других подсистем, таких как доступ к файлам и управление памятью. Решение перейти с C на язык программирования C ++ потребовало реструктуризации и переписывания остальной части движка; сегодня, хотя id Tech 4 содержит код из id Tech 3, большая часть его была переписана.

На QuakeCon 2007 Джон Кармак , ведущий разработчик графического движка в id, сказал LinuxGames : «Я имею в виду, что я не буду назначать дату, но материал Doom 3 будет с открытым исходным кодом». Как и его предшественники, Джон Кармак заявил, что id Tech 4 будет выпущен с открытым исходным кодом .

На QuakeCon 2009 Кармак сказал, что планирует обратиться к ZeniMax Media с просьбой выпустить исходный код id Tech 4 после выпуска Rage . В своем выступлении на QuakeCon 2011 он подтвердил, что исходный код Doom 3 будет выпущен к концу года, после выпуска Rage.

16 ноября 2011 года Кармак объявил в Твиттере, что он пишет новый код для релиза Doom 3 с открытым исходным кодом, потому что «юристы все еще нервничают по поводу патентной проблемы, связанной с« реверсом Кармака »». Это относится к реализации алгоритмов теневого объема с буферизацией по трафарету .

22 ноября 2011 года Кармак выпустил исходный код Doom 3 под GNU GPL-3.0 или более поздней версии на GitHub . В источнике нет кода «Обратного Кармака». По словам Кармака, в код были внесены незначительные изменения, чтобы избежать каких-либо нарушений.

Аппаратное обеспечение

Первоначальным требованием id Tech 4 было наличие высокопроизводительного графического процессора (GPU) с полностью программируемыми вершинными и пиксельными шейдерами, такого как Nvidia GeForce 3 или ATI Radeon 8500 , с как минимум 64 МБ видеопамяти. К E3 2002 рекомендуемый графический процессор был «на 100% совместим с DirectX 9.0b», например Radeon 9700 со 128 МБ видеопамяти. В то время как функции DirectX 9.0 Radeon 9700 не нужны для рендеринга игры, его продвинутая архитектура, 256-битная шина памяти и эффективность были необходимы для запуска Doom 3 с высокой детализацией и игровой скоростью. Графический режим «Ультра», включенный в Doom 3 , даже не мог работать на современных популярных видеокартах, доступных в 2004 году, требуя не менее 512 МБ видеопамяти для правильного отображения и с воспроизводимой скоростью, что означает, что он был практически непригоден для использования во время выпускать.

id Tech 4 привел к устареванию графических чипов DirectX 7, таких как широко распространенные GeForce 2 и Radeon 7200 , а также старых наборов микросхем, таких как RIVA TNT2 и Rage 128 , и программного рендеринга (со встроенным Intel GMA ). До появления id Tech 4 мощный процессор мог несколько компенсировать старую видеокарту. В то время как Джон Кармак изначально предупреждал геймеров не покупать GeForce 4 MX (который случайные потребители часто путали с GeForce 4 Ti с поддержкой DirectX 8, хотя это была в лучшем случае улучшенная GeForce 2 ), его довольно широкое распространение вынудило id Software добавить его в список поддерживаемых карт. Были случаи, когда энтузиасты заставляли Doom 3 работать на неподдерживаемых графических чипах, таких как давно устаревший Voodoo 2 , но они не могли отображать попиксельное освещение и отображение рельефа.

Функции

Эффекты затенения от единого движка освещения и затенения показаны на лице и теле зомби на этом скриншоте из Doom 3.

Графика

Id Tech 4 добавил несколько новых графических функций, отсутствующих в его предшественнике, id Tech 3 . К ним относятся отображение нормалей и бликов . При разработке следующих друг за другом игр были добавлены дополнительные функции, а в еще не выпущенных играх с использованием id Tech 4 были добавлены новые функции или их добавление планируется в ближайшее время.

Основным нововведением id Tech 4 было использование полностью динамического попиксельного освещения , тогда как ранее 3D-движки полагались в основном на предварительно рассчитанное для каждой вершины освещение или карты освещения и затенение по Гуро . Хотя динамические эффекты были доступны и раньше (например, динамическое движущееся освещение), этот эффект просто изменял яркость вершин многоугольника, а цвета пикселя просто интерполировались между тремя цветами вершин его многоугольника.

Этот подход полностью в реальном времени, использованный в Doom 3 , в сочетании с использованием теневых объемов позволил получить более реалистичное освещение и тени, чем в движках id предыдущего поколения. Метод, используемый для создания теневых объемов, является предметом патента Creative , который Creative предоставил id разрешение на использование в движке Doom 3 в обмен на поддержку передовых звуковых технологий Creative EAX .

Модели, используемые в играх с движком id Tech 4 , анимированы с использованием скелетной анимации . Движок может смешивать несколько анимаций вместе, чтобы создать скин, который правильно перемещается для этих анимаций. Поскольку это ресурсоемкая, идентификатор сделал некоторую работу , оптимизируя это с помощью Intel «s Streaming SIMD Extensions (SSE).

Технология рендеринга MegaTexture

Первоначальная версия двигателя id Tech 4 была разработана для довольно темных помещений и подвергалась критике за кажущуюся неспособность работать на очень больших дневных открытых площадках. Технология MegaTexture решила эту проблему, представив средства для создания обширных сцен на открытом воздухе. Желаемые эффекты могут быть достигнуты путем рисования одной массивной текстуры (32 768 × 32 768 пикселей , хотя в последних версиях технологии MegaTexture она была расширена до более крупных размеров), покрывающей всю полигональную карту и высокодетализированный ландшафт. MegaTexture также может хранить физическую информацию о местности, такую ​​как степень сцепления в определенных областях, или указывать, какой звуковой эффект должен воспроизводиться при переходе по определенным частям карты. т.е. ходьба по камню будет отличаться от ходьбы по траве. Первой игрой, использующей MegaTexture, является Enemy Territory: Quake Wars , основанная на движке Tech 4. Все игры id Tech 5 и id Tech 6 используют MegaTexture, за исключением The Evil Within, в которой используется новый модуль рендеринга. Brink , использующий сильно модифицированную версию id Tech 4, также использует виртуальное текстурирование. Хотя реализация отличается от MegaTexture, она вдохновлена ​​ею.

Методы рендеринга, используемые в id Tech 4

Сценарии

В id Tech 4 есть всеобъемлющий язык сценариев, который можно использовать при создании модов , и он используется в Doom 3 для управления монстрами, оружием и событиями на карте. Этот язык сценариев похож на C ++.

В дополнение к основному языку сценариев в idTech 4 есть еще один язык сценариев, который используется для графических интерфейсов - как для меню, так и для HUD , а также для графических интерфейсов, встроенных в игровой мир. Эти внутриигровые графические интерфейсы достаточно мощны, чтобы вы могли, например, запускать другую игру, такую ​​как Doom 1, в игровом мире.

Несмотря на этот дополнительный уровень написания сценариев, также можно создавать моды с помощью C ++ для сборки собственного кода.

Звук

В результате соглашения с Creative относительно патента на теневые тома движок id Tech 4 поддерживает OpenAL , включая специальные расширения EAX для Creative Technology . Работа по включению поддержки OpenAL была проделана Creative Technology, а не самой id.

Сети

Движок использует традиционную модель клиент-сервер . Первоначально планировалось создать модель одноранговой сети. Эта часть движка работает аналогично аналогу id Tech 3 , однако id Tech 4 предоставляет разработчикам модов гораздо больше возможностей сетевого протокола.

Хотя Doom 3 поддерживает только 4 игроков (и 8 в пакете расширения Resurrection of Evil ), движок id Tech 4 может использоваться с большим количеством игроков, чем этот, причем Quake 4 и Enemy Territory: Quake Wars поддерживают значительно больше игроков.

Игры с использованием id Tech 4

Prey использовала модифицированную версию id Tech 4, которая позволяла создавать такие эффекты, как порталы, переменная гравитация и хождение по стенам.

По сравнению с предыдущими и широко используемыми id Tech 3 ( движок Quake III Arena ) и id Tech 2 ( движок Quake II ), id Tech 4 имел меньший успех в лицензировании третьим лицам. Это особенно заметно по сравнению с его ближайшими современниками, Unreal Engine 2 (2002 г.) и Unreal Engine 3 (2006 г.) от Epic Games . id Software не желала лицензировать свой новейший движок до того, как была завершена его «родительская игра» Doom 3 . Однако неожиданно долгое время разработки Doom 3 с 2002 по 2004 годы означало, что они не могли составить конкуренцию Unreal Engine 2 от Epic Games в течение этого периода. Таким образом, многие, кто имел лицензию на Unreal Engine 2, смогли более легко переключиться на Unreal Engine 3 .

В то время как id Tech 4 пошла в новом направлении с динамическим попиксельным освещением , эта нетрадиционная функция имела более высокие требования к оборудованию и первоначально была полезна только в «жутких играх» (до добавления MegaTexture ), тогда как все большее число разработчиков предпочитали обычные движки. которые могут отображать большие открытые площадки. Также следует отметить относительную недостаточную масштабируемость id Tech 4 по сравнению с конкурирующими движками FPS; id Tech 4 обычно требовал графического процессора, совместимого с DirectX 8.0, такого как GeForce 3 ; конкурирующий движок Source (который был разработан на основе предыдущего движка GoldSrc ) мог по-прежнему работать на более старых широко распространенных графических процессорах DirectX 7 (хотя и без использования шейдеров).

Игры с проприетарной лицензией

Игры, использующие лицензию с открытым исходным кодом

Смотрите также

использованная литература

внешние ссылки