идентификатор технологии 4
![]() Doom 3 , родительская игра на движке id Tech 4 | |
Разработчик(и) | программное обеспечение id |
---|---|
Репозиторий | github.com/id-Software/DOOM-3-BFG |
Написано в | С++ [1] |
Платформа | Microsoft Windows , OS X , Linux , PlayStation 3 , PlayStation 4 , Xbox , Xbox 360 , Xbox One , Nintendo Switch , Nvidia Shield [2] |
Предшественник | ID Tech 3 |
Преемник | идентификатор технологии 5 |
Лицензия | GNU GPL-3.0 или новее |
Веб-сайт | github ![]() |
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 года Кармак объявил в Твиттере , что пишет новый код для версии Doom 3 с открытым исходным кодом, потому что «юристы все еще насторожены по поводу патентной проблемы, связанной с« реверсом Кармака »». [7] Это относится к реализации с трафаретной буферизацией алгоритмов теневого объема .
22 ноября 2011 года Кармак опубликовал исходный код Doom 3 под GNU GPL-3.0 или более поздней версии на GitHub . [8] Исходный код не содержит кода «Обратного Кармака». По словам Кармака, в код были внесены незначительные изменения, чтобы избежать каких-либо нарушений. [9] С тех пор было выпущено несколько проектов с открытым исходным кодом, таких как dhewm3, Dante и RBDOOM-3-BFG. [10] [11] [12] В 2021 году игровые библиотеки Quake 4 были адаптированы для использования с с открытым исходным кодом движком dhewm3 , полученным на основе выпущенного исходного кода Doom 3 (работа также началась над Prey ); с тех пор это использовалось для портирования игры на AmigaOS 4 . [13]
Аппаратное обеспечение
[ редактировать ]Первоначальное требование 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 с высокой детализацией и игровой скоростью. [14] Графический режим «Ультра», включенный в 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]
Функции
[ редактировать ]
Графика
[ редактировать ]В Id Tech 4 добавлено несколько новых графических функций, отсутствующих в его предшественнике, id Tech 3 . К ним относятся отображение нормалей и зеркальное выделение . Дополнительные функции были добавлены при разработке последующих игр.
Основным нововведением id Tech 4 было использование полностью динамического попиксельного освещения , тогда как ранее 3D-движки полагались в основном на заранее рассчитанное повершинное освещение или карты освещения и затенение Гуро . Хотя динамические эффекты были доступны и раньше (например, динамические движущиеся огни), этот эффект просто изменял яркость вершин многоугольника, при этом цвета пикселя просто интерполировались между тремя цветами вершин его многоугольника.
Этот полностью реальный подход, использованный в Doom 3 , в сочетании с использованием теневых объемов позволил сделать освещение и тени более реалистичными. [18] чем в предыдущем поколении двигателей id. Метод, используемый для создания теневых объемов, является предметом патента Creative , который Creative предоставила id разрешение на использование в движке Doom 3 Creative EAX . в обмен на поддержку передовых звуковых технологий [19]
Модели, используемые в играх на движке id Tech 4, анимированы с помощью скелетной анимации . Движок может смешивать несколько анимаций вместе, чтобы создать скин, который правильно перемещается для этих анимаций. Поскольку это требует большого количества ресурсов ЦП, id проделала некоторую работу по оптимизации с помощью Intel ( Streaming SIMD Extensions SSE). [20]
Технология рендеринга MegaTexture
[ редактировать ]Первоначальная версия движка id Tech 4 была разработана для довольно темных помещений и подвергалась критике за кажущуюся неспособность обрабатывать чрезвычайно большие открытые пространства в дневное время. Технология MegaTexture (разновидность клипмэппинга ) решила эту проблему. Желаемые эффекты могут быть достигнуты путем рисования одной массивной текстуры (32 768 × 32 768 пикселей , хотя в последних версиях технологии 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
[ редактировать ]- Единое освещение и затенение [28]
- Объем тени
- Мегатекстура
Сценарии
[ редактировать ]id Tech 4 имеет комплексный язык сценариев , который можно использовать при создании модов , и он используется в Doom 3 для управления монстрами, оружием и событиями на карте. Этот язык сценариев похож на C++. [29]
Помимо основного языка сценариев, в idTech 4 также есть еще один язык сценариев, который используется для графических интерфейсов — как для меню, так и для HUD , а также для графических интерфейсов, встроенных в игровой мир. [30] Эти внутриигровые графические интерфейсы достаточно мощны, чтобы вы могли, например, запустить другую игру, такую как оригинальный Doom, в игровом мире. [31]
Несмотря на этот дополнительный уровень сценариев, также можно создавать моды, используя C++ для создания собственного кода. [32]
Звук
[ редактировать ]В результате соглашения с Creative относительно патента на теневые тома движок id Tech 4 поддерживает OpenAL , включая Creative Technology специфичные для расширения EAX, . Работу по включению поддержки 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
[ редактировать ]Этот раздел нуждается в дополнительных цитатах для проверки . ( Ноябрь 2010 г. ) |

По сравнению с предыдущими и широко используемыми 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-04 годах означало, что они не могли составить конкуренцию Unreal Engine 2 от Epic Games в тот период. перейти на Unreal Engine 3 Таким образом, многие, кто приобрел лицензию на Unreal Engine 2, смогли легче .
В то время как id Tech 4 пошла в новом направлении с динамическим попиксельным освещением , эта нетрадиционная функция имела более высокие требования к оборудованию и изначально была полезна только в «жутких играх» (до добавления MegaTexture ), тогда как все большее число разработчиков предпочитало обычные движки. это могло бы визуализировать большие открытые территории. Также следует отметить относительное отсутствие у id Tech 4 возможности масштабирования вниз по сравнению с конкурирующими движками FPS; Для id Tech 4 обычно требовался графический процессор, совместимый с DirectX 8.0, например GeForce 3 . Конкурирующий движок Source [а] все еще мог работать на более старых широко распространенных графических процессорах DirectX 7, хотя и без использования шейдеров .
Игры, использующие проприетарную лицензию
[ редактировать ]Год | Заголовок | Разработчик |
---|---|---|
2004 | Дум 3 | программное обеспечение id |
2005 | Doom 3: Воскрешение зла | Нервное программное обеспечение |
Квейк 4 | Программное обеспечение Raven | |
2006 | Добыча | Студии человеческой головы |
2007 | Вражеская территория: Quake Wars | Разрывной урон |
2009 | вольфенштейн | Программное обеспечение Raven |
2011 | Край | Разрывной урон |
2012 | Doom 3: издание BFG | программное обеспечение id |
Отменено | Землетрясение 4: Пробуждение | Ритуальные развлечения |
Грех 2 [37] | ||
Добыча 2 | Студии человеческой головы |
Игры, использующие лицензию с открытым исходным кодом
[ редактировать ]Год | Заголовок | Разработчик |
---|---|---|
2013 | Темный мод [б] | |
2016 | Четырехсторонний Ковбой | Блендо Игры [40] |
будет объявлено позже | Глубокая кожа | Блендо Игры |
См. также
[ редактировать ]Примечания
[ редактировать ]- ^ Разработано на основе движка GoldSrc , который сам по себе является производным от id Tech 2.
- ↑ Началось как попытка воссоздать Thief: The Dark Project в Doom 3 . [38] она стала отдельной игрой . Doom 3 После выхода исходного кода [39]
Ссылки
[ редактировать ]- ^ «Исходный код id Tech 4» . Гитхаб . 30 марта 2020 года. Архивировано из оригинала 18 апреля 2019 года . Проверено 11 сентября 2015 г.
- ^ «3D-движок: id Tech 4» . Архивировано из оригинала 28 января 2012 года . Проверено 24 сентября 2008 г.
- ^ «Вопросы и ответы с Джоном Кармаком, E3 2002» . Архивировано из оригинала 29 сентября 2009 года.
- ^ Кармак, Джон (7 августа 2007 г.). «Я имею в виду, что не назначу дату, но исходный код Doom 3 будет открытым» . LinuxGames.com. Архивировано из оригинала 3 октября 2008 года.
- ^ «Основной доклад Джона Кармака: Liveblog QuakeCon» . 13 августа 2009 года. Архивировано из оригинала 14 августа 2009 года . Проверено 14 августа 2009 г.
- ^ «Id Software выпустит исходный код Doom 3» . Спрашивающий. 5 августа 2011 года. Архивировано из оригинала 7 августа 2011 года . Проверено 23 августа 2015 г.
{{cite web}}
: CS1 maint: неподходящий URL ( ссылка ) - ^ «Обновление статуса Джона Кармака в Твиттере» . 16 ноября 2011 г. Архивировано из оригинала 26 августа 2021 г. Проверено 18 ноября 2011 г.
- ^ «Исходный код Doom 3 на GitHub» . Гитхаб . 22 ноября 2011 года. Архивировано из оригинала 21 июля 2013 года . Проверено 22 ноября 2011 г.
- ^ «Твиты Джона Кармака о обходном пути нарушения кода» . 17 ноября 2011 года. Архивировано из оригинала 16 мая 2017 года . Проверено 22 ноября 2011 г.
- ^ Ларабель, Майкл (20 ноября 2012 г.). «Год спустя Doom 3 с открытым исходным кодом продвигается медленно» . Фороникс . Проверено 29 апреля 2024 г.
- ^ Ларабель, Майкл (19 декабря 2012 г.). «Doom 3 BFG с открытым исходным кодом, портированная на Linux» . Фороникс . Проверено 29 апреля 2024 г.
- ^ Пападопулос, Джон (17 декабря 2018 г.). «Окончательная версия исходного порта Doom 3, dhewm3, доступная для загрузки, поддерживает 4K, OpenAL и другие» . ДСО Гейминг . Проверено 14 июля 2024 г.
- ^ «HunnoPPC работает над портом Quake 4 для AmigaOS 4.1» . Поколение Амига . 2 января 2023 г. . Проверено 24 марта 2023 г.
- ^ «ATI Radeon 9700 лидирует по производительности» . Архивировано из оригинала 21 сентября 2009 года . Проверено 25 сентября 2012 г.
- ^ Харгош, Тодд. «Гибель – это благо» . Новости игровой индустрии. Архивировано из оригинала 27 июля 2011 года . Проверено 11 июня 2011 г.
- ^ «Файл .plan для Джона Кармака — Новости Блю» . bluesnews.com . Архивировано из оригинала 3 марта 2016 года . Проверено 25 мая 2016 г.
- ^ "Doom3 + Voodoo2_Patch_v1_0" . Архивировано из оригинала 5 декабря 2008 года . Проверено 25 сентября 2012 г.
- ^ «Дум 3» . Цены. 2 марта 2005 г. Архивировано из оригинала 13 августа 2018 г. Проверено 25 мая 2016 г.
- ^ «Джон Кармак: «Это отстой » . Арс Техника . 28 июля 2004 года. Архивировано из оригинала 26 января 2012 года . Проверено 25 мая 2016 г.
- ^ «Оптимизация конвейера рендеринга анимированных моделей с использованием расширений Intel Streaming SIMD» . intel.com . Архивировано из оригинала 24 июня 2016 года . Проверено 25 мая 2016 г.
- ^ «GameSpy: Enemy Территория: Quake Wars — Страница 1» . gamespy.com . Архивировано из оригинала 13 августа 2018 года . Проверено 25 мая 2016 г.
- ^ «Джон Кармак в Твиттере» . Твиттер . Архивировано из оригинала 14 ноября 2019 года . Проверено 25 мая 2016 г.
- ^ «Джон Кармак в Твиттере» . Твиттер . Архивировано из оригинала 19 января 2015 года . Проверено 25 мая 2016 г.
- ^ «BRINK: поддержка многоядерности и лучшее масштабирование на ПК» . 29 июля 2009 года. Архивировано из оригинала 13 сентября 2011 года . Проверено 25 мая 2016 г.
- ^ «Архивная копия» (PDF) . Архивировано из оригинала (PDF) 9 августа 2014 года . Проверено 25 мая 2016 г.
{{cite web}}
: CS1 maint: архивная копия в заголовке ( ссылка ) - ^ «Разреженные виртуальные текстуры» . silverspaceship.com . Архивировано из оригинала 23 марта 2012 года . Проверено 25 мая 2016 г.
- ^ «Грань технического анализа» . hollemeersch.net . Архивировано из оригинала 27 марта 2016 года . Проверено 25 мая 2016 г.
- ^ «DOOM Eternal проверена в разрешении 8K: даже дьявол не сможет с этим справиться» . Твитвон . 30 марта 2020 г. Проверено 6 ноября 2023 г.
- ^ «id.sdk [Скрипты]» . iddevnet.com . Архивировано из оригинала 10 декабря 2015 года . Проверено 25 мая 2016 г.
- ^ "id.sdk [GUI]" . iddevnet.com . Архивировано из оригинала 11 августа 2016 года . Проверено 25 мая 2016 г.
- ^ «Полностью интерактивные поверхности» . Battleteam.net . Архивировано из оригинала 9 апреля 2016 года . Проверено 25 мая 2016 г.
- ^ Jump up to: а б «id.sdk [Код]» . iddevnet.com . Архивировано из оригинала 7 марта 2016 года . Проверено 25 мая 2016 г.
- ^ «Как новейшая технология Sound Blaster X-Fi была использована в QUAKE 4» . Архивировано из оригинала 4 августа 2012 года . Проверено 25 сентября 2012 г.
- ^ «Информация о сетевой игре в многопользовательской игре Doom 3» . Архивировано из оригинала 31 августа 2011 года.
- ^ «id Tech 4 (Концепт) — Гигантская бомба» . Архивировано из оригинала 1 декабря 2013 года . Проверено 26 ноября 2013 г.
- ^ «Ид Тех 5» . Еврогеймер . 9 августа 2007 года. Архивировано из оригинала 4 марта 2016 года . Проверено 25 сентября 2012 г.
- ^ «3D Realms публикует видео своих отмененных прототипов, включая SiN 2 и Bombshell FPS» . Архивировано из оригинала 3 декабря 2021 года . Проверено 8 апреля 2020 г.
- ^ «Outta Dunwall: Обновления мода Thief Remake The Dark» . Каменно-бумажный дробовик . 22 октября 2012. Архивировано из оригинала 24 сентября 2015 года . Проверено 25 августа 2015 г.
- ^ «Тёмный мод» . 13 октября 2011 года. Архивировано из оригинала 27 апреля 2021 года . Проверено 11 сентября 2015 г.
- ^ Кэмпбелл, Колин (4 февраля 2013 г.). «Что, черт возьми, такое Четырехсторонний Ковбой?» . ИГН . Архивировано из оригинала 7 февраля 2013 года . Проверено 7 февраля 2013 г.
Внешние ссылки
[ редактировать ]- Официальная страница лицензирования id Tech 4 на Wayback Machine (архивировано 26 октября 2008 г.)
- Справочный материал id Tech 4
- CNN – Жизнь после «Дума»
- Исходный код Doom 3 на GitHub