id Tech 3

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

id Tech 3
Изображение логотипа
Тип игровой движок
Разработчик Флаг США id Software
Ключевой программист Джон Кармак
Аппаратные платформы IBM PC-совместимый компьютер, Macintosh
Поддерживаемые ОС Microsoft Windows, GNU/Linux
Написан на языке C
Лицензия до версии 1.32 — Проприетарное ПО
версия 1.32 — Свободное ПО: GNU GPL 2.0
Последняя версия 1.32 (19 августа 2004)
Часть серии движков id Tech
Предыдущий движок серии id Tech 2
Следующий движок серии id Tech 4
Первая игра на движке Quake III Arena
Последняя игра на движке Call of Duty: United Offensive
Страница движка на сайте компании

id Tech 3 (ранее называемый Quake 3 Engine) — игровой движок, разработанный компанией id Software.

История разработки

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

Движок был создан программистом Джоном Кармаком с нуля и использовался в игре Quake III Arena, вышедшей в 1999 году.

Первоначально движок носил имя Quake 3 Engine, однако с разработкой нового движка компании id Software, id Tech 4, и переходом на другую схему наименования разработанных движков его стали называть id Tech 3. Движок id Tech 3 не базируется на id Tech 2 и был написан с чистого листа. На момент выхода первой игры на данной технологии конкурентами движка на рынке считались Unreal Engine первой и второй версии и первые версии движков Lithtech.

Открытие исходных кодов и модифицированные версии

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

После успешных лет коммерческого лицензирования на QuakeCon 2005 Джон Кармак заявил, что в скором времени произойдет открытие исходных кодов Quake III под лицензией GNU GPL версии 2; открытие исходных кодов движка стало традицией компании: ранее точно так же были открыты исходные коды предыдущих движков фирмы. 19 августа 2005 года были опубликованы исходные коды движка игры (версия 1.32). Исходный код можно загрузить с официального FTP-сервера (недоступная ссылка).

Движок id Tech 3 множество раз подвергался различным усовершенствованиям: как сторонними компаниями, которым он был лицензирован для своих проектов в то время, когда он был доступен в продаже, так и программистами-энтузиастами — после открытия исходных кодов. Так, было выпущено множество так называемых форков и модифицированных версий движка. Один из движков, основанных на Quake 3 Engine — CRX, задействован в бесплатных шутерах Alien Arena. Группа разработчиков Icculus также заявила об адаптации движка игры для различных платформ и внесении новых возможностей. Развивается проект ioquake3.

Серия игр Call of Duty (и ещё несколько игр, в числе которых Quantum Of Solace) использует модифицированную версию движка id Tech 3, созданную Infinity Ward и названную IW Engine. По некоторой информации, ещё один движок — Treyarch NGL, использовавшийся в нескольких играх компании Treyarch, также основан на движке Quake 3.

Технические характеристики

[править | править код]
Форматы моделей и анимация

id Tech 3 использует трехмерные модели формата MD3. Этот формат использует вертексную (вершинную) анимацию (иногда называемую также повертексной анимацией — от англ. per-vertex animation) в противоположность используемой другими движками скелетной анимации. Возможности анимации в MD3-формате значительно превосходят таковые в формате MD2, который использует движок id Tech 2, потому что аниматор может использовать любое количество кадров в секунду для анимации модели, в то время как ограничение MD2 — лишь 10 кадров в секунду. Это позволяет создавать более масштабную и реалистичную анимацию, чем на движке Quake II.

Другой важной особенностью формата MD3 является то, что модели могут состоять из нескольких частей, скрепленных друг с другом. Таким образом, каждая часть тела персонажа (например, торс, ноги, голова) могут двигаться независимо друг от друга ради процедурной анимации. Каждая часть модели может иметь свой набор текстур.

В версии движка, вышедшей в 2005 году вместе с исходным кодом под лицензией GNU General Public License, отсутствовала большая часть программного кода, который отвечал за работу с файлами формата MD4, ответственных за скелетную анимацию. Предполагается, что id Software так и не закончила разработку данного формата, хотя почти все лицензиаты движка получили свои собственные системы скелетной анимации из того, что было сделано. Компания Ritual Entertainment использовала возможности анимации MD4 в игре Heavy Metal: F.A.K.K.², самостоятельно доработав в собственном SDK базовую поддержку MD4. Поддержка MD4 для id Tech 3 позже была доработана человеком с псевдонимом Gongo (подробная информация об этом файловом формате присутствует на его сайте Архивная копия от 15 июля 2011 на Wayback Machine).

Освещение и тени

Модели персонажей освещены благодаря использованию затенения по методу Гуро (англ. Gouraud shading), в то время как игровые уровни, сохранённые в файловом формате BSP, освещаются при помощи карт освещения — лайтмапов (англ. lightmaps) либо все тем же методом Гуро, в зависимости от настроек, сделанных в игре пользователем (или задумок дизайнера локации). Движок способен освещать модели цветным освещением. Значение цвета освещения брался из так называемого Цветовой решетки (англ. light grid). Это свойство предоставляло на то время очень продвинутое качество освещения.

id Tech 3 способен работать с тремя различными типами теней. Первый, относительно простой, так называемый «пузырь» или капельная тень (англ. blob shadow). Второй создаёт непрозрачные черные тени с резкими краями. Третий рисует вторую полупрозрачно (в зависимости от освещения объекта).

Другие особенности движка

В движке реализована виртуальная машина позволяющая выполнять части кода независимо от основной программы. Это позволило более гибко изменять сам движок (устанавливать моды не боясь что из-за ошибки не запустится игра), но и более просто портировать игры на разные платформы (включая Linux, FreeBSD, Solaris, и др.)

В движке реализованы не аппаратные шейдеры, а написанные в виде скриптов.

Игры, которые используют id Tech 3

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

Коммерческие

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

Бесплатные

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

Многие бесплатные игры, указанные ниже, постоянно развиваются, поэтому в качестве даты выхода указана дата выхода первой версии.

  • id Tech — статья о семействе движков id Tech