Jawaban:
Jadi, Anda harus mulai dengan melihat artikel Wikipedia di id Tech 3 . Itu dapat ditambah dengan ringkasan pembicaraan Brian Hook dari GDC dan beberapa hal lama di blog Element 61 . Selain itu, Anda harus melihat-lihat tutorial mod lama apa pun yang dapat Anda temukan untuk mencoba dan merekonstruksi apa yang terjadi.
Saya sarankan mulai dari rilis sumber asli dari id, alih-alih ioquake3 atau apa-apa, untuk benar-benar melihat konteks apa yang terjadi (bagaimana input ditangani dan diarahkan di dalam mesin, seperti apa kejadian yang mendasarinya struktur digunakan, dll.).
Beberapa poin penting yang membantu saya ketika saya sedang bekerja dengannya:
quake3.exe +set sv_pure 0 +set vm_game 0 +set vm_cgame 0 +set vm_ui 0
untuk memungkinkan mesin untuk menjalankan kode asli bukan kode VM.Beberapa hal rapi yang saya buat untuk itu dengan seorang rekan kerja:
Secara pribadi, saya menemukan bahwa mesin itu adalah kombinasi yang hebat dari hal-hal yang benar-benar cerdas yang dilakukan dengan cara yang benar-benar bodoh, hal-hal yang benar-benar bodoh dilakukan dengan cara yang sangat cerdas, dan hal-hal yang sangat cerdas dilakukan dengan cara yang sangat cerdas. Ini adalah contoh yang bagus tentang bagaimana memiliki modularitas dan desain terstruktur yang baik dalam proyek C skala menengah.
Terakhir, jangan merasa buruk jika perlu waktu untuk melakukan grok. Butuh waktu sebulan mungkin untuk benar-benar dapat mengetahui di mana menemukan apa yang saya cari di mesin; jika semuanya gagal, mulailah dari init aplikasi dan langsung turun ke fungsi, meninggalkan komentar untuk diri sendiri sebagai rambu-rambu. Monitor saya pada akhirnya tercakup dalam catatan post-it pink dengan nama fungsi, nomor baris, dan deskripsi singkat tentang apa yang mereka lakukan.
Buku Focus On Mod Programming di Quake III Arena akan membantu Anda memahami cara logika klien dan server dipisahkan, prediksi klien, efek grafis sisi klien dll.
Benar.
http://en.wikipedia.org/wiki/Quake_engine adalah ikhtisar yang baik tentang apa yang ada di luar sana, tetapi Anda dapat masuk ke detail arsitekturnya cukup cepat melalui kutipannya.
Boleh saya juga menyarankan beberapa buku tentang arsitektur mesin game yang mungkin lebih sesuai dengan apa yang Anda cari. Meskipun tidak spesifik tentang Gempa, mereka masuk ke detail desain mesin dan berjalan paralel dengan banyak aspek dari mesin Gempa: