id Tech 4

Материал из Википедии — свободной энциклопедии
(перенаправлено с «Движок Doom 3»)
Перейти к навигации Перейти к поиску

id Tech 4
Тип игровой движок
Разработчик Соединённые Штаты Америки id Software
Ключевой программист Джон Кармак
Аппаратные платформы ПК, Macintosh, PlayStation 3, Xbox 360[1]
Поддерживаемые ОС Microsoft Windows, OS X, Linux
Написан на языке C++
Лицензия GNU GPL[2]
Часть серии движков id Tech
Предыдущий движок серии id Tech 3
Следующий движок серии id Tech 5
Первая игра на движке Doom 3 (3 августа 2004)
Последняя игра на движке Quadrilateral Cowboy (25 июля 2016)
Страница движка  (недоступная ссылка с 12-08-2013 [4153 дня] — историякопия)

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, Brink. Движок был создан Джоном Кармаком, который ранее занимался аналогичной работой по созданию движков для игр серий Doom и Quake. Выход id Tech 4 был заметным событием в истории компьютерных игр, так как на своё время выхода он был одним из самых технологичных и инновационных игровых движков. Движок был выпущен как полностью коммерческий продукт, доступный для лицензирования сторонним компаниям, однако после выхода id Tech 5, id Tech 4 перелицензирован как свободное ПО[3]. Движок «id Tech 4» использует OpenGL в качестве графического интерфейса программирования приложений (англ. API).

История движка

[править | править код]

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 вышел ещё в 1999 году, и в 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, которая вместо пиксельных шейдеров использовала расширения GL_ARB_texture_env_dot3 и GL_ARB_multitexture, благодаря чему Doom 3 запускалась и на более старых графических платах поколения GeForce 2 и Radeon 7000, хотя они и не обеспечивали комфортной для игры производительности. Энтузиасты запускали 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].

Унифицированное освещение и затенение

[править | править код]
На скриншоте игры Doom 3 можно увидеть тень на лице и теле зомби, которая создана благодаря технологии Унифицированного освещения и затенения

Унифицированное освещение и затенение — это модель распространения света, которая разработана в 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]
The Dark Mod 8 октября 2013 The Dark Mod Team бесплатная компьютерная игра в жанре стелс от первого лица с открытым исходным кодом, вдохновленная серией Thief от Looking Glass Studios

Примечания

[править | править код]
  1. 3D Engine: id Tech 4. Дата обращения: 24 сентября 2008. Архивировано 18 февраля 2012 года.
  2. Cifaldi, Frank. Doom 3 Source Code Released To Public (англ.). gamasutra.com (22 ноября 2011). Дата обращения: 8 июня 2020. Архивировано 8 июня 2020 года.
  3. QuakeCon Recap. linuxgames.com. Дата обращения: 24 сентября 2008. Архивировано 18 февраля 2012 года.
  4. Q&A with John Carmack, E3 2002. Архивировано 29 сентября 2009 года.
  5. LinuxGames — Embrace your inner penguin Архивировано 3 октября 2008 года.
  6. id Software. Doom 3 Open Source on GitHub (англ.). GitHub. Дата обращения: 8 июня 2020. Архивировано 21 июля 2013 года.
  7. Neowin.net — ATI’s Radeon 9700 Takes Performance Lead Архивировано 21 сентября 2009 года.
  8. Doom3 + Voodoo2_Patch_v1_0 — 3dfxzone.it WorldWide Community. Дата обращения: 2 декабря 2008. Архивировано 5 декабря 2008 года.
  9. Doom 3. Дата обращения: 21 ноября 2006. Архивировано 6 декабря 2006 года.
  10. Например, движок Starbreeze Engine Архивировано 10 октября 2008 года.  (недоступная ссылка с 12-08-2013 [4153 дня] — историякопия) и другие
  11. GameSpy: Enemy Territory: Quake Wars Preview. Дата обращения: 21 ноября 2006. Архивировано из оригинала 13 августа 2018 года.
  12. Kikizo. id Software Interview - June 2009. videogamesdaily.com (30 июня 2009). Дата обращения: 20 августа 2014. Архивировано 7 ноября 2015 года.
  13. Post on Splashdamage forums by lead Programmer Архивировано 16 июля 2011 года.
  14. 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 года.
  15. Prey 2 на id Tech 4 (Обновлено). GameTech (15 марта 2011). Дата обращения: 16 марта 2011. Архивировано 18 февраля 2012 года.