stringtranslate.com

ID Tech 3

Star Trek: Elite Force II — одна из последних игр, использующих движок id Tech 3.

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

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

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

Функции

Графика

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

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

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

Нетворкинг

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

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

ioquake3

Автоматическое отображение отражений и нормалей в ioQuake3, предварительная версия клиента Tremulous 1.3

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

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

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

Исходный код движков Return to Castle Wolfenstein и Wolfenstein: Enemy Territory был выпущен под лицензией GNU GPL-3.0 или более поздней 12 августа 2010 года. [22] Разработчики ioquake3 объявили о начале других проектов движков. [23]

Проект ioquake3 использовался в академических исследованиях, таких как Центр компьютерных исследований в области музыки и акустики (CCRMA) Стэнфордского университета [24] [25] , Нотр-Дам в качестве основы для исследований виртуальной реальности [26] и Центр передовых архитектур Интернета Технологического университета Суинберна. [27] [28] Совместные усилия исследователей из Университета Карнеги-Меллона и Университета Торонто используют ioquake3 в качестве платформы для своих опубликованных исследований. [29] [30] Студенты использовали ioquake3 в качестве основы для продвинутых графических работ для своих диссертаций, таких как работа Стефана Рейтера [31] [32] , которая была отмечена в проекте LLVM [33] благодаря его синтезу движка ioquake3, техники рендеринга с трассировкой лучей и LLVM.

С тех пор проект получил ответвления, такие как Quake3e, [34] Spearmint, [35] и vkQuake3. [36] [37]

Другие производные движки включают движок Daemon , используемый Unvanquished , [38] [39] [40], а также конкурирующие исходные порты, такие как XreaL, [41] [42] Kwaak3 для Android [43] [44] [45] [46] [47] [48] и Quake-3-Android-Port-QIII4A. [49]

Игры

Смотрите также

Ссылки

  1. ^ Дженнелл Джакуэйс , Брайан Хук. «Quake III Arena Shader Manual». стр. 5. Архивировано из оригинала 14 апреля 2006 г. Получено 1 октября 2006 г.
  2. ^ Дженнелл Джакуэйс , Брайан Хук. «Quake III Arena Shader Manual». стр. 1. Архивировано из оригинала 4 сентября 2006 г. Получено 1 октября 2006 г.
  3. ^ Эберли, Дэвид (2002). "Быстрый обратный квадратный корень" (PDF) . Геометрические инструменты. стр. 2. Архивировано из оригинала (PDF) 24 февраля 2009 г.
  4. ^ Sommefeldt, Rys (29 ноября 2006 г.). "Origin of Quake3's Fast InvSqrt()". Beyond3D . Архивировано из оригинала 9 февраля 2009 г. . Получено 12 февраля 2009 г. .
  5. ^ "Book of Hook: The Quake3 Networking Model". Архивировано из оригинала 27 октября 2006 г. Получено 1 октября 2006 г.
  6. ^ "Ioquake3 Help Page". Архивировано из оригинала 11 января 2016 года . Получено 17 февраля 2007 года .
  7. ^ "Полное руководство: настройка и индивидуальная настройка ioQuake3 в Linux". Linux Today. Архивировано из оригинала 9 марта 2012 г. Получено 3 января 2010 г.
  8. ^ "Quake 3 портирован на iPod Touch с управлением наклоном – Betanews". 14 апреля 2008 г. Получено 4 января 2010 г.
  9. ^ Valich, Theo (3 апреля 2007 г.). "Two free games based on the Quake 3 engine tip up". The Inquirer . Архивировано из оригинала 28 августа 2010 г. Получено 12 января 2010 г.{{cite web}}: CS1 maint: неподходящий URL ( ссылка )
  10. ^ "ioquake3 для OS X – Inside Mac Games". Архивировано из оригинала 24 сентября 2015 г. Получено 3 января 2010 г.
  11. ^ "ioquake3 для Mac OS X доступен для загрузки – Macsimum News". Архивировано из оригинала 12 сентября 2006 г. Получено 3 января 2010 г.
  12. ^ "IOQuake3 OSX: Clone de Quake III (бесплатно) – MaxiApple.com". 10 мая 2009 г. Получено 3 января 2010 г.
  13. ^ «IOQuake3 1.34 – Jogue Quake 3 без Mac OS X – Maclivre.net» . Архивировано из оригинала 23 июля 2011 года . Проверено 4 января 2010 г.
  14. ^ "Tremulous about page". Архивировано из оригинала 10 декабря 2015 г. Получено 4 ноября 2009 г.
  15. ^ "Quake, Meet GPL; GPL, Meet Quake – Linux Journal". Архивировано из оригинала 1 октября 2020 г. Получено 4 января 2010 г.
  16. ^ "Entretien avec l'équipe de Smokin'Guns - JeuxLinux" . Архивировано из оригинала 19 марта 2021 года . Проверено 4 ноября 2009 г.
  17. ^ "Руководство по городскому террору" . Получено 18 мая 2015 г. .
  18. ^ "Two free games based the Quake 3 engine tip up – The Inquirer". Архивировано из оригинала 28 августа 2010 года . Получено 4 января 2010 года .{{cite web}}: CS1 maint: неподходящий URL ( ссылка )
  19. ^ «Взгляд на бесплатные игры на движке Quake3 – Slashdot». 6 апреля 2007 г. Архивировано из оригинала 19 марта 2021 г. Получено 3 января 2010 г.
  20. ^ "Сравнение бесплатных программ-шутеров – linuX-gamers.net" . Получено 4 января 2010 г.[ мертвая ссылка ]
  21. Procter, Lewie (13 августа 2020 г.). «Star Trek: Voyager Elite Force Holomatch получает бесплатный 20-летний юбилейный перевыпуск». wePC . Получено 25 марта 2023 г.
  22. ^ ftp://ftp.idsoftware.com/idstuff/source/ [ постоянная мертвая ссылка ]
  23. ^ Ларабель, Майкл (13 июня 2010 г.). "id Software Open-Sources ET, RTCW". Phoronix . Архивировано из оригинала 16 августа 2010 г. . Получено 13 августа 2010 г. .
  24. ^ "Q3osc research paper" (PDF) . Архивировано (PDF) из оригинала 19 марта 2021 г. . Получено 9 января 2010 г. .
  25. ^ "Q3osc вики" . Проверено 9 января 2010 г.
  26. ^ "Обзор технологий совместной виртуальной среды" (PDF) . Архивировано из оригинала (PDF) 10 октября 2015 г. . Получено 9 января 2010 г. .
  27. ^ "L3DGEWorld 2.1 Input & Output Specifications" (PDF) . Архивировано (PDF) из оригинала 5 октября 2011 г. . Получено 9 января 2010 г. .
  28. ^ "L3DGEWorld 2.3". Архивировано из оригинала 5 октября 2011 г. Получено 9 января 2010 г.
  29. ^ "VMM-Independent Graphics Acceleration" (PDF) . Архивировано из оригинала (PDF) 9 октября 2009 г. . Получено 9 января 2010 г. .
  30. Статья VMM в ACM. 13 июня 2007 г. стр. 33–43. doi :10.1145/1254810.1254816. ISBN 978-1-59593-630-1. S2CID  655357 . Получено 9 января 2010 г. .
  31. ^ "Трассировка лучей в реальном времени динамических сцен" . Получено 22 апреля 2012 г.
  32. ^ "Run-Time Code Generation for Materials" . Получено 22 апреля 2012 г. .
  33. ^ "LLVM Users, Open Source Projects". Архивировано из оригинала 23 февраля 2021 г. Получено 9 января 2010 г.
  34. ^ Ларабель, Майкл (16 марта 2021 г.). «Драйвер V3DV Vulkan получил больше оптимизаций для поддержки Raspberry Pi 4». Phoronix . Получено 9 августа 2024 г.
  35. ^ Ларабель, Майкл (19 сентября 2018 г.). «Движок Spearmint 1.0, производный от Ioquake3, выйдет в следующем месяце, но разработка прекращена». Phoronix . Получено 9 августа 2024 г.
  36. ^ Лю, Чжие (20 июня 2020 г.). «Драйвер Vulkan от инженера Nvidia для Raspberry Pi запускает Quake III со скоростью более 100 кадров в секунду при разрешении 720p». Tom's Hardware . Получено 20 июля 2024 г.
  37. ^ Ларабель, Майкл (27 марта 2019 г.). «Слой переносимости Rust Vulkan «Gfx-rs» теперь может работать с vkQuake3». Phoronix . Получено 21 июля 2024 г. .
  38. Майкл Ларрабел (1 июля 2012 г.). «Unvanquished: Очень многообещающая игра с открытым исходным кодом». Phoronix . Получено 7 июля 2015 г.
  39. ^ Ларабель, Майкл (15 сентября 2013 г.). «Unvanquished переписывает, модернизирует движок Quake 3». Phoronix . Получено 9 августа 2024 г.
  40. ^ Ларабель, Майкл (3 августа 2015 г.). «Unvanquished делает свой движок с открытым исходным кодом простым для других игр». Phoronix . Получено 9 августа 2024 г.
  41. Ларабель, Майкл (9 апреля 2009 г.). «XreaL: Самый передовой игровой движок с открытым исходным кодом?». Phoronix . Получено 21 июля 2024 г.
  42. ^ Ларабель, Майкл (1 декабря 2012 г.). «Состояние XReaL, OpenWolf Game Engines». Phoronix . Получено 21 июля 2024 г. .
  43. ^ "Quake 3, Android style". TechCrunch . 25 февраля 2010 г. Получено 21 июля 2024 г.
  44. Ларабель, Майкл (23 февраля 2010 г.). «Quake 3 выходит на платформу Android от Google». Phoronix . Получено 21 июля 2024 г.
  45. Spencer, Spanner (26 февраля 2010 г.). «Quake 3 портирован на Android». Pocket Gamer . Получено 21 июля 2024 г.
  46. Савов, Влад (25 февраля 2010 г.). «Quake 3, портированный на Android, демонстрирует графическое мастерство Droid (видео)». Engadget . Получено 21 июля 2024 г.
  47. Перес, Энтони (24 февраля 2010 г.). «Quake 3 успешно портирован на устройства Android 2.0». Phanadroid . Получено 21 июля 2024 г. .
  48. Кеннемер, Квентин (10 мая 2010 г.). «Quake 3 наконец-то портирован на Nexus One». Phanadroid . Получено 21 июля 2024 г.
  49. ^ Рахман, Мишаал (16 мая 2017 г.). «Как играть в Return to Castle Wolfenstein, Doom 3 и Quake 3 (с Arena) на вашем Android-устройстве». XDA Developers . Получено 21 июля 2024 г.

Внешние ссылки