Boa tarde pessoal!!!
Gostaria de saber que tecnologias utilizar para programar jogos do zero utilizando Java?
Estava dando uma pesquisada aqui e encontrei a libGDX e LWJGL e que ambas utilizam OpenGL para a parte gráfica do jogo
Essas duas ferramentas que citei são as opções mais recomendadas para desenvolver jogos em 2D e 3D em java? Se sim qual o tipo de jogo que cada uma é mais recomendada?
No caso do Java, são provavelmente as mais comuns e disseminadas. Desconheço outras bilbiotecas para Java com alcance similar. O mais próximo deve ser a jMonkeyEngine.
Não acho que cada uma delas seja mais recomendada que outra. A libGDX usa a LWJGL, então elas estão conectadas.
De forma simplificada, a libGDX fornece mais facilidades e coisas prontas em comparação com a LWJGL, então, entre as duas, recomendo a libGDX pra quem está começando.
Abraço.
1 curtida
Vc consegue usar todas as funcionalidades de LWJGL dentro de libGDX?
A libGDX “abstrai” as funcionalidades da LWJGL (e de outras bibliotecas), então você normalmente não precisa acessar nada da LWJGL a partir dela. Se você precisa acessar diretamente a LWJGL, é melhor usá-la diretamente, em vez de usar a libGDX.
Em uma simplificação extrema, imagine a situação que você quer desenhar um quadrado verde na posição horizontal = 100 e vertical = 200. Uma biblioteca de nível mais baixo (como a LWJGL) poderia ter algo assim:
Matriz pontos = nova Matriz();
pontos.adicionarPonto(0, 0);
pontos.adicionarPonto(10, 0);
pontos.adicionarPonto(10, 10);
pontos.adicionarPonto(0, 10);
ObjetoComCoordenadas quadrado = novo ObjetoComCoordenadas(pontos);
Cor corVerde = nova Cor(0, 1, 0);
classeDeDesenho.mudarACorPara(corVerde);
classeDeDesenho.mudarPosicaoDoPincelDeDesenho(100, 200);
classeDeDesenho.desenharObjeto(quadrado);
Enquanto que uma biblioteca de mais alto nível (como a libGDX), poderia fazer algo como:
//parâmetros são posicao horizontal, vertical, largura, altura e cor
ClasseGlobalDeDesenho.desenharObjetoRetangular(100, 200, 10, 10, CoresPadrao.VERDE);
Note que ambas fazem a mesma coisa, apenas de forma diferente, e a segunda pode abstrair todas as operações da primeira. Ou seja, dependendo do seu objetivo, usar uma ou outra é mais viável.
Abraço.