stringtranslate.com

ID Tech 4

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, большая его часть была переписана. [3]

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

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

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

22 ноября 2011 года Кармак опубликовал исходный код Doom 3 под лицензией GNU GPL-3.0 или более поздней версии на GitHub . [8] Исходный код не содержит кода «Обратный Кармак». По словам Кармака, в код были внесены незначительные изменения, чтобы избежать каких-либо нарушений. [9] С тех пор было выпущено несколько проектов с открытым исходным кодом, таких как dhewm3, Dante и RBDOOM-3-BFG. [10] [11] [12] В 2021 году библиотеки DLL игры Quake 4 были адаптированы для использования с движком с открытым исходным кодом dhewm3, полученным из выпущенного исходного кода Doom 3 (работа над которым также началась в Prey ); с тех пор это использовалось для портирования игры на AmigaOS 4. [ 13]

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

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

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

Функции

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

Графика

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

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

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

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

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

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

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

Скриптинг

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

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

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

Звук

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

Нетворкинг

Движок использует традиционную модель клиент-сервер . Изначально планировалось использовать одноранговую сетевую модель. [34] Эта часть движка работает принципиально аналогично эквиваленту id Tech 3 ; однако id Tech 4 предоставляет разработчикам модов гораздо больше возможностей сетевого протокола. [32]

Хотя 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 имел меньший успех в лицензировании третьим лицам. [35] Это особенно очевидно в сравнении с его ближайшими современниками, Unreal Engine 2 (2002) и Unreal Engine 3 (2006) от Epic Games . [36] 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 [a] все еще мог работать на старых распространенных графических процессорах DirectX 7, хотя и без использования шейдеров .

Игры, использующие фирменную лицензию

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

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

Примечания

  1. ^ Разработано на основе движка GoldSrc , который в свою очередь является производным от id Tech 2.
  2. Начиналась как попытка воссоздать Thief: The Dark Project в Doom 3. [ 38] Она стала отдельной игрой после того, как был опубликован исходный код Doom 3. [39]

Ссылки

  1. ^ "id Tech 4 Source Code". GitHub . 30 марта 2020 г. Архивировано из оригинала 18 апреля 2019 г. Получено 11 сентября 2015 г.
  2. ^ "3D Engine: id Tech 4". Архивировано из оригинала 28 января 2012 г. Получено 24 сентября 2008 г.
  3. ^ "Q&A с Джоном Кармаком, E3 2002". Архивировано из оригинала 29 сентября 2009 года.
  4. Кармак, Джон (7 августа 2007 г.). «Я не буду называть дату, но Doom 3 будет иметь открытый исходный код». LinuxGames.com. Архивировано из оригинала 3 октября 2008 г.
  5. ^ "The John Carmack Keynote: Liveblogging QuakeCon". 13 августа 2009 г. Архивировано из оригинала 14 августа 2009 г. Получено 14 августа 2009 г.
  6. ^ "Id Software выпустит исходный код Doom 3". The Inquirer. 5 августа 2011 г. Архивировано из оригинала 7 августа 2011 г. Получено 23 августа 2015 г.{{cite web}}: CS1 maint: неподходящий URL ( ссылка )
  7. ^ "Обновление статуса Джона Кармака в Twitter". 16 ноября 2011 г. Архивировано из оригинала 26 августа 2021 г. Получено 18 ноября 2011 г.
  8. ^ "Doom 3 Source on GitHub". GitHub . 22 ноября 2011 г. Архивировано из оригинала 21 июля 2013 г. Получено 22 ноября 2011 г.
  9. ^ "Джон Кармак пишет в Твиттере о способах обхода нарушения кода". 17 ноября 2011 г. Архивировано из оригинала 16 мая 2017 г. Получено 22 ноября 2011 г.
  10. ^ Ларабель, Майкл (20 ноября 2012 г.). «Год спустя, открытый исходный код Doom 3 движется медленно». Phoronix . Получено 29 апреля 2024 г. .
  11. Ларабель, Майкл (19 декабря 2012 г.). «Open-Source Doom 3 BFG Ported To Linux». Phoronix . Получено 29 апреля 2024 г. .
  12. ^ Пападопулос, Джон (17 декабря 2018 г.). «Финальная версия исходного порта Doom 3, dhewm3, доступна для загрузки, поддерживает 4K, OpenAL и многое другое». DSO Gaming . Получено 14 июля 2024 г.
  13. ^ "HunnoPPC работает над портом Quake 4 для AmigaOS 4.1". Generation Amiga . 2 января 2023 г. Получено 24 марта 2023 г.
  14. ^ "ATI's Radeon 9700 Takes Performance Lead". Архивировано из оригинала 21 сентября 2009 г. Получено 25 сентября 2012 г.
  15. ^ Харгош, Тодд. «Doom is a boon». Новости игровой индустрии. Архивировано из оригинала 27 июля 2011 г. Получено 11 июня 2011 г.
  16. ^ "Файл .plan для Джона Кармака - Blue's News". bluesnews.com . Архивировано из оригинала 3 марта 2016 г. Получено 25 мая 2016 г.
  17. ^ "Doom3 + Voodoo2_Patch_v1_0". Архивировано из оригинала 5 декабря 2008 г. Получено 25 сентября 2012 г.
  18. ^ "Doom 3". Pricenfees. 2 марта 2005 г. Архивировано из оригинала 13 августа 2018 г. Получено 25 мая 2016 г.
  19. ^ "Джон Кармак: "Это отстой."". Ars Technica . 28 июля 2004 г. Архивировано из оригинала 26 января 2012 г. Получено 25 мая 2016 г.
  20. ^ "Оптимизация конвейера рендеринга анимированных моделей с использованием расширений Intel Streaming SIMD". intel.com . Архивировано из оригинала 24 июня 2016 г. Получено 25 мая 2016 г.
  21. ^ "GameSpy: Enemy Territory: Quake Wars - Страница 1". gamespy.com . Архивировано из оригинала 13 августа 2018 г. Получено 25 мая 2016 г.
  22. ^ "Джон Кармак в Twitter". Twitter . Архивировано из оригинала 14 ноября 2019 г. Получено 25 мая 2016 г.
  23. ^ "Джон Кармак в Twitter". Twitter . Архивировано из оригинала 19 января 2015 года . Получено 25 мая 2016 года .
  24. ^ "BRINK: Поддержка многоядерности и лучшее масштабирование на ПК". 29 июля 2009 г. Архивировано из оригинала 13 сентября 2011 г. Получено 25 мая 2016 г.
  25. ^ "Архивная копия" (PDF) . Архивировано из оригинала (PDF) 9 августа 2014 г. Получено 25 мая 2016 г.{{cite web}}: CS1 maint: архивная копия как заголовок ( ссылка )
  26. ^ "Sparse Virtual Textures". silverspaceship.com . Архивировано из оригинала 23 марта 2012 г. Получено 25 мая 2016 г.
  27. ^ "Технический анализ Brink". hollemeersch.net . Архивировано из оригинала 27 марта 2016 г. Получено 25 мая 2016 г.
  28. ^ "DOOM Eternal протестирован на разрешении 8K — даже дьявол не сможет это запустить". Tweatwon . 30 марта 2020 г. Получено 6 ноября 2023 г.
  29. ^ "id.sdk [Scripts]". iddevnet.com . Архивировано из оригинала 10 декабря 2015 г. Получено 25 мая 2016 г.
  30. ^ "id.sdk [GUI]". iddevnet.com . Архивировано из оригинала 11 августа 2016 г. Получено 25 мая 2016 г.
  31. ^ "Полностью интерактивные поверхности". battleteam.net . Архивировано из оригинала 9 апреля 2016 г. Получено 25 мая 2016 г.
  32. ^ ab "id.sdk [The Code]". iddevnet.com . Архивировано из оригинала 7 марта 2016 г. Получено 25 мая 2016 г.
  33. ^ "Как новейшая технология Sound Blaster X-Fi была использована в QUAKE 4". Архивировано из оригинала 4 августа 2012 г. Получено 25 сентября 2012 г.
  34. ^ "Doom 3 multiplayer networking info". Архивировано из оригинала 31 августа 2011 года.
  35. ^ "id Tech 4 (Concept) - Giant Bomb". Архивировано из оригинала 1 декабря 2013 г. Получено 26 ноября 2013 г.
  36. ^ "id Tech 5". Eurogamer . 9 августа 2007 г. Архивировано из оригинала 4 марта 2016 г. Получено 25 сентября 2012 г.
  37. ^ "3D Realms выпускает видео своих отмененных прототипов, включая SiN 2 и Bombshell FPS". Архивировано из оригинала 3 декабря 2021 г. Получено 8 апреля 2020 г.
  38. ^ "Outta Dunwall: Thief Remake The Dark Mod Updates". Rock Paper Shotgun . 22 октября 2012 г. Архивировано из оригинала 24 сентября 2015 г. Получено 25 августа 2015 г.
  39. ^ "The Dark Mod". 13 октября 2011 г. Архивировано из оригинала 27 апреля 2021 г. Получено 11 сентября 2015 г.
  40. Кэмпбелл, Колин (4 февраля 2013 г.). «Что за чертовщина — четырехсторонний ковбой?». IGN . Архивировано из оригинала 7 февраля 2013 г. Получено 7 февраля 2013 г.

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