Harold Serrano

Estes são os passos:

Passo 1: Aprenda Álgebra Linear

Primeiro, aprenda Álgebra Linear. Não, não me refiro à Álgebra ensinada na escola média. Refiro-me aos conceitos de Álgebra Linear, como Vetores e Matrizes. Foco na aprendizagem de operações vetoriais e de matrizes, especialmente produto de ponto, produto transversal, transformações espaciais.

Passo 2: Aprenda C++ (ou qualquer linguagem que você queira)

Próximo, aprenda a programar. Eu sugiro aprender C++. Neste ponto, você não precisa ser um especialista em codificação. Mas aprenda sobre aulas, métodos, herança, polimorfismo e encapsulamento.

Passo 3: Desenvolver um Motor Matemático

Então, use seu conhecimento de vetores, matrizes e codificação para desenvolver um motor matemático. Operações como produto Dot, cross product e transformação espacial são usadas extensivamente no desenvolvimento de motores de jogo.

Passo 4: Aprenda a computação gráfica

Agora vem a parte divertida. Conheça os conceitos de Computação Gráfica, especialmente o Rendering Pipeline e Shaders. Evite codificar e usar a API OpenGL por enquanto. A API do OpenGL é confusa para entender se você tem um conhecimento limitado dos conceitos de computação gráfica.

Passo 5: Aprenda OpenGL e faça um monte de projetos

Pós você se sentir confortável com os conceitos de Computação Gráfica, aprenda sobre a API OpenGL e Shaders OpenGL. Faça o maior número de projetos possível. Aprenda como renderizar caracteres, como rotacionar e traduzir caracteres. Aprenda como a texturização e a iluminação funcionam com OpenGL. Novamente, esta é a parte divertida, e eu sugiro fazer o maior número de projetos que você puder.

Passo 6: Aprenda Padrões de Design

O próximo passo para se tornar um desenvolvedor de engine de jogo é aprender a arquitetura da API. Uma engine de jogos é simplesmente uma API, um framework, que cuida de toda a renderização, física e operações matemáticas. É fundamental que você desenvolva uma API que seja modular, flexível, de fácil manutenção e adaptável.

Para desenvolver uma API, você precisará aprender Padrões de Projeto. Os padrões de design mais comuns são Singleton, Observer, Strategy, Composite, Factory, entre outros.

Passo 7: Desenvolva um motor de renderização

Neste estágio, você está pronto para combinar seus conhecimentos de Álgebra Linear, Computação Gráfica, OpenGL e Padrões de Design para desenvolver um motor de renderização.

Passo 8: Revise as Leis do Movimento de Newton

Após ter completado o motor de renderização, é hora de trabalhar na parte mais difícil do motor, ou seja a Engine de Física.

A boa notícia é que você não precisa ser um físico para desenvolver uma Engine de Física, mas você precisa conhecer as Leis do Movimento de Newton e como elas são implementadas usando algoritmos como o algoritmo Runge-Kutta.

Passo 9: Aprenda Algoritmos de Geometria Computacional

Uma engine de jogo não é uma engine de jogo sem detecção de colisão. Para desenvolver um sistema de detecção de colisão, você precisa aprender sobre algoritmos de Geometria Computacional como GJK, BVH, e Sutherland-Hodgman. Estes algoritmos são usados para detectar se uma colisão ocorreu, onde ela ocorreu e quais objetos têm maior probabilidade de colidir.

Passo 10: Desenvolva um motor de física

Após conhecer os algoritmos mencionados acima, deverá ser capaz de desenvolver um motor de física com um sistema de detecção de colisão.

Passo 11: Desenvolva um jogo, Teste &Repetição

Congratulações, agora você tem uma engine de jogo. Desenvolva o máximo de jogos que puder e teste a engine do jogo o máximo possível. Corrija bugs, implemente novas funcionalidades, desenvolva jogos e repita. Confie em mim; esta é a melhor parte de todas.

Livros para começar

Aqui está uma lista de livros para ajudá-lo a começar:

3D Matemática

  1. Primer Matemático 3D para Gráficos e Desenvolvimento de Jogos

Máquina de Renderização

Deixe uma resposta

O seu endereço de email não será publicado.