No tutorial anterior, foi mostrado como se pode facilmente adicionar ou substituir arquivos de dados do jogo (WAVs de som, BSPs de mapas, MDLs de modelos 3D, etc.)
A pergunta agora é: como se fazem as modificações mais complexas, ie. adição de armas, monstros novos, etc. ao jogo? Não se pode adicionar um lança-chamas simplesmente substituindo-se alguns desenhos e sons...
O servidor de Quake é o que controla as ações dos clientes (jogadores). Para rodar um servidor modificado, é preciso instalar os arquivos adicionais (mapas, sons etc.) no servidor, e em todos clientes tambem! Isto implica que, por exemplo, se o servidor estiver rodando um mapa novo, um jogador não poderá se conectar e jogar enquanto não instalar esse mapa.
Porém... existe um arquivo de dados que interessa APENAS aos servidores! Você pode modificar e instalar ele no servidor, sem que os clientes precisem baixá-lo. É o arquivo PROGS.DAT, que é um programa interpretado pelo Quake com todas as instruções de funcionamento do servidor!
Dê uma olhada na extensa listagem dos arquivos PAK, no tutorial anterior. Logo nas primeiras linhas você achará o PROGS.DAT;
Este arquivo controla quase todas as intruções e funções do jogo! Com algumas simples alterações no PROGS, você pode modificar o poder dos ataques das suas armas e dos monstros, por exemplo.
O PROGS.DAT é a forma compilada do programa, isto é, a forma que o Quake 'entende'. Para modificá-lo, você precisa editar o código-fonte, uma série de arquivos texto (*.qc) que são compilados (transformados) no PROGS com o auxílio de um compilador.
Para modificar o PROGS, tudo o quê você precisa é do compilador e do código fonte.
Para saber como usá-los, veja o tutorial de "Introdução ao QuakeC" na The Gaming Architect. Tem um que eu escrevi e tem um outro escrito pelo Shad também. Eles explicam detalhadamente como compilar e usar o PROGS modificado!
Se a sua modificação envolver apenas mudanças no PROGS, ela será um server mod, isto é, precisará ser instalada apenas no servidor. Isto é uma grande vantagem, principalmente se o seu mod for de Quake 'normal', pois os clientes não precisam de arquivos adicionais.
É claro, se a sua modificação for para Quakeworld é mais fácil incluir arquivos, pois o QW tem download automático. Mesmo assim, se a sua conversão tiver 20mb de mapas e outras porcarias novas, tenha certeza de que quase ninguém vai ficar esperando o QW baixar tudo para poder jogar. Por outro lado, com o QW você pode incluir alguns KBytes de sons e pequenos modelos novos que podem realmente dar um "tchan" ao seu mod!
Mas o processo de edição do PROGS, execução dos mods, etc. do Quakeworld é um pouco diferente do Quake 'normal', e será assunto para outra hora...
Bom, editar o progs é a única maneira de se fazer qualquer mudança significativa no jogo. 99,9% das modificações possuem um PROGS.DAT alterado, a não ser que seja um pacote de mapas novos (mesmo assim, muitos vem com um progs novo também!)
Ou seja, não tem escapatória: é meter a mão na massa, ou melhor, no infame 'QuakeC'!
A Spinal's Quake Morphing terá tutoriais de programação em QuakeC, tanto para iniciantes, intermediário, avançado, recortar-e-colar, etc. Você pode mandar para mim sugestões de tutoriais que você gostaria de ler ex: como fazer uma arma nova etc.
Não esqueça de familiarizar-se com a compilação do PROGS.DAT lendo os tutoriais de "Introdução ao QuakeC" da The Gaming Architect, pois na próxima parte desta série de tutoriais iremos mostrar como colocar um monstro novo em ação, usando modificações simples (do tipo 'recortar-e-colar') em QuakeC!
Mande sua opinião sobre este tutorial para mim! Obrigado!
-Spinal