Відповіді:
Отже, для початку слід переглянути статтю Wikipedia про id Tech 3 . Це можна доповнити підсумком розмов про GDC Брайана Гука та деякими старими матеріалами на блозі Element 61 . На додаток до цього, вам доведеться пробиратися через купу будь-яких старих навчальних посібників з мод, щоб ви могли спробувати і реконструювати те, що відбувається.
Я б запропонував почати з початкового випуску джерела з id, замість ioquake3 або що-у вас є, щоб дійсно побачити контекст того, що відбувається (як вхід обробляється і спрямований всередині двигуна, який тип події, що лежить в основі використовується структура тощо).
Деякі ключові моменти, які допомогли мені, коли я працював з ним:
quake3.exe +set sv_pure 0 +set vm_game 0 +set vm_cgame 0 +set vm_ui 0
, щоб дозволити двигуну запускати нативний код замість VM-коду.Деякі акуратні речі, які я створив для цього разом із колегою:
Особисто я виявив, що двигун був чудовим поєднанням дійсно розумних речей, зроблених по-справжньому тупими способами, дійсно тупими справами, зробленими по-справжньому розумними способами, і дійсно розумними речами, зробленими по-справжньому розумними. Це чудовий приклад того, як в модулі C середнього масштабу має модульність та гарний структурований дизайн.
Нарешті, не відчувайте себе погано, якщо потрібно провести час. Мені знадобилося, можливо, місяць, щоб я справді змогла знати, де знайти те, що шукала в двигуні; якщо все інше не вдається, почніть з програми init і просто тунель вниз, залишаючи коментарі для себе як покажчики. Мій монітор виявився вкритим рожевими повідомленнями із повідомленнями функцій, номерами рядків та короткими описами того, що вони робили.
Книга " Фокус на програмуванні моди" на Quake III Arena допоможе вам зрозуміти спосіб розв'язання логіки клієнта та сервера, прогнозування клієнта, графічні ефекти клієнта на стороні тощо.
Абсолютно.
http://en.wikipedia.org/wiki/Quake_engine - це хороший огляд того, що там є, але ви можете детально ознайомитися з деталями його архітектури за допомогою цитат.
Можна також запропонувати кілька книг про архітектуру ігрових механізмів, які можуть відповідати тому, що ви шукаєте. Хоча це не Quake, вони детально розглядають конструкцію двигуна та працюють паралельно багатьом аспектам двигунів Quake: