id Tech 2
id Tech 2 (раніше відомий як Quake II engine) — гральний рушій, розроблений переважно Джоном Кармаком (англ. John Carmack), головним програмістом компанії id Software в 1997 році. Незважаючи на те, що рушій розроблявся в першу чергу для гри Quake II, пізніше його ліцензували багато інших розробників.
id Tech 2 | |
---|---|
Рушій гри (Список) | |
Частина серії рушіїв | id Tech |
Попередній рушій серії | Quake Engine |
Наступний рушій серії | id Tech 3 |
Ліцензія |
до 22 грудня 2001 року — комерційне ПЗ після 22 грудня 2001 року — вільне ПЗ: GNU GPL |
Перша гра на рушію | Quake II / 9.12.1997 |
Остання гра на рушію | UFO: Alien Invasion / 17.6.2010 |
Сторінка рушія |
Технічні характеристики
Рушій є подальшим розвитком Quake Engine. Ґрунтуючись на цьому рушії, він включає напрацювання GLQuake (розширений в плані графіки Quake під прискорювач Voodoo 1), Quake World (багатокористувацький компонент для Quake) та WinQuake (Quake під Windows 95).
Вперше в серії рушіїв від id була включена підтримка прискорювачів графіки (OpenGL) для карт 3dfx Voodoo, nVidia RIVA TNT, ATI RagePro. Однак на момент виходу рушія прискорювачі графіки були мало поширені, тому в рушій було включено і програмний рендеринг.
Формат рівнів використовує BSP-дерево. Додатково до нього рушій використовує технологію скайлайн — полігони рівнів прораховуються спочатку зверху до умовної межі-горизонту, потім знизу.
Освітлення рівнів використовує метод карт освітлення (англ. lightmap), в яких світлові дані для кожної поверхні попередньо розраховуються (для створення дорозрахункових карт тіней id Software використовувала метод radiosity) і зберігаються як зображення у файлах. Карти освітленості використовуються для визначення того, яку інтенсивність світла має отримати кожна модель, але вони не визначають напрямок, через що можна було помітити, що тіні іноді падали незалежно від розташування ламп або просто висіли на повітрі.
Рендерер, графічний рушій, розділений на компоненти, які знаходились в окремих DLL-файлах. Саме це дозволило включити в рушій два рендерери, які перебували в окремих файлах. Також це дозволяло модифікувати рушій для ігор. Ігрова логіка була також винесена в окремі файли з двох причин: id Software могла випускати (публікувати) сирцевий код цих бібліотек для підтримки розробки модифікацій, і в той же час зберігала закритим сирцевий код самого рендерера та інших частин рушія; оскільки бібліотеки були скомпільовані для рідної платформи замість інтерпретування, вони могли працювати швидше, ніж аналогічні компоненти Quake, які повинні були виконувати ігрову логіку QuakeC в обмеженому інтерпретаторі.
22 грудня 2001 року автор рушія, Джон Кармак, опублікував сирцевий код рушія під ліцензією GNU General Public License.[1] Його можна звантажити з офіційного FTP-сервера[недоступне посилання з Сентябрь 2017].
Ігри, що використовують id Tech 2
- Quake II (1997) — id Software
- Quake II Mission Pack: The Reckoning (1998) — Xatrix Entertainment
- Quake II Mission Pack: Ground Zero (1998) — Rogue Entertainment
- Zaero: Mission Pack for Quake II (1998) — Team Evolve
- Juggernaut: The Story New for Quake II (1998) — Canopy Games
- Quake II Netpack I: Extremities (1999) — Activision
- Heretic II (1998) — Raven Software
- SiN (1998) — Ritual Entertainment
- SiN Mission Pack: Wages of Sin (1999) — 2015, Inc.
- Kingpin: Life of Crime (1999) — Xatrix Entertainment
- Soldier of Fortune (2000) — Raven Software
- Daikatana (2000) — Ion Storm
- AmsterDoom (2000) — Davilex Games
- Invasion Deutschland (2000) — Davilex Games
- Anachronox (2001) — Ion Storm
- Лендліз (2004) — Fragmaker
- Спецназ: Антитерор (2004) — G. O. G. Games
- Спецназ: Антитерор. Місія на Балканах (2005) — G. O. G. Games
- Спецназ: Антитерор. Афганістан (2005) — G. O. G. Games
- Солдат Імперії (2004) — Fragmaker
- Замок на Екзі (2005) — Fragmaker
- OverDose (TBA) — Team Blur Games (сильно модифікована версія)
Похідні рушії
- AprQ2
- berserker@quake2
- EGL
- Jake2 (рушій Quake II, портований на Java)
- NoCheat
- q2
- Q2Pro
- Quake II AbSIRD (Renders Quake II in Random Single Image Dot Stereogram imagery)
- Qfusion
- Quake II for Mac OS X
- Quake2maX
- quake2xp
- Quake2 .NET (Quake II engine, портований на платформу .NET)
- R1Q2
- Yamagi Quake II