id Tech 3 - id Tech 3

редактировать
id Tech 3
Id Tech 3 logo.png
id Tech 3 in Quake III, the engine's parent game id Tech 3 в Quake III, родительской игре движка
Разработчик id Software
Стабильный выпуск 1.32b / 19 августа 2005 г.; 15 лет назад (2005-08-19)
Репозиторий github.com/id-Software/Quake-III-Arena
Написано наC. (14% переписано на C ++ )
Платформа PC, Mac OS, OS X, Linux, Dreamcast, Nintendo GameCube, Nintendo Switch, PlayStation 2, PlayStation 3, PlayStation 4, Xbox, Xbox 360, iOS, Android
Предшественникдвижок Quake II
Преемникid Tech 4
Лицензия Стандартная общественная лицензия GNU
Веб-сайтwww.idsoftware.com / business / idtech3 / Отредактируйте это в Викиданных
Star Trek: Elite Force II была одной из последних игр, в которых использовался движок id Tech 3.

id Tech 3, широко известный как движок Quake III Arena, это игровой движок, разработанный id Software для их видеоигры Quake III Arena. Он был принят во многих играх. В свое время он конкурировал с Unreal Engine ; оба движка были широко лицензированы.

В то время как id T ech 3 основан на движке id Tech 2 ; был переписан большой объем кода. Преемник id Tech 4 был получен из id Tech 3, как и механизм Infinity Ward IW, используемый в Call of Duty 2 и далее..

На QuakeCon 2005 Джон Кармак объявил, что исходный код id Tech 3 будет выпущен под Стандартной общественной лицензией GNU. (версия 2), и он был выпущен 19 августа 2005 года. Первоначально распространяемый по id через FTP, код можно загрузить из учетной записи id GitHub.

Содержание
  • 1 Функции
    • 1.1 Графика
    • 1.2 Звук
    • 1.3 Сеть
    • 1.4 Виртуальная машина
  • 2 ioquake3
  • 3 Игры с использованием движка
    • 3.1 Игры на основе исходный выпуск
    • 3.2 Игры с проприетарной лицензией
  • 4 Ссылки
  • 5 Внешние ссылки
Характеристики

Графика

В отличие от большинства других игровых движков, выпущенных в то время - Включая своего основного конкурента, Unreal Engine, id Tech 3 требует для работы OpenGL -совместимого графического ускорителя. Движок не включает программный рендерер.

id Tech 3 представил сплайновые искривленные поверхности в дополнение к плоским объемам, которые отвечают за многие поверхности, присутствующие в игре.

Шейдеры

графическая технология игры тесно связана с системой «шейдер », где внешний вид многих поверхностей может быть определен в текстовых файлах, называемых «скриптами шейдеров». Шейдеры описываются и визуализируются как несколько слоев, каждый слой содержит текстуру, «режим наложения», который определяет, как наложить его на предыдущий слой, и режимы ориентации текстуры, такие как отображение среды, прокрутка и поворот. Эти особенности можно легко увидеть в игре с множеством ярких и активных поверхностей на каждой карте и даже на моделях персонажей. Система шейдеров выходит за рамки визуального внешнего вида, определяя содержимое объемов (например, объем воды определяется путем применения шейдера воды к его поверхностям), светового излучения и того, какой звук воспроизводить, когда по объему наступают. Чтобы облегчить вычисление этих шейдеров, id Tech 3 реализует специальную функцию быстрого вычисления обратного квадратного корня, которая привлекла значительное внимание сообщества разработчиков игр своим умным использованием целочисленных операций.

Видео

Все игровые видео используют собственный формат под названием "RoQ", который изначально был создан Грэмом Дивайном, со-дизайнером Quake 3, для игры The 11th Hour. Внутренне RoQ использует векторное квантование для кодирования видео и DPCM для кодирования звука. Хотя сам формат является проприетарным, он был успешно реконструирован в 2001 году, а фактический декодер RoQ присутствует в версии исходного кода Quake 3. RoQ мало использовался вне игр, основанных на движках id Tech 3 или id Tech 4, но поддерживается несколькими видеоплеерами (такими как MPlayer ) и существует несколько сторонних кодеров. Заметным исключением является игра на основе Unreal Engine Postal 2: Apocalypse Weekend, в которой файлы RoQ используются для вступительных и конечных роликов, а также для шутливых роликов, которые воспроизводятся после миссия в конце первой части.

Модели

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

Еще одна важная особенность формата MD3 состоит в том, что модели разбиты на три разные части, которые привязаны друг к другу. Обычно это используется для разделения головы, туловища и ног, чтобы каждая часть могла анимироваться независимо ради смешивания анимации (т. Е. Анимации бега на ногах и анимации стрельбы на туловище). Каждая часть модели имеет свой набор текстур.

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

В версии исходного кода под лицензией GPL большая часть кода, связанного с файлами скелетной анимации MD4 , отсутствовала. Предполагается, что id просто так и не закончила формат, хотя почти все лицензиаты создали свои собственные системы скелетной анимации из того, что было. Ritual Entertainment сделали это для использования в игре Heavy Metal: FAKK², SDK, для которого легла в основу поддержка MD4, выполненная кем-то, кто использовал псевдоним Гонго.

Динамические тени

Движок поддерживает три различных типа теней. Просто поместите круг с выцветшими краями у ног персонажей, широко известный как техника «тени кляксы». Два других режима проецируют точную многоугольную тень на пол. Разница между двумя последними режимами заключается в том, что один из них полагается на непрозрачные, сплошные черные тени, в то время как другой режим пытается (с переменным успехом) проецировать тени трафаретного объема с проходом по глубине в средне-прозрачном черном. Ни один из этих методов не обрезает теневые объемы, заставляя тени распространяться вниз по стенам и сквозь геометрию.

Другие функции визуализации

Другие визуальные функции включают объемный туман, зеркала, порталы, декали и искажение вершин формы волны.

Звук

Звуковая система id Tech 3 выводит на два канала с использованием выходного буфера зацикливания, микшированного из 96 треков с стереопространством и эффектом Доплера. Все микширование звука выполняется внутри движка, что может создать проблемы для лицензиатов, надеющихся реализовать поддержку EAX или объемного звука. Также отсутствуют некоторые популярные эффекты, такие как эхо.

Основным недостатком звуковой системы является то, что микшер не имеет собственного потока, поэтому, если игра слишком долго останавливается (особенно при навигации по меню или подключении к серверу), небольшой выходной буфер будет начало зацикливаться, очень заметный артефакт. Эта проблема также присутствовала в движках Doom 3, Quake и Quake II.

Networking

id Tech 3 использует систему «моментальных снимков» для передачи информации об игровых «фреймах» клиенту через UDP. Сервер обновляет взаимодействие с объектами с фиксированной скоростью, независимо от скорости, с которой клиенты обновляют сервер своими действиями, а затем пытается отправить состояние всех объектов в этот момент (текущий фрейм сервера) каждому клиенту. Сервер пытается опустить как можно больше информации о каждом кадре, передавая только отличия от последнего кадра, который клиент подтвердил как полученный (Дельта-кодирование ). Все пакеты данных сжимаются с помощью кодирования Хаффмана со статическими предварительно вычисленными частотными данными, чтобы еще больше сократить использование полосы пропускания.

Quake 3 также интегрировал относительно сложную систему защиты от читерства, которая называется «чистый сервер». " У любого клиента, подключающегося к чистому серверу, автоматически включается чистый режим, а пока включен чистый режим, можно получить доступ только к файлам в пакетах данных. Клиенты отключаются, если их пакеты данных не проходят одну из нескольких проверок целостности. Файл cgame.qvmс его высоким потенциалом модификации, связанной с читерством, подлежит дополнительной проверке целостности. Разработчики должны вручную деактивировать чистый сервер для тестирования карт или модов, не входящих в пакеты данных, с использованием формата файла PK3. Более поздние версии дополнили чистый сервер поддержкой PunkBuster, хотя все привязки к нему отсутствуют в выпуске исходного кода, потому что PunkBuster - это программное обеспечение с закрытым исходным кодом и включает его поддержку в выпуске исходного кода. привело бы к нарушению всеми распространителями / повторными пользователями кода GPL.

Виртуальная машина

id Tech 3 использует виртуальную машину для управления поведением объекта на сервере, эффекты и прогнозирование на клиенте и пользовательском интерфейсе. Это дает много преимуществ, поскольку авторам модов не нужно беспокоиться о сбое всей игры из-за плохого кода, клиенты могут отображать более сложные эффекты и игровые меню, чем это было возможно в Quake II, а пользовательский интерфейс для модов был полностью изменен. настраиваемый.

Файлы виртуальных машин разрабатываются в ANSI C с использованием LCC для их компиляции в 32-битный RISC формат псевдо-сборки. Затем инструмент под названием q3asm преобразует их в файлы QVM, которые представляют собой многосегментные файлы, состоящие из статических данных и инструкций на основе сокращенного набора входных кодов операций. Если не используются операции, требующие определенного порядка байтов, файл QVM будет работать одинаково на любой платформе, поддерживаемой Quake 3.

Виртуальная машина также содержала компиляторы байт-кода для x86 и PowerPC, выполнение инструкций QVM через интерпретатор.

ioquake3
Автоматическое specular и нормальное отображение в ioQuake3, Tremulous 1.3 пререлизный клиент

Ioquake3 - это проект игрового движка, который нацелен на использование релиза id Tech 3 исходного кода с целью удаления ошибок и очистки исходный код и добавление дополнительных графических и звуковых функций через SDL и OpenAL. ioquake3 также предназначен для работы как чистый базовый пакет, на котором могут быть построены другие проекты. Движок игры поддерживает формат Ogg Vorbis и видеозахват демонстраций в формате .avi.

Проект был запущен вскоре после выпуска исходного кода с целью создания Распространение исходного кода движка Quake III без ошибок,, с открытым исходным кодом, на котором могут быть основаны новые игры и проекты. Кроме того, проект направлен на создание улучшенной среды, в которой можно будет играть в Quake III: Arena, пакет расширения Team Arena и все популярные моды. Среди заметных функций, добавленных проектом, - встроенная поддержка VoIP, анаглифный стереорендеринг (для просмотра в 3D-очках) и многочисленные исправления безопасности. Список некоторых функций доступен на веб-сайте проекта..

Ioquake3 был основой нескольких игровых проектов, основанных на движке id Tech 3, таких как OpenArena (имитирующий Quake III Arena), Tremulous, Smokin 'Guns, Urban Terror, Turtle Arena и World of Padman, а также проекты игрового движка, такие как efport (проект по воссозданию движка Star Trek: Voyager - Elite Force Holomatch ), ioJedi Outcast, ioJedi Academy, ioDoom3 и OpenMoHAA. Движок и связанные с ним игры были включены в несколько дистрибутивов Linux и BSD.

Исходный код для Return to Castle Wolfenstein и Движки Wolfenstein: Enemy Territory были выпущены под Стандартной общественной лицензией GNU 12 августа 2010 г. Разработчики ioquake3 объявили о начале соответствующих проектов движков (iortcw, iowolfet, Enemy Territory: Legacy) вскоре после этого.

Проект ioquake3 также использовался в академической сфере в качестве основы для различных исследований в таких учреждениях, как Центр компьютерных исследований в музыке и акустике Стэнфордского университета (CCRMA), Notre Dame as фонд для исследований в области виртуальной реальности и Центр передовых интернет-архитектур Суинбернского технологического университета. Есть даже совместные усилия исследователей из Университета Карнеги-Меллона и Университета Торонто, которые используют ioquake3 в качестве платформы для своих опубликованных исследований. Студенты использовали ioquake3 в качестве основы для продвинутой работы с графикой для своих диссертаций, например, работы Стефана Рейтера, который даже был отмечен в проекте LLVM благодаря его синтезу движка ioquake3, техники рендеринга с трассировкой лучей и LLVM.

Хотя название «ioquake3» основано на сайте Райана «Икулуса» Гордона icculus.org, Райан не руководит проектом. Вместо этого он поддерживает роль наставника и предоставляет хостинг для списков рассылки и репозитория SVN, используемых в проекте.

Игры, использующие движок

Игры, основанные на исходной версии

  • OpenArena - отдельная игра с открытым исходным кодом, в значительной степени основанная на смертельном матче в стиле Quake III Arena. Геймплей пытается имитировать Quake III Arena в том, что игрок забивает фраги, чтобы выиграть игру, используя сбалансированный набор оружия, каждое из которых предназначено для разных ситуаций. OpenArena также может запускать некоторые моды на основе Quake III Arena, такие как Tremulous 1.0. OpenArena работает на ioquake3, а версия 0.8 была успешно перенесена на Android.
  • Space Trader - игра в жанре экшн / стратегия от HermitWorks Entertainment.
  • Smokin 'Guns - игра от первого лица с открытым исходным кодом это должно было быть полуреалистичной симуляцией атмосферы «Старого Запада». Первоначально модификация Quake III Arena, но стала отдельной игрой. Он был перенесен обратно на движок ioquake3 в 2009 году.
  • Urban Terror - мод для полной конверсии Quake III Arena , хотя он разработан и выпущен для работы с розничным программным обеспечением Quake III Arena, он также является совместим с альтернативами движка с открытым исходным кодом. Геймплей можно сравнить с Counter-Strike с большим акцентом на движение с его функциями паркур. Urban Terror работает на движке ioquake3.
  • Tremulous - Tremulous - это асимметричный шутер от первого лица, основанный на игре про пришельцев и людей, с элементами стратегии в реальном времени. Каждая команда может построить и защитить базу, состоящую из основных и вспомогательных структур, которые тем или иным образом помогают игрокам. Победа команды обычно достигается за счет уничтожения вражеских структур возрождения и оставшихся игроков. Tremulous начинался как мод Quake III Arena, но с версии 1.1 игра стала автономной на движке ioquake3.

Игры с проприетарной лицензией

На основе id Tech 3
Использование id Tech 3 с ÜberTools
  • Портал бесплатного и открытого программного обеспечения
  • Портал видеоигр
Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-23 10:22:07
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте