Id Tech 3 - Id Tech 3
![]() | |
![]() id Tech 3 palce Quake III, rodičovská hra motoru | |
Vývojáři | id Software |
---|---|
Stabilní uvolnění | 1.32b / 19. srpna 2005 |
Úložiště | github.com/id-Software/Quake-III-Arena |
Napsáno | C (přepsáno 14% v C ++ ) |
Plošina | PC, Operační Systém Mac, OS X, Linux, Obsazení snů, Nintendo GameCube, Nintendo Switch, Playstation 2, PlayStation 3, PlayStation 4, Xbox, Xbox 360, iOS, Android |
Předchůdce | Motor Quake II |
Nástupce | id Tech 4 |
Licence | GNU General Public License |
webová stránka | www![]() |

id Tech 3, populárně známý jako Aréna Quake III motor, je herní engine vyvinutý uživatelem id Software pro jejich videohru Aréna Quake III. To bylo přijato mnoha hrami. Během své doby soutěžil s Neskutečný motor; oba motory byly široce licencovány.
Zatímco id Tech 3 je založen na id Tech 2 velké množství kódu bylo přepsáno. Nástupce id Tech 4 byl odvozen od id Tech 3, jak byl Infinity Ward je IW motor použito v Call of Duty 2 dále.
V QuakeCon 2005, John Carmack oznámil, že id Tech 3 zdrojový kód bude propuštěn pod GNU General Public License (verze 2) a byla vydána 19. srpna 2005. Původně distribuováno id via FTP,[1] kód lze stáhnout z ID GitHub účet.
Funkce
Grafika
Na rozdíl od většiny ostatních herních engine vydaných v té době - včetně jejího hlavního konkurenta, Neskutečný motor, ID Tech 3 vyžaduje OpenGL -v souladu grafický akcelerátor běžet. Motor neobsahuje a softwarový renderer.
id Tech 3 představil kromě rovinných objemů také spline zakřivené povrchy, které jsou zodpovědné za mnoho povrchů přítomných ve hře.[2]
- Shadery
Grafická technologie hry je pevně založena na „shader „systém, kde lze definovat vzhled mnoha povrchů v textových souborech označovaných jako„ shaderové skripty. “Stíny jsou popsány a vykresleny jako několik vrstev, každá vrstva obsahuje texturu,„ režim prolnutí “, který určuje, jak ji překrýt přes předchozí režimy orientace vrstev a textur, jako je mapování prostředí, posouvání a rotace. Tyto funkce lze snadno vidět ve hře s mnoha jasnými a aktivními povrchy na každé mapě a dokonce i na modelech postav. Systém shaderů jde nad rámec vizuálního vzhledu a definuje obsah svazků (např. objem vody je definován aplikací vodní clony na jeho povrchy), emise světla a zvuk, který se má přehrát, když je objem vyšlapán.[3] Abychom pomohli výpočtu těchto shaderů, id Tech 3 implementuje konkrétní rychlá druhá odmocnina funkce, která přilákala značné množství pozornosti ve vývojářské komunitě her pro její chytré využívání celočíselných operací.[4][5]
- Video
Všechna herní videa používají proprietární formát s názvem „RoQ“, který původně vytvořil Graeme Devine, spoluautor návrhu Zemětřesení 3, pro hru 11. hodina. Interně používá RoQ vektorové kvantování kódovat video a DPCM pro kódování zvuku. I když je formát sám o sobě proprietární, v roce 2001 byl úspěšně zpětně analyzován,[6] a skutečný dekodér RoQ je přítomen v Zemětřesení 3 vydání zdrojového kódu. RoQ viděl malé použití mimo hry založené na id Tech 3 nebo id Tech 4 motory, ale je podporován několika přehrávači videa (např MPlayer ) a existuje několik kodérů třetích stran. Jednou významnou výjimkou je Neskutečný motor -založená hra Poštovní 2: Víkend apokalypsy, který používá soubory RoQ pro intro a outro cutscény, stejně jako pro vtip cutscénu, který hraje po misi na konci první části.
- Modely
id Tech 3 načte 3D modely ve formátu MD3. Formát používá vrchol pohyby (někdy nazývané animace vrcholů ) naproti tomu kosterní animace za účelem uložení animace. Animační funkce ve formátu MD3 jsou lepší než ty v id Tech 2 je MD2 formát, protože animátor může mít proměnný počet klíčové rámečky za sekundu místo standardních 10 klíčových rámců MD2 za sekundu. To umožňuje složitější animace, které jsou méně „vratké“ než modely nalezené v Quake II.
Další důležitou vlastností formátu MD3 je, že modely jsou rozděleny do tří různých částí, které jsou navzájem ukotveny. Obvykle se to používá k oddělení hlavy, trupu a nohou, aby se každá část mohla samostatně animovat kvůli míchání animací (tj. Běžící animace na nohou a střelecká animace na trupu). Každá část modelu má vlastní sadu textur.
Modely postav jsou osvětleny a stínovány pomocí Gouraudovo stínování zatímco úrovně (uložené v Formát BSP ) svítí buď světelné mapy nebo Gouraudovo stínování v závislosti na preferencích uživatele. Motor je schopen vzít ze světelné mřížky barevná světla a aplikovat je na modely, což vede ke kvalitě osvětlení, která byla na svou dobu velmi vyspělá.
Ve verzi zdrojového kódu GPLed se většina kódu zabývá MD4 kosterní animace soubory chyběly.[Citace je zapotřebí ] Předpokládá se, že id jednoduše nikdy nedokončil formát,[7] ačkoli téměř všichni držitelé licence odvodili své vlastní systémy kosterní animace z toho, co bylo přítomno. Rituální zábava udělal to pro použití ve hře, Heavy Metal: F.A.K.K.², SDK které tvořily základ podpory MD4 dokončené někým, kdo používal pseudonym Gongo.[8]
- Dynamické stíny
Motor je schopen tří různých druhů stínů. Jeden jen umístí kruh s vybledlými okraji k nohám postav, běžně známý jako technika „blob shadow“. Ostatní dva režimy promítají přes podlahu přesný polygonální stín. Rozdíl mezi posledními dvěma režimy spočívá v tom, že se člověk spoléhá na neprůhledné, plné černé stíny, zatímco druhý režim se pokouší (se smíšeným úspěchem) promítat hloubkový stínový stínový objem stíny ve středně průhledné černé barvě. Ani jedna z těchto technik nepřichytává svazky stínů, což vede k tomu, že se stíny rozšiřují po stěnách a procházejí geometrií.
- Další funkce vykreslování
Mezi další vizuální funkce patří objemová mlha, zrcadla, portály, obtisky a zkreslení vrcholů vlnového tvaru.
Zvuk
id Tech 3 'Výstup zvukového systému do dvou kanálů pomocí smyčkového výstupního bufferu, smíchaného z 96 stop s stereofonní prostorovost a Dopplerův jev. Veškeré míchání zvuku se provádí uvnitř enginu, což může způsobit problémy držitelům licence, kteří doufají v implementaci EAX nebo prostorový zvuk Podpěra, podpora.[Citace je zapotřebí ] Chybí také několik populárních efektů, jako jsou ozvěny.
Hlavní chybou zvukového systému je, že mixážní pult nemá vlastní vlákno,[9] takže pokud se hra zastaví příliš dlouho (zejména při navigaci v nabídkách nebo při připojení k serveru), začne malá smyčka výstupu smyčky, což je velmi nápadný artefakt. Tento problém byl také přítomen v Doom 3, Zemětřesení, a Quake II motory.[Citace je zapotřebí ]
Síťování
id Tech 3 používá systém „snímků“ k předávání informací o „rámcích“ her klientovi UDP. Server aktualizuje interakci objektu pevnou rychlostí nezávisle na rychlosti klienti aktualizují server svými akcemi a poté se pokusí odeslat stav všech objektů v daném okamžiku (aktuální rámec serveru) každému klientovi. Server se pokouší vynechat co nejvíce informací o každém rámci, přenáší pouze rozdíly od posledního rámce, který klient potvrdil jako přijatý (Delta kódování ). Všechny datové pakety jsou komprimovány pomocí Huffmanovo kódování se statickými předpočítanými daty frekvence, aby se ještě více snížilo využití šířky pásma.[10]
Zemětřesení 3 také integroval relativně propracovaný systém ochrany cheatů zvaný „čistý server“. Každý klient, který se připojuje k čistému serveru, má automaticky povolený čistý režim a zatímco je povolen čistý režim, lze přistupovat pouze k souborům v datových balíčcích. Klienti jsou odpojeni, pokud jejich datové balíčky selžou při jedné z několika kontrol integrity. The cgame.qvm Soubor s vysokým potenciálem pro úpravy související s podváděním podléhá dalším kontrolám integrity.[Citace je zapotřebí ] Vývojáři musí ručně deaktivovat čistý server, aby mohli otestovat mapy nebo mody, které nejsou v datových balíčcích, pomocí formátu souboru PK3. Novější verze doplňovaly čistý server s PunkBuster podpora, ačkoli ve vydání zdrojového kódu chybí všechny háčky, protože PunkBuster ano uzavřený zdroj software a zahrnutí jeho podpory do vydání zdrojového kódu by způsobilo, že by jakíkoli redistributoři / opakovaní uživatelé kódu porušili GPL.[11]
Virtuální stroj
id Tech 3 používá a virtuální stroj řídit chování objektu na serveru, efekty a predikci na klientovi a uživatelském rozhraní. To představuje mnoho výhod, protože autoři modů se nemusí starat o zhroucení celé hry se špatným kódem, klienti mohli zobrazit pokročilejší efekty a herní menu, než bylo možné v Quake II a uživatelské rozhraní pro mody bylo zcela přizpůsobitelné.
Soubory virtuálních strojů jsou vyvíjeny v ANSI C., použitím LCC sestavit je do a 32-bit RISC formát pseudosestavy. Nástroj s názvem q3asm poté je převede na soubory QVM, což jsou vícesegmentové soubory skládající se ze statických dat a pokynů založených na omezené sadě vstupních kódů. Pokud nejsou operace, které vyžadují konkrétní endianismus jsou použity, soubor QVM poběží stejně na jakékoli platformě podporované Zemětřesení 3.
Virtuální stroj také obsahoval kompilátory bytecode pro x86 a PowerPC architektury, provádějící pokyny QVM prostřednictvím tlumočník.
ioquake3

Ioquake3 je herní engine projekt, jehož cílem je navázat na id Tech 3 zdrojový kód uvolnění[12][13] za účelem odstranění chyb vyčistěte zdrojový kód a přidejte pokročilejší grafické a zvukové funkce pomocí SDL a OpenAL. ioquake3 má také fungovat jako čistý základní balíček, na kterém mohou být postaveny další projekty. Herní engine podporuje Ogg Vorbis formát a videozáznam ukázek v systému Windows .avi formát.[14]
Projekt byl zahájen krátce po vydání zdrojového kódu s cílem vytvořit Chyba - zdarma, vylepšené otevřený zdroj Quake III distribuce zdrojového kódu motoru, na které mohou být založeny nové hry a projekty. Cílem projektu je navíc poskytnout vylepšené prostředí, ve kterém Quake III: Arena, Týmová aréna datadisk a všechny populární mody lze přehrávat.[15][16][17][18] Pozoruhodné funkce přidané projektem zahrnují vestavěné VoIP Podpěra, podpora, Anaglyph stereo vykreslování (pro sledování s 3D brýlemi) a četné opravy zabezpečení. Seznam některých funkcí je k dispozici na projektu webová stránka.
Ioquake3 byl základem několika herních projektů založených na id Tech 3 enginu, jako např OpenArena (napodobování Aréna Quake III),[19][20] Třásl se,[21][22] Smokin 'Guns,[23] Urban Terror,[24][25] Želví aréna a Svět Padmana[26][27] stejně jako projekty herních engine jako význam (A Star Trek: Voyager - Elite Force Holomatch motorový rekreační projekt), ioJedi Outcast,[28] Akademie ioJedi,[29] ioDoom3[30] a OpenMoHAA.[31] Engine a související hry byly zahrnuty do několika Linux a BSD distribuce.[32][33][34][35][36]
Zdrojový kód pro Vraťte se na hrad Wolfenstein a Wolfenstein: Enemy Territory motory byly uvolněny pod GNU General Public License 12. srpna 2010.[37] Vývojáři ioquake3 oznámili zahájení příslušných projektů motorů (iortcw,[38][39] iowolfet, Nepřátelské území: Legacy[40]) brzy poté.[41]
Projekt ioquake3 byl také použit v akademické sféře jako základ pro řadu výzkumů v institucích, jako je Centrum počítačového výzkumu hudby a akustiky (CCRMA) Stanfordské univerzity,[42][43] Notre Dame jako základ pro výzkum VR,[44] a Centrum pokročilých internetových architektur University of Technology Swinburne.[45][46]Existují dokonce i společné snahy výzkumníků z Carnegie Mellon University a University of Toronto, kteří používají ioquake3 jako platformu pro své publikované výzkumy.[47][48] Studenti použili ioquake3 jako základ pro pokročilou grafickou práci pro své práce, stejně jako práce Stephana Reitera[49][50] který byl dokonce zaznamenán na projektu LLVM[51] díky jeho syntéze motoru ioquake3, techniky vykreslování paprsků a LLVM.
Název „ioquake3“ je založen na Ryane „Icculus“ Gordone stránky icculus.org Ryan nevede projekt. Místo toho udržuje roli mentora a zajišťuje hosting pro seznam e-mailových adres a Úložiště SVN použitý projektem.[52]
Hry využívající engine
Hry založené na vydání zdroje
- OpenArena - Samostatná samostatná hra s otevřeným zdrojovým kódem založená převážně na Aréna Quake III -stylový deathmatch. Hra se pokouší napodobit Aréna Quake III v tom, že hráč skóroval fragy, aby vyhrál hru pomocí vyvážené sady zbraní, z nichž každá byla navržena pro různé situace. OpenArena je také schopná některé provozovat Aréna Quake III založené mody jako Tremulous 1.0. OpenArena běží na ioquake3 a verze 0.8 byla úspěšně přenesena na Android.[53]
- Space Trader - Akční / strategická hra z HermitWorks Entertainment.
- Smokin 'Guns - Open source hra z pohledu první osoby, která měla být semi-realistickou simulací atmosféry „Starého Západu“. Původně a Aréna Quake III modifikace, ale stala se samostatnou hrou. V roce 2009 byl přenesen zpět na motor ioquake3.[54]
- Urban Terror - A Aréna Quake III celková konverze mod zatímco je navržen a uvolněn pro práci s maloobchodním softwarem Aréna Quake III, Je také kompatibilní s alternativami open source engine. Hratelnost lze přirovnat k Protiúder s větším zaměřením na pohyb s parkour funkce. Urban Terror běží na motoru ioquake3.
- Třásl se - Tremulous je otevřená asymetrická mimozemská vs lidská týmová střílečka z pohledu první osoby s prvky strategie v reálném čase. Každý tým může postavit a bránit základnu, která se skládá ze základních a podpůrných struktur, které nějakým způsobem pomáhají hráčům. Vítězství týmu se obvykle provádí vyloučením nepřátelských spawnových struktur a zbývajících hráčů. Tremulous začal jako Aréna Quake III mod, ale od verze 1.1 se hra na enginu ioquake3 stala samostatnou.
Hry využívající vlastní licenci
- Na základě id Tech 3
- Aréna Quake III (1999) – id Software
- Quake III: Team Arena (2000) - id Software
- Revoluce Quake III (2001) – Bullfrog Productions
- Americká McGeeova Alice (2000) — Rogue Entertainment
- Star Trek: Voyager - Elite Force (2000) – Raven Software
- Star Trek: Voyager - Elite Force - rozšiřující balíček (2001) - Raven Software
- Vraťte se na hrad Wolfenstein (2001) – Interaktivní šedá hmota (SP) / Nervový software (MP)
- Trinity: The Shatter Effect (Zrušeno) - Interaktivní šedá hmota
- Soldier of Fortune II: Double Helix (2002) - Raven Software
- Star Wars Jedi Knight II: Jedi Outcast (2002) - Raven Software
- Star Wars Jedi Knight: Akademie Jedi (2003) - Raven Software
- Resident Evil: Dead Aim (2003) - Capcom /Cavia
- Wolfenstein: Enemy Territory (2003) – Plošné poškození
- Volání povinnosti (2003) – Infinity Ward
- Call of Duty: United Offensive (2004) - Gray Matter Interactive / Treyarch
- Call of Duty Classic (2009) - Infinity Ward
- Vážnost (Zrušeno) - Profesionální liga pro kybernetické sportovce
- Iron Grip: Warlord (2008) - Isotx
- Temná spása (2009) - Mangled Eye Studios
- Quake Live (2010) - id Software
- Používání id Tech 3 s ÜberTools
- Heavy Metal: F.A.K.K.² (2000) – Rituální zábava
- Americká McGeeova Alice (2000) – Rogue Entertainment
- 007: Agent pod palbou (2001) – EA Redwood Shores
- Medal of Honor: Allied Assault (2002) - 2015, Inc.
- Medal of Honor: Allied Assault - Spearhead (2002) - EA Los Angeles
- Medal of Honor: Allied Assault - Průlom (2003) – Software TKO
- Star Trek: Elite Force II (2003) - Ritual Entertainment
- 007: Všechno nebo nic (2004) - EA Redwood Shores
Reference
- ^ quake3-1.32b-source.zip[trvalý mrtvý odkaz ]
- ^ Paul Jaquays, Brian Hook. „Manuál shaderu arény Quake III“. p. 5. Archivováno od originál dne 14. dubna 2006. Citováno 1. října 2006.
- ^ Paul Jaquays, Brian Hook. „Manuál shaderu arény Quake III“. p. 1. Archivováno od originál 4. září 2006. Citováno 1. října 2006.
- ^ Eberly, David (2002). "Rychlá inverzní odmocnina" (PDF). Geometrické nástroje: 2. Archivovány z originál (PDF) 24. února 2009. Citovat deník vyžaduje
| deník =
(Pomoc) - ^ Sommefeldt, Rys (29. listopadu 2006). „Původ rychlého InvSqrt () Quake3“. Beyond3D. Citováno 12. února 2009.
- ^ Tim Ferguson (2001). „Formát video souboru .RoQ společnosti Id Software“. Archivovány od originál 1. září 2006. Citováno 1. října 2006.
- ^ ioquake3 md4-readme.txt
- ^ gongo. "specifikace souboru m4 v4, gongo". Archivovány od originál dne 15. července 2011. Citováno 11. srpna 2012.
- ^ „Zvuk v hlavním vlákně“. Citováno 16. ledna 2009.
- ^ „Book of Hook: The Quake3 Networking Model“. Archivovány od originál 27. října 2006. Citováno 1. října 2006.
- ^ „Stránka nápovědy Ioquake3“. Citováno 17. února 2007.
- ^ „Complete Guide: Configure and Customize ioQuake3 in Linux“. Linux dnes. Citováno 3. ledna 2010.
- ^ „Quake 3 portován na iPod Touch s ovládacími prvky náklonu - Betanews“. 14. dubna 2008. Citováno 4. ledna 2010.
- ^ Valich, Theo (3. dubna 2007). „Dvě hry zdarma založené na vylepšení enginu Quake 3“. Tazatel. Citováno 12. ledna 2010.
- ^ „ioquake3 pro OS X - hry Inside Mac“. Citováno 3. ledna 2010.
- ^ „ioquake3 pro Mac OS X k dispozici ke stažení - Macsimum News“. Archivovány od originál dne 12. září 2006. Citováno 3. ledna 2010.
- ^ „IOQuake3 OSX: Clone de Quake III (bezplatná) - MaxiApple.com“. 10. května 2009. Citováno 3. ledna 2010.
- ^ „IOQuake3 1.34 - Jogue Quake 3 žádný Mac OS X - Maclivre.net“. Archivovány od originál 23. července 2011. Citováno 4. ledna 2010.
- ^ „Otevřít arénu o stránce“. Citováno 3. listopadu 2009.
- ^ „Hry XP“. Archivovány od originál 20. července 2012. Citováno 3. listopadu 2009.
- ^ "Třepání o stránce". Citováno 4. listopadu 2009.
- ^ „Quake, Meet GPL; GPL, Meet Quake - Linux Journal“. Citováno 4. ledna 2010.
- ^ „Entretien avec l'équipe de Smokin'Guns - JeuxLinux“. Citováno 4. listopadu 2009.
- ^ „Urban Terror manual“. Citováno 18. května 2015.
- ^ „Dvě hry zdarma založené na tipu na Quake 3 engine - The Inquirer“. Citováno 4. ledna 2010.
- ^ „Pohled na bezplatné hry založené na Quake3 Engine - Slashdot“. Citováno 3. ledna 2010.
- ^ „Porovnání bezplatných softwarových stříleček - linuX-gamers.net“. Citováno 4. ledna 2010.[mrtvý odkaz ]
- ^ „GitHub - ioquake / Jedi-outcast“. 16. ledna 2020.
- ^ Akademie ioJedi
- ^ Iodoom3
- ^ OpenMOHAA
- ^ „Aktualizace Fedory 12: quake3-1.36-5.fc12 - fedora-package-announce“. Citováno 4. ledna 2010.
- ^ „ioquake3-1.36-1mdv2010.0 RPM pro i586 - RPM Najít“. Archivovány od originál 21. února 2014. Citováno 4. ledna 2010.
- ^ "Balíček: openarena-data (0.8.1-2) - Debian". Citováno 4. ledna 2010.
- ^ „ioquake3 1.36 build 3 - FreshPorts“. Citováno 5. února 2010.
- ^ „igames / ioquake3 - kolekce balíků NetBSD“. Archivovány od originál 10. června 2011. Citováno 4. ledna 2010.
- ^ ftp://ftp.idsoftware.com/idstuff/source/[trvalý mrtvý odkaz ]
- ^ Zkompilovaný balíček Iortcw
- ^ Zdrojový kód Iortcw
- ^ Zdrojový kód ET Legacy
- ^ Larabel, Michael (13. června 2010). „id Software Open-Sources ET, RTCW“. Phoronix. Citováno 13. srpna 2010.
- ^ „Q3osc research paper“ (PDF). Citováno 9. ledna 2010.
- ^ „Q3osc wiki“. Citováno 9. ledna 2010.
- ^ „Průzkum technologií společného virtuálního prostředí“ (PDF). Citováno 9. ledna 2010.
- ^ „Specifikace vstupu a výstupu L3DGEWorld 2.1“ (PDF). Citováno 9. ledna 2010.
- ^ „L3DGEWorld 2.3“. Citováno 9. ledna 2010.
- ^ „VMM-Independent Graphics Acceleration“ (PDF). Archivovány od originál (PDF) 9. října 2009. Citováno 9. ledna 2010.
- ^ Článek VMM v ACM. 33–43. ISBN 978-1-59593-630-1. Citováno 9. ledna 2010.
- ^ „Sledování paprsků dynamických scén v reálném čase“. Citováno 22. dubna 2012.
- ^ „Generování běhového kódu pro materiály“. Citováno 22. dubna 2012.
- ^ „Uživatelé LLVM, projekty s otevřeným zdrojovým kódem“. Citováno 9. ledna 2010.
- ^ „ioquake3 Miscellany - LinuxGames“. Archivovány od originál dne 14. června 2011. Citováno 4. ledna 2010.
- ^ „OpenArena - Aplikace pro Android na Google Play“. Google Play. Citováno 22. ledna 2018.
- ^ Bougard, Guillaume (alias Tequila) (22. ledna 2009). "Backport Smokin'Guns ioquake3". Smokin'Guns Productions. Citováno 26. ledna 2010.
externí odkazy
- „Oficiální stránka s licencí id Tech 3“. Archivovány od originálu 8. listopadu 2009. Citováno 6. července 2012.CS1 maint: BOT: stav původní adresy URL neznámý (odkaz)
- Původní úložiště zdrojových kódů Quake III (id Tech 3) na idsoftware.com[trvalý mrtvý odkaz ]
- aktuální úložiště zdrojových kódů ID (ID Tech 3) na github.com
- stránka projektu ioquake3, pokračování komunity