Opa, e aí galera! Queria saber quais linguagens se encaixam melhor quando se trata de games.
C++ ou C# com Unity.
TL;DR
C++.
Resposta mais longa
Tudo é meio dependente. De forma universal: C++. De forma mais específica, fica dependente do que você quer atingir. É perfeitamente possível desenvolver um jogo em Lua, por exemplo. Tibia é desenvolvido em Lua.
Vai depender da plataforma que você quer desenvolver. C++ é universal por isso, mas você sempre pode usar Java e C# também. Python pra jogos eu nunca ouvi falar, mas não descarto que pode haver essa possibilidade.
C++.
Engraçado, também nunca ouvi. E olha que eu só ouço maravilhas a respeito do python, desempenho, versatilidade e etc.
Existe várias opções. Mas, como colocado pelo javaflex, Unity com C# é provavelmente a opção mais amigável a iniciantes hoje em dia, tanto pela qualidade da ferramenta quanto pela quantidade de materiais disponíveis para estudo.
C++ também é amplamente usado, mas é uma linguagem menos amigável a iniciantes, na minha opinião. Afora isso, há game engines variadas em diversas linguagens.
Pygame está no mercado há algum tempo já, além de Panda3D, Ren’Py, Pyglet e algumas outras, e todas permitem programar em Python. Obviamente, são bem menos usadas que outras, mas existem sim.
No fim das contas, a maioria das bibliotecas e engines que não usam linguagens de baixo nível (como C e C++), provavelmente usam wrappers em torno de bibliotecas de baixo nível, como a SDL2 ou a SFML. É o que ocorre com muitas dessas engines que usam Python, Lua, Javascript e outras linguagens.
Abraços.
Quando se fala em realmente desenvolver jogos em sí (e não jogos somente à fim de aprender um linguagem), há de se escolher não só uma linguagem, mas também uma parte importante que é a Engine.
As mais famosas como já disseram são:
Unity - C#
Unreal Engine - C++
A Unity é mais popular em projetos menores, realmente muitos jogos (2D e 3D) mobile e VR utilizam a Unity.
E a Unreal Engine é utilizada também desde projetos pequenos até muitos grandes jogos AAA.
Uma opção bastante interessante é a Godot:
Ela permite que vc use C# e GDScript (uma linguagem própria bastante parecida com Python).
C++, C# e Java são linguagens boas para fazer jogos.
Com Java existem engines como jMonkeyEngine, LWJGL e libGDX
Com C++, Cocos2D, Godot e Unreal
Com C#, Unity e MonoGame
Claro que você pode fazer sem elas, mas elas facilitam muito.
Para Java, eu não recomendo jogos grandes. Um tamanho de Minecraft está muito bom.
Para C++, vários jogos grandes são feitos com isso. The Witcher 3 se não me engano usa essa linguagem.
C# é muito bom para jogos também, um grande exemplo é o Stardew Valley.
Claro que eles não usam essa linguagem pura em jogos grandes. Em algumas partes eles usam Lua também.
Acredito de C# com Unity é uma boa escolha!
Já desenvolvi 2 games com Java utilizando a libGDX, mas nada profissional, apenas por aprendizado mesmo.
Muito obrigado pelas respostas pessoal! Pelo que eu vi, C# e C++ são os mais recomendados. Mas como eu sei programar Java, acho que vou começar minha noção de games por aí, e depois migro para essas outras duas linguagens. Então já ouvi falar desse libGDX, mas eu já tentei procurar um tutorial ou algo que me introduza nessa API e não achei nada. Queria saber, aos que sabem mexer nessa API, onde vocês aprenderam. Valeu!
Se você sabe inglês, a própria documentação serve de ponto de partida, além de exemplos em diversos outros sites, como:
- https://libgdx.info/
- cursos na Udemy/Udacity (https://www.udacity.com/course/2d-game-development-with-libgdx--ud405);
- https://www.gamefromscratch.com/page/LibGDX-Tutorial-series.aspx
- https://www.youtube.com/results?search_query=libgdx
Abraço.
Cara a época que mexi foi em meados de 2015 quando ainda estava na faculdade, nessa época era somente a documentação da API, não tinha muito recurso externo para recorrer.