Feb 27th 2008, 22:25
Baixe e estude os códigos fonte da id Software.
Existem diversos códigos fonte de jogos comerciais disponíveis para download, em especial a id Software sempre foi famosa por lançar o código de seus jogos alguns anos após o lançamento inicial.
Segue abaixo uma pequena compilação de alguns dos jogos da id Software pra você pegar e estudar (dos mais recentes para os mais antigos).
iPhone - Doom Classic
Em 2009 John Carmack liberou mais uma vez o código fonte do Doom (desta vez adaptado para o iPhone). O código é muito útil para você ver como um jogo pode ser portado para outra plataforma, quais foram os prós e contras e uma infinidade de outras coisas.
Infelizmente o arquivo de projeto abre apenas no ambiente XCode (Mac). Mas os fontes ainda são acessíveis.

Doom Classic - iPhone versão 1.0
iPhone - Wolfestein 3D
No mesmo ano, a id Software liberou o fonte do Wolfestein 3D (que foi o primeiro projeto que eles liberaram código fonte para iPhone).
Muito bom para ser estudado pois o código fonte é muito mais simples do que o do Doom (e o jogo bem divertido). Foram lançadas 3 vesões, e o melhor: elas já vem com toda a arte do jogo inclusa.

Wolfestein iPhone versão 1.2

Wolfestein iPhone versão 1.1

Wolfestein iPhone versão 1.0
Quake 3
Uma das engines de maior sucesso da história (sucesso de vendas para a id) utilizada em diversos jogos comerciais, Quake 3 pegou todas as características das engines anteriores e melhorou em todos os aspectos: gráficos melhores com suporte à shaders e maiores resoluções devido ao hardware da época, ferramentas de edição melhoradas, etc.

Código fonte do Quake 3
Quake 2
Versão melhorada da engine do Quake, já com suporte nativo à plataforma win 32 (adeus DOS), código de networking melhorado e extensibilidade através de dlls (ao invés do antigo código QuakeC). Também trouxe melhorias na parte de modelos (novo formato md2) e a capacidade de trocar de renderizador em tempo real.

Código fonte do Quake 2
Quake
Engine pioneira na época (1996) por utilizar polígonos arbitrários permitindo total imersão 3d. Feita para rodar em computadores 486 com 16mb de ram, ela era rápida e permitia uma grande flexibilidade através de uma linguagem de scripts chamada QuakeC. Mais tarde foi aperfeiçoada para rodar em ambientes windows (winquake) e suportar aceleração 3d (glquake).
A id liberou junto o código fonte de todas as ferramentas utilizadas na edição do jogo (compilador QuakeC, editor de mapa, etc, não inclusos no pacote) que pode ser baixados no site do fabricante.

Código fonte do Quake Clássico
Doom
Quem não se lembra do Doom? Wolfestein melhorado em todos os aspectos: os mapas possuem a possibilidade de ter paredes não ortogonais (como acontecia no Wolfestein), o chão pode ter inclinação, texturas no teto e no chão, efeitos de luz melhorados (com alguns truques na paleta de cores), etc.
Muito revolucionário para a época. Entretanto o código fonte original lançado (disponível para download abaixo) possui apenas suporte a Linux e sem som. Com o tempo foram criados novos “ports” e essas limitações foram corrigidas mas vale como aprendizado.

Código fonte do Doom Clássico
Wolfestein 3D
Um dos primeiros jogos 3d da id Software, inovou ao utilizar uma técnica conhecida como “ray-casting” gerando imagens pseudo-tridimensionais e texturizadas com o hardware da época (286-4mb ram). A engine possui uma arquitetura de 16 bits e foi compilada com o Borland C 3.0

Código fonte do Wolfestein 3D
Códigos fontes para utilitários e editores também podem ser encontrados no FTP oficial da id em
ftp://ftp.idsoftware.com
Possui algum código interessante? Quer vê-lo publicado aqui? Sabe de algum jogo comercial que teve sua fonte lançada recentemente? Não deixe de enviar o seu recado.