Gostaria de saber exemplos de jogos que foram feitos inteiramente em java( tirando minecraft esse eu ja sei ) ou pelo menos partes deles e que tipos de ferramentas são usadas para se desenvolver jogos em java?
Existe Runescape, um ótimo jogo de RPG, ferramentas para fazer jogos nunca usei, só a biblioteca do Java 2d mesmo, acho que pra começar é interessante.
Ar0n,
Os sites abaixos são um bom ponto de partida para desenvolver jogos em Java:
http://www.cokeandcode.com/index.html
http://www.java4k.com/index.php?action=home
E partindo para o Java 3D:
Fazer jogos em Java pode ser interessante do ponto de vista experimental ou então jogos casuais, agora, se você pensa em desenvolver jogos hardcore profissionalmente, aprenda C++ logo de uma vez.
Jogos inteiramente feitos em Java: Nenhum, nem o Minecraft, nem o Runescape. Eles usam como base a LWJGL, que é uma API que usa Bindings para dar acesso a OpenGL e OpanAL. Portanto, esses games não irão rodar em qualquer plataforma com uma VM padrão, eles precisam também da LWGJL portada para a plataforma em questão.
Contando a LWJGL, e outras bibliotecas externas, você poderia incluir também o Taikodom e todos os games feitos para Android.
Exatamente. O Java tem um número enorme de desvantagens quando o assunto é o desenvolvimento de jogos:
- É suportado em poucas plataformas interessantes (nada de consoles ou portáteis);
- Jogos não tem apoio da Oracle, nem da indústria de qualquer console, e tem fraco suporte da comunidade;
- Você não tem qualquer controle sobre o garbage collector, o que gera glitches em jogos mais pesados;
- O deploy é ruim para o usuário (característica que vale também para apps desktop). O updater do Java não é confiável, o usuário tem que entender detalhes como a versão da VM que está no seu path. Quem argumenta que isso parece o DirectX se engana. No caso do DirectX as varias versões ficam instaladas e é o executável que sabe qual versão certa procurar.
Há alguma esperança quando o assunto é Android com consoles populares que tem saído por aí, como o Ouya. Mas ainda não se sabe se isso vai vingar. Tomara que vingue, pois aí talvez isso chame a atenção da Oracle para o assunto.
Sobre ferramentas, em Android o pessoal tem usado bastante a AndEngine. Ela não é tão poderosa como a Cocos-X (feita em C++), mas já quebra um galhão.
Fazer jogos em Java pode ser interessante do ponto de vista experimental ou então jogos casuais, agora, se você pensa em desenvolver jogos hardcore profissionalmente, aprenda C++ logo de uma vez.[/quote]
eu discordo em partes!
existem jogos muito bons feito completamente em java, a exemplo do Spiral Knights.
uma das ferramentas que eu creio que usem é o JMonkey com game engine e Blender 3D para modelagem (suponho)
as desvantagens citadas pelo vini devem ser consideradas tabém, mas acho que mesmo assim vale a pena investir um pouco nisso
[quote=Marlon Meneses]
eu discordo em partes!
existem jogos muito bons feito completamente em java, a exemplo do Spiral Knights.
uma das ferramentas que eu creio que usem é o JMonkey com game engine e Blender 3D para modelagem (suponho)
as desvantagens citadas pelo vini devem ser consideradas tabém, mas acho que mesmo assim vale a pena investir um pouco nisso[/quote]
Ser possível != ser adequado.
O pessoal daqui gosta de dizer “vai lá” só porque existem algumas poucas exceções. É hora de deixar de ser fãboy e encarar a realidade: A linguagem não foi feita para jogos. A Oracle não tem qualquer interesse em manter jogos (tanto que descontinuou várias tecnologias de games e multimidia, como a Java3D e a JMF). E, se comparado a outras linguagens, os custos de produção de games em Java são astronomicamente mais altos. Você terá que desenvolver muita coisa no braço.
Uma coisa interessante é que a Three Rings, do Spiral Knights, disponibilizou parte das tools para games em Java deles de forma open source:
http://www.threerings.net/code/
[quote=ViniGodoy][quote=Marlon Meneses]
eu discordo em partes!
existem jogos muito bons feito completamente em java, a exemplo do Spiral Knights.
uma das ferramentas que eu creio que usem é o JMonkey com game engine e Blender 3D para modelagem (suponho)
as desvantagens citadas pelo vini devem ser consideradas tabém, mas acho que mesmo assim vale a pena investir um pouco nisso[/quote]
Ser possível != ser adequado.
O pessoal daqui gosta de dizer “vai lá” só porque existem algumas poucas exceções. É hora de deixar de ser fãboy e encarar a realidade: A linguagem não foi feita para jogos. A Oracle não tem qualquer interesse em manter jogos (tanto que descontinuou várias tecnologias de games e multimidia, como a Java3D e a JMF). E, se comparado a outras linguagens, os custos de produção de games em Java são astronomicamente mais altos. Você terá que desenvolver muita coisa no braço.
[/quote]
concordo…
nao sou fãboy! admito que nesse aspecto ainda existe muito a melhorar…
e que isto ainda está longe de ter uma boa fatia no mercado
mas se não houver experimentos como isso vai ser possível?
certa vez passei a experimentar o jmonkey…
é bom, mas realmente muita coisa acaba sendo feita na mão mesmo a exemplo da modelagem.
mas as coisas como gravidade, colisão, animação e uma série de outras coisas como qualquer outra engine já vem disponível…
só fiz este experimento por curiosidade, desenvolvimento de jogos não é meu forte, apesar de gostar.
no futuro investirei mais tempo para isso, não necessáriamente em java
Bem acho que já pude entender bastante sobre o mundo dos games e java, não tenho a pretensão de desenvolver jogos foi só uma curiosidade que eu tinha mesmo e ela foi saciada depois de tantos comentários, obrigado a resposta de todos :mrgreen:
É uma das minhas esperanças também, embora o enfoque deles continua não sendo games.
Pelo que o Vini falou, não é muito adequado mesmo desenvolver jogos em Java, mas espero também que seja feito algo a respeito, embora que pelo que percebi seja difícil.
Em Android pelo menos podemos desenvolver jogos na linguagem Java, que também é interessante.
Apesar da Oracle ter descontinuado muitas coisas na parte de multimídia, a Oracle está voltando a tratar desses itens com o JavaFX. Se não me engano, a parte de tratar com OpenGL não necessita mais de bindings, sendo tratado diretamente pela API (mas não sei se a API é que faz o binding ou se a JVM está conversando diretamente com o OpenGL).
É uma das minhas esperanças também, embora o enfoque deles continua não sendo games.[/quote]Concordo.
O foco é outro, mas ainda tenho esperanças com essa tecnologia (que espero, não seja largada como o Swing foi).
Aliás, estou achando bem interessante o JavaFX em relação ao Swing: flexibilidade e extensibilidade do Swing (aumentando os riscos de desenvolvimento) versus a praticidade de codificação do JavaFX.
Mas não vejo ela como RIA, mas como aplicação desktop mesmo.