Eu sou um programador de jogos 2D. Algumas linguagens de programação nas quais eu sou bom são C, Java, C #. Eu também sei Actionscript 2.0,3.0 e alguns javascript. Estou interessado em aprender a programação de jogos em 3D. Longe das pesquisas que acumulei pesquisando e lendo diferentes fóruns e artigos sobre desenvolvimento de jogos. Notei que a maioria dos programadores costuma preferir C ++. Também em um curso de ensino de programação de jogos online, notei que eles preferem ensinar C ++ e Visual C ++ como o curso inicial. A razão pela qual estou fazendo essa pergunta, já que gostaria de saber a diferença de "força" de C ++, C # e Java para programação de jogos em 3D.
Inclua também links para bons artigos de programação de jogos em 3D para o já programador de jogos em 2D.
PS: IMHO, também acho o C ++ enigmático.
fonte
Respostas:
Sim, C ++ é a linguagem usada com mais frequência (embora algumas pessoas ainda usem C).
Existem inúmeras razões para isso. O grande impulso é um - é simplesmente a linguagem que é usada há anos, já existe muita tecnologia e as pessoas se sentem confortáveis com ela, de modo que as mudanças não acontecerão da noite para o dia.
Depois, há a questão do controle. Os desenvolvedores de jogos são loucos por controle, e gostamos de saber tudo o que está acontecendo em nosso código. O C ++ nos fornece que o controle, C # e Java (para escolher as duas alternativas mencionadas), retira o controle. De muitas maneiras, isso pode ser uma coisa boa, mas os codificadores de jogos não gostam :)
Finalmente, há a questão prática simples de que os SDKs para várias plataformas são muito centrados em C ++. Usar outro idioma inevitavelmente envolve escrever wrappers, compilação cruzada para VMs e possivelmente (no caso de algum desenvolvimento de console) não é permitido pelo suporte da plataforma (eles realmente não gostam de pessoas fazendo a compilação JIT, para começar).
fonte
O C ++ ainda é o preferido, como você pode ver em praticamente qualquer publicação sobre o tópico desenvolvimento de jogos. Pessoalmente, atualmente estou usando C para mergulhar no desenvolvimento de jogos pela simples razão de que o código C ++ que eu escrevo abusa dos recursos de modelagem, usa RAII extensivamente, alocação dinâmica de memória e outras coisas que você não deve fazer no código do jogo pelo que vi tão longe.
Aderir a C me força a ser minimalista e pensar no que estou fazendo. Pode ser mais difícil às vezes em que você precisa reimplementar algo que o STL oferece gratuitamente, mas, de cabeça para baixo, sinto que escrevo um código mais limpo e tenho mais facilidade em depurar essa coisa.
fonte
Pessoalmente, não sou fã de C ++ e prefiro Java. No entanto, a maioria das pessoas do setor o usa e é o idioma mais fácil de converter para outras plataformas sem invólucros e máquinas virtuais.
No entanto, às vezes outras línguas funcionam muito bem no desenvolvimento de jogos. Eu uso Java com LWJGL e é incrível. Portanto, se você deseja começar com a programação 3D e o OpenGL sem precisar aprender C ++, experimente o LWJGL com Java, porque é muito leve e acho que na verdade é um código C ++ rodando no JNI.
Talvez a longo prazo você queira mudar para C ++, mas você pode começar e praticar com C # ou Java. Como a maioria dos códigos de jogos vem da experiência com o idioma, você deve tentar praticar o OpenGL com um idioma com o qual se sinta confortável. Além disso, enquanto você pratica gráficos, também deve experimentar o GLSL com o OpenGL, que possui uma sintaxe muito parecida com o C
fonte