답변:
따라서 id Tech 3 에 관한 Wikipedia의 기사를 살펴 보는 것이 좋습니다 . 브라이언 훅 (Brian Hook)의 GDC 토크 요약 과 Element 61 블로그 의 오래된 것들에 의해 보강 될 수있다 . 그 외에도, 진행중인 작업을 재구성하고 재구성하기 위해 찾을 수있는 오래된 모드 튜토리얼을 탐색해야합니다.
나는 현재 진행중인 상황 (입력이 엔진 내에서 처리되고 지시되는 방법, 어떤 종류의 기본 이벤트)을 실제로보기 위해 ioquake3 또는 무엇을 대신하여 id에서 원래 소스 릴리스로 시작하는 것이 좋습니다. 구조 등이 사용됩니다).
내가 일할 때 도움이 된 몇 가지 핵심 사항 :
quake3.exe +set sv_pure 0 +set vm_game 0 +set vm_cgame 0 +set vm_ui 0
엔진이 VM 코드 대신 네이티브 코드를 실행할 수 있도록 게임을 실행해야 합니다.동료와 함께 한 멋진 것들 :
개인적으로, 나는 엔진이 정말 멍청한 방식으로 수행 된 정말 똑똑한 일, 정말 똑똑한 방식으로 수행되는 멍청한 일, 정말 똑똑한 방식으로 수행 된 똑똑한 일의 훌륭한 조합이라는 것을 알았습니다. 중규모 C 프로젝트에서 모듈 성과 구조화 된 디자인을 얻는 방법에 대한 훌륭한 예입니다.
마지막으로, 시간이 걸리더라도 기분 나빠하지 마십시오. 엔진에서 내가 찾던 것을 어디에서 찾을 수 있는지 알기 위해서는 한 달이 걸렸습니다. 다른 모든 것이 실패하면 응용 프로그램 init에서 시작하여 함수로 터널 다운하여 푯말로 의견을 남기십시오. 내 모니터는 기능 이름, 줄 번호 및 수행 한 작업에 대한 간단한 설명과 함께 분홍색 포스트잇 메모로 끝났습니다.
Quake III Arena의 Focus On Mod Programming 책 은 클라이언트와 서버 로직이 분리되는 방식, 클라이언트 예측, 클라이언트 측 그래픽 효과 등을 이해하는 데 도움이됩니다.
물론.
http://en.wikipedia.org/wiki/Quake_engine 은 무엇이 있는지에 대한 좋은 개요이지만 인용을 통해 아키텍처의 세부 사항을 매우 빠르게 얻을 수 있습니다.
나는 또한 당신이 찾고있는 것과 더 일치 할 수있는 게임 엔진 아키텍처에 관한 몇 권의 책을 제안 할 수 있습니다. Quake에 한정되지는 않지만 엔진 설계의 세부 사항으로 들어가서 Quake 엔진의 여러 측면과 병행하여 실행됩니다.