Como você poderia fazer um jogo usando apenas Java?
Pode usar Java?
Não há certamente nenhuma razão para não poder fazer um. Java não tem o melhor suporte da indústria (que seria C++), mas Minecraft, um dos jogos de vídeo de maior sucesso da história, foi e ainda é mantido em Java. O problema está principalmente no que você está tentando construir.
Você deveria usar Java?
Em geral, Java não é muito adequado para o desenvolvimento de videogames high-end ou e-sport devido a algumas limitações na JVM. Claro, a coleta de lixo é super conveniente quando se lida com estruturas de dados muito complexas, mas sua presença pode causar soluços de desempenho que podem ser inaceitáveis, digamos, na Liga das Lendas ou Counter Strike: Ofensiva Global. Há muitos recursos de conveniência em Java (incluindo uma notável falta de ponteiros) que podem impor tetos de performance em alguns outros designs de videogame, como aqueles com demandas de chamada de sorteio massiva (jogos de mundo aberto) ou manipulação programática de modelos 3D em tempo real (jogos de física).
Como você usa Java?
Se tais desvantagens específicas de desempenho não são uma preocupação (não são para pequenos projetos), Java pode ser usado em dois cenários gerais:
<- Building a game from scratch, usando uma biblioteca como LWJGL para 3D ou mesmo JavaFX para 2D, muito parecido com a forma como Minecraft foi feito>li> usando os mecanismos de videogame disponíveis como JMonkeyEngine ou o mais chique LibGDX, atualmente os únicos mecanismos "grandes" e "maduros" disponíveis para Java
Conclusion:
A escolha da linguagem é, em última análise, bastante arbitrária se você não estiver fazendo videojogos de classe AAA com gráficos de topo de linha ou mundos grandes e expansivos. Se Java é o que você quer usar, existem ferramentas disponíveis.
Alternatives:
No entanto, se você realmente precisa de um mecanismo de jogo totalmente funcional e bem suportado, ambos Unreal Engine e Unity fornecem interfaces de script que são bastante simples. Unity usa C#, que não está deliberadamente longe de Java e pode ser aprendido rapidamente. Unreal Engine usa uma interface de script visual chamada Blueprints que se assemelha um pouco a diagramas lógicos. Blueprints teve, em algum momento, uma performance bastante ruim, mas com melhorias recentes no compilador Blueprint, é agora provavelmente similar em velocidade ou mais rápido que as típicas linguagens de scripting.
Artigos semelhantes
- Se eu conheço Java, e como criar aplicativos Android usando Java, quais são os passos para publicar um aplicativo meu próprio?
- Fazer um editor de texto em Java é um bom projeto para aprender Java?
- What is the difference between Java 1.8 and Java 1.7?
- O que eu tenho que instalar, Java 10 ou Java 8? Existe alguma diferença?