Antes de tudo, aumente sua base teórica básica naquilo que você ainda não conhece. Estude a teoria e escreva alguns exemplos curtos.
Exemplo de base teórica básica inclui:
- Algoritmos e estruturas de dados
- Design de software (UML, padrões de design, OOP)
- Sistemas operacionais e programação paralela
Em seguida, considere aprender uma linguagem adicional (por exemplo, Java ou C #). - Estudar idiomas adicionais ajuda a melhorar os prós e os contras de qualquer idioma que você esteja usando e a aprender as práticas recomendadas que você talvez não conheça.
Em seguida, escolha um novo domínio (programação na web, computação gráfica, processamento de imagem, visão computacional, acesso a dados, ...). Estude a teoria e escreva alguns exemplos curtos.
Em seguida, crie um grande exemplo, que encapsulou um aplicativo de várias camadas, manipulando o acesso a dados, a interface do usuário e um domínio específico que você escolheu. Coloque ênfase na arquitetura do aplicativo (verifique se as partes estão o mais frouxamente possível).
Felizmente, você aprenderá como aprender novas abordagens e tecnologias e integrá-las a uma boa arquitetura.
Especificamente para programação de jogos, recomendo escolher os seguintes domínios / tecnologias:
- Noções básicas de processamento de imagem
- Qualquer tecnologia de interface do usuário específica
- Noções básicas de computação gráfica
- Qualquer mecanismo gráfico específico (por exemplo, DirectX, OpenGL, OGRE, ODG, Java3D, ...)
- Noções básicas de Física Mecânica
- Qualquer mecanismo de física específico (por exemplo, PhysX, ...)
- Qualquer mecanismo de jogo específico (por exemplo, XNA, ...)
- Programação multithread
- Programação distribuída
Editar:
Como aprender:
- Leia e execute exemplos do CodeProject.
- Navegue por alguns livros de uma biblioteca de livros / e-books ou armazene até encontrar alguns livros que você goste (que correspondem ao seu estilo de leitura + cobrem os tópicos sobre os quais você deseja ler).
- Leia blogs.
- Experimente as coisas e pergunte no StackOverlow quando ficar preso.