Jogos em 3D assumem uma enorme variedade de formas, incluindo shooters em primeira pessoa, aventuras de caça ao tesouro e simulações de voo. Todos têm em comum elementos visuais que parecem recuar e avançar realisticamente no espaço, tal como objetos do mundo real. Pode criar um jogo com tais elementos estudando como um jogo existente é feito e, depois, modificando o seu código-fonte até o jogo original deixar de ser reconhecível. Programar um jogo 3D permite-lhe criar personagens e ambientes que nenhum monitor de computador jamais exibiu.
Jogue alguns jogos 3D existentes de código aberto, como Rigs of Rods, StepMania ou Big Solitaires 3-D. Certifique-se de escolher jogos cujo código-fonte seja aberto, ou seja, livremente disponível.
Descarregue o código de programação do jogo que deseja usar como base para o seu jogo 3D. Pode encontrar este código como um arquivo zip no mesmo site de onde descarregou o executável do jogo.
Leia a documentação que acompanha o arquivo zip e anote a linguagem de programação usada para desenvolver o jogo.
Instale um compilador de código-fonte gratuito para a linguagem que anotou no passo anterior. O site Open Watcom tem compilador para programas C++ e o site Java da Oracle tem compilador para programas Java.
Abra num processador de texto cada arquivo de código-fonte no arquivo zip que descarregou no passo 2 e leia cada instrução nestes arquivos. Escreva os seus comentários no código-fonte para instruções que façam sentido para si. Os arquivos terão comentários existentes a explicar algumas instruções. Use esses comentários para aprender a escrever os seus. Quando compreender todas as instruções em todos os arquivos de código-fonte, entenderá o programa o suficiente para fazer alterações substanciais.
Compile o código-fonte do jogo 3D seguindo as instruções do seu compilador.
Execute o jogo uma instrução de cada vez, usando as ferramentas de depuração do compilador. À medida que executa cada instrução, anote os nomes e valores de cada variável no arquivo de código-fonte. Por exemplo, num jogo de aventura pode ver uma variável hipotética chamada "PlayerPoints". Anote os valores desta variável à medida que aumenta ou diminui durante a execução. Isso revelará como as instruções que alteram "PlayerPoints" funcionam.
Escreva novos comentários refletindo o que aprendeu ao percorrer o código. Repita o passo anterior e este até ter comentários para cada instrução no código-fonte.
Altere um dos números ou variáveis de texto entre aspas num arquivo de código-fonte, recompile e jogue, observando o efeito da sua alteração. Por exemplo, mude o valor inicial de PlayerPoints para 100 em vez de 10 e note como este aumento afeta o comportamento de uma personagem.
Escreva o código de programação para modificações progressivamente mais amplas no jogo. Por exemplo, mude a textura de um labirinto de tijolo para pedra. O seu estudo do código nos passos 7 e 8 fornecerá o conhecimento necessário para este passo. Compile e teste o jogo após cada alteração.
Repita o passo 10 até não conseguir mais reconhecer o jogo 3D original. Atingir esta fase significa que criou um novo jogo 3D.