Jogos Java em 2D: API, JGame ou Pulp?

[quote=victorcosta]Nesse site tem o tutorial q eu usei pra fazer. Tem até um tutorial pra fazer jogo 3d em java :stuck_out_tongue:
http://www.cokeandcode.com/tutorials
[/quote]

E não é que é o mesmo que eu indiquei? Será que ele bate as indicações do meu blog. :lol:

Quem curtir Java2D, sugiro que dê uma olhada na JMonkeyEngine.

O problema é que pra aprender C++ bem, é preciso tempo, coisa que tá escassa pra mim hoje em dia…

Mas ele não eh osh pra 3D ?
To fazendo um pacman com o JGame… gostei nao, vo refazer com o Pulp e postar as diferenças… se JMonkey for 2D, vo testa tbm!

jopss :stuck_out_tongue:

Na pior das hipóteses, você aprende só a parte estruturada do C++.

Com isso, vai poder:

  1. Usar as classes prontas da STL (string, list e map, por exemplo);
  2. Criar arrays e variáveis no heap através de new e deleta-los através do delete (muito mais seguro que malloc e free);
  3. Ter mais suporte a tipos const, funções inline e praticamente não usar macros;

Só por isso, já valeu a pena.

Aí com o tempo você vai aprendendo classes, orientação a objetos e, por último, meta-programação.

Outro fator importante, que envolve mais o mercado de trabalho do que a tecnologia em si.
Se você não aprender POO hoje em dia, vai estar ilhado em tecnologias mais antigas, como o C e o VB6. Praticamente todas as linguagens novas (C++, Java, C#, só para citar 3 GRANDES exemplos) já implementam o paradigma. É uma boa você saber sobre ele se quiser manter sua empregabilidade alta.

Mas ele não eh osh pra 3D ?
To fazendo um pacman com o JGame… gostei nao, vo refazer com o Pulp e postar as diferenças… se JMonkey for 2D, vo testa tbm!

jopss :stuck_out_tongue: [/quote]

Depois publica em algum lugar!!! :slight_smile:

E aguardamos screenshots! :smiley:

Na pior das hipóteses, você aprende só a parte estruturada do C++.

Com isso, vai poder:

  1. Usar as classes prontas da STL (string, list e map, por exemplo);
  2. Criar arrays e variáveis no heap através de new e deleta-los através do delete (muito mais seguro que malloc e free);
  3. Ter mais suporte a tipos const, funções inline e praticamente não usar macros;

Só por isso, já valeu a pena.

Aí com o tempo você vai aprendendo classes, orientação a objetos e, por último, meta-programação. [/quote]
Pensar dessa forma é animador mesmo :smiley:

[quote=ViniGodoy] Outro fator importante, que envolve mais o mercado de trabalho do que a tecnologia em si.
Se você não aprender POO hoje em dia, vai estar ilhado em tecnologias mais antigas, como o C e o VB6. Praticamente todas as linguagens novas (C++, Java, C#, só para citar 3 GRANDES exemplos) já implementam o paradigma. É uma boa você saber sobre ele se quiser manter sua empregabilidade alta.[/quote]
Quando falei que só sabia C e OpenGL, quis dizer que só sabia isso para programar jogos. Hoje eu trabalho com Java e estudo Ruby :wink:
Aprendi C e OpenGL na faculdade.

Bom, minhas considerações iniciais são:

JGame é muito fácil de usar e possui um ótimo passo-a-passo. É simples e faz games simples, somente 2D. O único inconveniente eh que ele guarda as informações de mídias em arquivos texto formatado, oq deixa confuso nessa parte. Se conseguisse informar pelo proprio código ou arquivos properties seria show. Traduzi o tutorial, após finalizar o pac-man posto tudo. Faz games desktop ou applet.

Pulp é mais complicado de usar, e não possui nenhum tutorial. Ou seja, teriamos que por “tentativa e erro” olhando na API, decifrando os exemplos. Além, é somente para applet. No entanto o visual final é mais elaborado e bonito.

jME é robusto e com materiais de fácil acesso. No entanto é voltado para games 3D… dá pra fazer em 2D, mas usando bibliotecas 3D, o que poderia prejudicar a performace, como visto neste post:

http://www.jmonkeyengine.com/jmeforum/index.php?topic=2416.0

Mas seria o ideal se o game fosse em 2D mas com partes 3D, como o fundo…
Tutorial jME: http://jmonkeyengine.com/pmwiki/index.php?pagename=Tutorials.TheTutorials (primeiro link pdf é ótimo!!)

Bom vou completar meu exemplo, depois posto aqui. Vou usar JGame mesmo e depois partir para 3D/2D com jME !!

jopss :stuck_out_tongue:

[quote=tnaires]Outro fator importante, que envolve mais o mercado de trabalho do que a tecnologia em si.
Se você não aprender POO hoje em dia, vai estar ilhado em tecnologias mais antigas, como o C e o VB6. Praticamente todas as linguagens novas (C++, Java, C#, só para citar 3 GRANDES exemplos) já implementam o paradigma. É uma boa você saber sobre ele se quiser manter sua empregabilidade alta.[/quote]

Eu já tinha deduzido, já que vc está no GUJ.
Na verdade, estava só falando no geral. :slight_smile:

Fala galera… “transportei” meus posts aqui para meu blog… lá terá toda a pesquisa e o codigo dos games que eu fizer… o PacMan já tah saindo… dah uma conferida lá depois e baixem o game pra ver como ficou…

Gostaria de pedir ao ViniGodoy se posso colocar o link para o seu blog…

http://jopssgames.wordpress.com/

att

jopss

e o lado negro da força, XNA, alguem já brincou ?

Nem precisa pedir… Claro que pode!

Pessoal, eu sei que isso aqui tá meio antigo…

Mas queria uma ajudinha pra uma coisa. Tô estudando JGame e tem um exemplo : http://wwwhome.cs.utwente.nl/~schooten/showsrc/showsrc.php?src=http://www.13thmonkey.org/~boris/jgame/JGame/tutorial/Example4.java

Onde eles criam uns pack-mans e eles colidem com o cenário. Tem um outro exemplo onde existe um background e a gente pode dar um scrolling: http://wwwhome.cs.utwente.nl/~schooten/showsrc/showsrc.php?src=http://www.13thmonkey.org/~boris/jgame/JGame/tutorial/Example6.java

Tentei juntar um com o outro, a idéia era fazer um packman só (mudei o FOR pra criar um objeto só e coloquei o objeto como variavel glogal, assim quadno sair do metodo posso pegar informacoes dele) e deixar a tela se movimentando em função do packman. Antes a tela se movia em função do mouse. Daí minhas dificuldades :

1 . quando eu usava o mouse, a tela se movia pra sempre, era como se o cenário fosse infinito… Ainda com o mouse, se eu o movesse pra cima, ele rolava a tela pra cima infinitamente…
2 . Quando tentei colocar o movimento da tela pra ficar em função do packman. O que fiz foi pegar a parte do scrolling do segundo exemplo e ao inves de colocar as informacoes do mouse, colocar a do myPackMan.x e myPackMan.y. Mas isso deixa a tela doida.

Vocês tem um exemplo em que eu possa seguir, que funcione como um scrolling. Queria algo simples, como um personagem andando por um cenário. Mas se possível, que ele fizesse o scrolling em relação ao personagem, isto é, quando ele andasse, a tela desse o scrolling. Queria saber também como fazer para que o tela não ficasse “infinita”. Isto é, como fazer pra que o personagem chegue ao final?

Eu acho que essas dúvidas podem ser meio bestas, mas é que tô começando e realmente viajei em como fazer essas coisas… Espero ter deixado claro a duvida… Desde já, agradeço a todos!

Pessoal,

Acho que já sei o que é que tá dando errado. Eu ainda nao tenho certeza se e isso, entao vou dar uma olhada melhor e assim que tiver resposta mando por aqui.

consegui nao…

fiz tudo o que tem no tutorial da api, mas essa coisa de scroll nao consigo…

nao sei pq…