Respostas:
Portanto, você deve começar consultando o artigo da Wikipedia sobre id Tech 3 . Isso pode ser aumentado pelo resumo da conversa de Brian Hook no GDC e por algumas coisas antigas no blog Element 61 . Além disso, você terá que vasculhar vários tutoriais antigos sobre mods que você pode encontrar para tentar reconstruir o que está acontecendo.
Eu sugiro começar a partir da versão original do id, em vez de ioquake3 ou what-have-you, para realmente ver o contexto do que está acontecendo (como a entrada é manipulada e direcionada dentro do mecanismo, que tipo de evento subjacente estrutura é usada, etc.).
Alguns pontos-chave que me ajudaram quando eu estava trabalhando com ele:
quake3.exe +set sv_pure 0 +set vm_game 0 +set vm_cgame 0 +set vm_ui 0
para permitir que o mecanismo execute o código nativo em vez do código da VM.Algumas coisas legais que eu fiz para isso com um colega de trabalho:
Pessoalmente, descobri que o mecanismo era uma ótima combinação de coisas realmente inteligentes feitas de maneiras realmente idiotas, coisas realmente idiotas feitas de maneiras realmente inteligentes e coisas realmente inteligentes feitas de maneiras realmente inteligentes. É um ótimo exemplo de como ter modularidade e bom design estruturado em um projeto C de média escala.
Por fim, não se sinta mal se demorar um pouco para grudar. Demorei talvez um mês para realmente saber onde encontrar o que estava procurando no motor; se tudo mais falhar, inicie no init do aplicativo e simplesmente entre nas funções, deixando comentários para você como sinalização. Meu monitor acabou coberto de post-its rosa com nomes de funções, números de linhas e descrições curtas do que eles fizeram.
O livro Focus on Mod Programming no Quake III Arena ajudará você a entender como a lógica do cliente e do servidor é dissociada, a previsão do cliente, os efeitos gráficos do lado do cliente etc.
Absolutamente.
http://en.wikipedia.org/wiki/Quake_engine é uma boa visão geral do que está por aí, mas você pode entrar nos detalhes de sua arquitetura rapidamente através de suas citações.
Também posso sugerir alguns livros sobre arquitetura de mecanismos de jogos que podem estar mais alinhados com o que você está procurando. Embora não sejam específicos do Quake, eles abordam os detalhes do design do mecanismo e são paralelos a muitos aspectos dos mecanismos do Quake: