Risposte:
Quindi, dovresti iniziare guardando l'articolo di Wikipedia su id Tech 3 . Ciò può essere aumentato dal sommario di GDC di Brian Hook e da alcune vecchie cose sul blog di Element 61 . Inoltre, dovrai cercare tra i vari tutorial di mod che puoi trovare per provare a ricostruire ciò che sta succedendo.
Suggerirei di partire dalla versione di origine originale da id, anziché ioquake3 o what-have-you, al fine di vedere davvero il contesto di ciò che sta succedendo (come l'input viene gestito e diretto all'interno del motore, che tipo di evento sottostante struttura utilizzata, ecc.).
Alcuni punti chiave che mi hanno aiutato quando ci lavoravo:
quake3.exe +set sv_pure 0 +set vm_game 0 +set vm_cgame 0 +set vm_ui 0
per consentire al motore di eseguire il codice nativo anziché il codice VM.Alcune cose pulite che ho realizzato per questo con un collega:
Personalmente, ho scoperto che il motore era una grande combinazione di cose davvero intelligenti fatte in modi davvero stupidi, cose davvero stupide fatte in modi davvero intelligenti e cose davvero intelligenti fatte in modi davvero intelligenti. È un ottimo esempio di come avere modularità e un buon design strutturato in un progetto C di media scala.
Infine, non stare male se ci vuole un po 'di tempo per grok. Mi ci è voluto forse un mese per essere davvero in grado di sapere dove trovare quello che stavo cercando nel motore; se tutto il resto fallisce, inizia dall'init dell'applicazione e scorri le funzioni, lasciando commenti per te come indicazioni. Il mio monitor è finito coperto di post-it rosa con nomi di funzioni, numeri di riga e brevi descrizioni di ciò che hanno fatto.
Il libro Focus On Mod Programming in Quake III Arena ti aiuterà a capire come sono disaccoppiate la logica client e server, la previsione client, gli effetti grafici lato client ecc.
Assolutamente.
http://en.wikipedia.org/wiki/Quake_engine è una buona panoramica di ciò che è là fuori, ma puoi entrare nei dettagli della sua architettura abbastanza rapidamente attraverso le sue citazioni.
Vorrei anche suggerire un paio di libri sull'architettura del motore di gioco che potrebbero essere più in linea con ciò che stai cercando. Sebbene non specifici di Quake, entrano nei dettagli della progettazione del motore e corrono paralleli a molti aspetti dei motori Quake: