Por que fazer um game em Java?
O título desta postagem é justamente para mostrar a importância que desenvolver um game do início traz para sua carreira.
Bom, primeiramente, por que fazer um Game em Java? E por que não utilizar em um primeiro momento uma Engine?
A gente sabe de longe que desenvolver um jogo é uma tarefa multidisciplinar que envolve artes, desenho, musicalidade, roteiro, etc. Mas muitos se esquecem que uma das principais figuras é o programador! É ele quem dá subsídio para inclusive dizer se a história que você quer contar (que muitas vezes é fantástica) pode ser implementada no tempo que você tem, ou com o conhecimento técnico disponível ou mesmo se as ferramentas de mercado atendem as necessidades. Fazendo um game do início você tem condições de entender todas as estruturas de dados envolvidas, trabalhar as transformações lineares para que as colisões aconteçam, utilizar os principais padrões de projeto para otimizar seu código, coisa que as Engines já trazem prontas e que muitas vezes você não consegue interagir.
Mas eu sempre vou fazer um jogo do zero? Não é muita perda de tempo?
Claro que não (nas 2 respostas). A própria evolução é partir para uma Game Engine. O que eu sempre digo para meus alunos é: nunca comecem direto pela Engine pois ela sempre será sua muleta. Você não se torna um Game Developer, você se torna um ferramenteiro. E quando você é um ferramenteiro, sua limitação para nos recursos que a ferramenta oferece. Quando ela não oferece, você não evolui.
Mas quando você entende tudo o que está por trás de uma Game Engine (porque anteriormente você criou um framework próprio), você é capaz, não apenas de explorar melhor as ferramentas, como também criar seus próprios plugins e bibliotecas, quando a ferramenta não oferecer.
Este é o principal aspecto de ser um Game Developer. Você será um programador que vai entender de modelagem (pois a modelagem influencia no desempenho do seu jogo), vai ter que entender de sonorização (para poder criar uma timeline e disparar os eventos de soundFx), vai ter que publicar ranking online, realizar as regras de pontuação, implementar a Inteligência Artificial do seu personagem e muito mais!