id Tech 4
id Tech 4 (ранее известен как Doom 3 engine — рус. движок Doom 3) — игровой движок, разработанный американской компанией id Software. На его основе были разработаны игры Doom 3 (вместе с аддоном Doom 3: Resurrection of Evil), Quake 4, Prey, Enemy Territory: Quake Wars, Wolfenstein. Движок был создан Джоном Кармаком, который ранее занимался аналогичной работой по созданию движков для игр серий Doom и Quake. Выход id Tech 4 был заметным событием в истории компьютерных игр, так как на своё время выхода он был одним из самых технологичных и инновационных игровых движков. Движок был выпущен как полностью коммерческий продукт, доступный для лицензирования сторонним компаниям, однако после выхода id Tech 5, id Tech 4 перелицензирован как свободное ПО.[3] Движок «id Tech 4» использует OpenGL в качестве графического интерфейса программирования приложений (англ. API).
id Tech 4 | |
---|---|
Тип | Игровой движок (Список) |
Разработчик | id Software |
Ключевой программист | Джон Кармак |
Часть серии движков | id Tech |
Предыдущий движок серии | id Tech 3 |
Следующий движок серии | id Tech 5 |
Аппаратные платформы | ПК, Macintosh, PlayStation 3, Xbox 360[1] |
Поддерживаемые ОС | Microsoft Windows, OS X, Linux |
Написан на языке | C++ |
Лицензия | GNU GPL[2] |
Первая игра на движке | Doom 3 / 3 августа 2004 года |
Последняя игра на движке | Prey 2 / (Отменена) |
Страница движка (недоступная ссылка с 12-08-2013 [3476 дней] — история, копия) |
История движкаПравить
id Tech 4 вначале планировался как расширение для движка игры Quake III. Первоначально это представлялось как полное переписывание рендеринга движка, при этом все еще сохраняя другие подсистемы, такие как доступ к файлам и управление памятью. Однако после того, как новая прорисовка (рендеринг) стала функциональна, было принято решение переключиться от языка программирования C к C++. Это потребовало полного реструктурирования и переписывания остальной части движка. Код id Tech 4 сегодня содержит очень небольшие фрагменты кода id Tech 3 (движок Quake III)[4].
На QuakeCon 2007 Джон Кармак, ведущий разработчик игровых движков в id Software, заявил: «I mean I won’t commit to a date, but the Doom 3 stuff will be open source.» (рус. «Я не уверен насчёт даты, но всё связанное с Doom 3 станет с открытым исходным кодом».).[5] C 23.11.2011 id Tech 4 имеет статус «open source» (с открытым исходным кодом)[6]. Первой компьютерной игрой, использующей id Tech 4, стала игра Doom 3, выпущенная 3 августа 2004 года.
Лицензирование движкаПравить
Так как движок id Tech 4 является текущей технологией id Software, поэтому именно он предлагается для лицензирования сторонним компаниям. Лицензия для одной игры стоит фиксированную сумму: $250 000. При этом игра может выходить как на любой из поддерживаемых платформ, так и на всех одновременно. Если лицензиат хочет использовать движок в множестве игр, условия меняются. При покупке движка покупатель получает весь исходный код id Tech 4 и поддержку следующих аппаратно-программных платформ: PC, Mac, Xbox 360 и PlayStation 3. id Software гарантирует поддержку движка, чистоту и стабильность программного кода, а также своевременный выпуск необходимых обновлений к движку. Перед лицензированием покупатель может получить оценочный (пробный) SDK.
В отличие от предшествующих и широко используемых игровых движков id Tech 3 (известен также как Quake III Engine), id Tech 2 (известен также как Quake II Engine) и Quake engine, движок id Tech 4 имеет существенно меньший успех в его лицензировании третьим лицам. Это особенно очевидно по сравнению с его главным конкурентом, движком Unreal Engine 3. Так, движок приобрёл лишь один сторонний разработчик (Human Head Studios) для одной игры (Prey). Причина такого провала в лицензировании id Tech 4 состоит в том, что движок разрабатывался слишком долго. id Tech 3 вышел ещё в 2000 году, и в 2002—2004 годах в id Software не было актуальной и современной технологии для лицензирования. Этим воспользовался главный конкурент id Software — компания Epic Games, которая предоставила свой движок Unreal Engine 2. В результате большинство тех, кто приобрёл Unreal Engine 2, перешло с него на Unreal Engine 3, так как эти движки довольно похожи и, соответственно, переход с одного на другой является более легким, чем переход на полностью другой движок.
Системные требованияПравить
Недостатком движка id Tech 4 было то, что он нуждался в высокопроизводительном графическом ускорителе (например, GeForce FX или Radeon 9700), который был бы по крайней мере совместим с OpenGL 1.3 с полностью программируемыми пиксельными и вершинными шейдерами. К E3 2002 рекомендуемым GPU был Radeon 9700 с 128 Мб видеопамяти; эффективность, продвинутая архитектура и 256-битная шина видеокарты Radeon 9700 были необходимыми для игры в Doom 3 с высокими настройками графики и с играбельной частотой кадров.[7]
Выход id Tech 4 привёл к устареванию графических карт класса GeForce 2, Radeon 7200 и более ранних (RIVA TNT2 и Rage 128), так как движку была необходима поддержка OpenGL 1.3 с расширениями GL_ARB_vertex_program и GL_ARB_fragment_program, которые в этих картах отсутствовали. Также движок не поддерживал программную прорисовку, которую предоставляла серия интегрированных графических карт Intel GMA. В то время, до появления id Tech 4, мощный CPU мог компенсировать слабую графическую плату. Перед выходом Doom 3 Джон Кармак предостерегал игроков, чтобы они не покупали графические платы GeForce 4 MX для игры, так как эти платы поддерживают OpenGL 1.2, который был лишен поддержки пиксельных шейдеров. Однако многие неопытные потребители ошибочно купили именно GeForce 4 MX, спутав их с GeForce 4 Ti. Именно это заставило id Software добавить в движок поддержку GeForce 4 MX и GeForce 2, которая вместо пиксельных шейдеров использовала расширения GL_ARB_texture_env_dot3 и GL_ARB_multitexture, делая эти видеокарты единственными OpenGL 1.2 — видеокартами, на которых Doom 3 запускалась, однако были случаи, когда энтузиасты умудрялись запускать Doom 3 на не поддерживающих технологию видеокартах, таких как 3dfx Voodoo 2, однако эти видеокарты были неспособны прорисовывать попиксельное освещение и построение выпуклостей (англ. bump mapping).[8]
В 2012 году, к выходу Doom 3 BFG Edition, движок переработали, добавив поддержку многоядерных процессоров и заменив поддержку устаревшей OpenGL 1.3(1.2) на OpenGL 2.0.
Технические характеристикиПравить
В id Tech 4 добавили множество новых особенностей, отсутствовавших в движке id Tech 3, который предшествовал ему. Они включали построение выпуклостей (англ. bump mapping) с использованием карт нормалей (англ. normal mapping) и бликовое освещение (англ. specular highlighting).
Главным новшеством движка id Tech 4 было использование в нём полностью динамического попиксельного освещения (англ. dynamic per-pixel lighting). До этого времени все предыдущие трехмерные движки основывались прежде всего на предварительно рассчитанном освещении или картах освещения (англ. lightmaps), и несмотря на то, что динамические эффекты были доступны прежде, эффект просто изменял яркость на всем объекте. Подход, используемый в Doom 3, показывал более реалистическое освещение и тени,[9] чем те, что были в предыдущих компьютерных играх.[10]
Унифицированное освещение и затенениеПравить
Унифицированное освещение и затенение — это модель распространения света, которая разработана в 2004 году компанией id Software и внедрена в игровой движок id Tech 4.
Предыдущие трёхмерные игры, такие как Quake III Arena, использовали раздельные модели освещения для определения, как свет освещает игровых персонажей и окружение. Информация про освещение и затенение для игровых уровней и карт была статической, прегенерированной и заранее сохранённой, в то время как эта же информация для игровых персонажей просчитывалась в режиме реального времени (на лету).
Doom 3, первая игра на движке id Tech 4, использует унифицированную модель, которая генерирует освещение и затенение «на лету». Это означает, что любые источники света влияют на всю сцену, а не только на её заранее определённую часть. К возможностям этой технологии относится возможность самозатенения (англ. self-shadowing), которое реализуется с помощью теневых объёмов (англ. shadow volumes). С использованием теневых объёмов персонажи могут отбрасывать тени сами на себя: например, подбородок человека может отбрасывать тень на его грудь.
Технология «Мегатекстура»Править
Технология мегатекстуры (англ. MegaTexture) была добавлена в оригинальную версию id Tech 4. Единственная массивная текстура (32 768 x 32 768 пикселей) покрывает всю карту полигонов и высокодетализированный ландшафт. Мегатекстура может также хранить физическую информацию о ландшафте типа силы тяжести в определенных областях или указывать, какой звуковой эффект должен проигрываться, если игрок двигается по определенным частям карты, то есть ходьба по скале будет казаться отличной от ходьбы по траве.[11] Ожидается, что использование мегатекстуры приведёт к значительно более детальной сцене, чем большинство существующих технологий, использующих так называемые «плиточные» (англ. tile) текстуры, а также добавит инструмент создания ландшафта т. н. «MegaGen». Технология «Мегатекстура» применена в играх Enemy Territory: Quake Wars и Rage.
Список игр, использующих id Tech 4Править
Название игры | Дата выхода | Компания-разработчик | Комментарии |
---|---|---|---|
Doom 3 | 3 августа 2004 года | id Software | Первая игра на движке id Tech 4. |
Doom 3: Resurrection of Evil | 4 апреля 2005 года | Nerve Software | Аддон к Doom 3, движок не изменён. |
Quake 4 | 18 октября 2005 года | Raven Software | Движок оптимизирован для многопоточности. |
Prey | 11 июля 2006 года | Human Head Studios | Существенное изменение движка силами Human Head Studios. Добавлены динамические порталы. |
Enemy Territory: Quake Wars | 28 сентября 2007 года | Splash Damage | Первая игра на движке, использующая «Мегатекстуру». Также добавлен HDR и многие другие технологии. |
Wolfenstein | 18 августа 2009 года | Raven Software | Добавлены эффекты глубины резкости, мягкие тени, различные эффекты пост-процессинга, физический движок Havok, новые шейдеры[12]. |
Brink | 10 мая 2011 года | Splash Damage | Улучшенная прорисовка, оптимизация под многопоточность.[13] |
Doom 3 BFG Edition | 19 октября 2012 | id Software | Специальное издание оригинальной Doom 3 и дополнения Resurrection of Evil, дополненное новой кампанией The Lost Mission. Графически движок был модифицирован id Software — добавлена поддержка стереоизображения, улучшена система освещения.[14] |
Prey 2 | отменён | Human Head Studios | Дальнейшее изменение движка силами Human Head Studios[15] |
См. такжеПравить
- Попиксельное освещение, Самозатенение — графические технологии, используемые в id Tech 4
- Мегатекстура — графическая технология, позволившая id Tech 4 оперировать открытыми пространствами
ПримечанияПравить
- ↑ 3D Engine: id Tech 4 (неопр.). Дата обращения: 24 сентября 2008. Архивировано 18 февраля 2012 года.
- ↑ Cifaldi, Frank. Doom 3 Source Code Released To Public (англ.). gamasutra.com (22 ноября 2011). Дата обращения: 8 июня 2020. Архивировано 8 июня 2020 года.
- ↑ QuakeCon Recap (неопр.). linuxgames.com. Дата обращения: 24 сентября 2008. Архивировано 18 февраля 2012 года.
- ↑ Q&A with John Carmack, E3 2002 (неопр.). Архивировано 29 сентября 2009 года.
- ↑ LinuxGames — Embrace your inner penguin Архивировано 3 октября 2008 года.
- ↑ id Software. Doom 3 Open Source on GitHub (англ.). GitHub. Дата обращения: 8 июня 2020. Архивировано 21 июля 2013 года.
- ↑ Neowin.net — ATI’s Radeon 9700 Takes Performance Lead Архивировано 21 сентября 2009 года.
- ↑ Doom3 + Voodoo2_Patch_v1_0 — 3dfxzone.it WorldWide Community (неопр.). Дата обращения: 2 декабря 2008. Архивировано 5 декабря 2008 года.
- ↑ Doom 3 (неопр.). Дата обращения: 21 ноября 2006. Архивировано 6 декабря 2006 года.
- ↑ Например, движок Starbreeze Engine Архивировано 10 октября 2008 года. (недоступная ссылка с 12-08-2013 [3476 дней] — история, копия) и другие
- ↑ GameSpy: Enemy Territory: Quake Wars Preview (неопр.). Дата обращения: 21 ноября 2006. Архивировано из оригинала 13 августа 2018 года.
- ↑ Kikizo. id Software Interview - June 2009 (неопр.). videogamesdaily.com (30 июня 2009). Дата обращения: 20 августа 2014. Архивировано 7 ноября 2015 года.
- ↑ Post on Splashdamage forums by lead Programmer Архивировано 16 июля 2011 года.
- ↑ Doom 3 'BFG Edition' brings Hell to 360/PS3/PC 'this fall' with entire back catalog in tow (неопр.). Joystiq (30 мая 2012). Дата обращения: 30 мая 2012. Архивировано 26 июня 2012 года.
- ↑ Prey 2 на id Tech 4 (Обновлено) (неопр.). GameTech (15 марта 2011). Дата обращения: 16 марта 2011. Архивировано 18 февраля 2012 года.
СсылкиПравить
- Страница движка на официальном сайте (недоступная ссылка с 12-08-2013 [3476 дней] — история, копия) (англ.)
- Данил Гридасов. Doom 3 (рус.). iXBT.com (2 сентября 2004). — Обзор игры, детальное описание самого движка id Tech 4 и технологий, использующихся в нём. Дата обращения: 5 января 2009. Архивировано 12 февраля 2012 года.
- Дмитрий Чеканов, Ларс Вейнанд. Doom3: подбираем лучшую видеокарту (рус.). Tom's Hardware (7 августа 2004). — Обширная статья, в которой описывается и тестируется движок id Tech 4. Дата обращения: 5 января 2009. Архивировано 28 мая 2007 года.
- idDevNet — Официальный веб-сайт по поддержке модов для движка id Tech 4 Архивная копия от 19 января 2021 на Wayback Machine (англ.)
- Форум технической поддержки и создание настраиваемого контента (англ.)
- Справочная информация по id Tech 4 (недоступная ссылка с 12-08-2013 [3476 дней] — история, копия) (англ.)
- CNN — жизнь после Doom Архивная копия от 25 мая 2019 на Wayback Machine (англ.)
- Небольшая статья об технологии «Мегатекстура» на сайте GameSpy (англ.)
- Статья, описывающая некоторые особенности id Tech 4 (англ.)
- ModDB-страница id Tech 4, содержащая список модов, обучающие программы и другую информацию Архивная копия от 30 августа 2008 на Wayback Machine (англ.)