Bibliotecas para a criação de jogos em duas dimensões

Olá galera, comecei recentemente a programar em Java, e meu principal objetivo com isso é a criação de jogos.

Inicialmente gostaria de começar na programação de jogos em 2D, por ser muito mais simples.

Então gostaria que me dissessem em termos de EFICIÊNCIA, quais as principais bibliotecas para tais feitos?

Alguns dos recursos que seriam usados nos jogos são: gráficos, claro (desenhar imagans a partir de arquivos externos, desenhar imagens alocadas na memória, desenhar apenas uma parte de uma imagem (tilesets), …), conexão clientes/servidor para jogos multiplayer, manipulação de arquivos (INI, por exemplo), manipulação da janela, assim como dos objetos básicos do sistema, tais como Combo Box, Edit Box, …, entre outros recursos.

E também em termos de EFICIÊNCIA, existe alguma API realmente boa para isso, incluindo todos os itens que citei acima? Se sim, seria mais vantajoso o uso de uma API, ou de várias bibliotecas com funções específicas?

Desde já agradeço.

Tem a biblioteca SDL: http://www.libsdl.org/ e http://sdljava.sourceforge.net/

Att.

Olá grabiellost,

Já teve uma discução desta no GUJ mas não achei tópico para postar aqui, mas vamos lá

Tudo o que você disse da para ser feito com o JavaSE e Java2D, eu prefiro pois, apesar de ser um pouco mais complicado, seu jogo fica indenpendete de blibliotecas de terceiros.

Mas se você ainda quiser procurar alguma API te recomendo as duas abaixos
http://lwjgl.org/
http://slick.cokeandcode.com/

A Slick2d é uma API muito boa, cheguei a utiliza-la por alguma tempo antes de começar a estudar Java2d, e ela usa a API lwjgl por trás. Essas bibliotecas se utilizam de OpenGL para renderização.

A comunidade é bem grande e existem bastante ferramentas criadas por ela, como tiledmap.org, que cria um map no esquema de tileset, do jeito que vc quis, e também já existem bastantes bibliotecas GUI (edit box e etc) para ela.

Mas ainda sim prefiro o Java2D :slight_smile:

O mais interessante para um jogo 2D é voce entender como um jogo funciona.
Aprender matematica vetorial é essencial.
Desenhar na tela é uma parte relativamente simples, transformações complicam um pouco, mas nada de mais.

Se é um jogo basico para estudo por exemplo, voce pode usar a propria API Java 2D que ja vem com o JSE normal.

Do resto, voce pode estudar em:
http://www.pontov.com.br

Obrigado amigos. Marky, eu já tenho um bom conhecimento em geometria analítica e cálculo vetorial.

Eu gostaria de uma API profissional, principalmente que dê um bom suporte para jogos multiplayers. A Java2D faz isso? Existe alguma mais eficiente que ela?

Se é necessário o uso de quaisquer outras bibliotecas pesso que me informem. ;D

Desde já agradeço.

[quote=gabrielost]Obrigado amigos. Marky, eu já tenho um bom conhecimento em geometria analítica e cálculo vetorial.

Eu gostaria de uma API profissional, principalmente que dê um bom suporte para jogos multiplayers. A Java2D faz isso? Existe alguma mais eficiente que ela?

Se é necessário o uso de quaisquer outras bibliotecas pesso que me informem. ;D

Desde já agradeço.[/quote]

Java2d serve apenas para renderizar gráficos e imagens, para ser multiplayer você terá que utilizar outras APIs, não conheço nenhuma biblioteca para te auxiliar nessa parte.

[]s

[quote=Naruffy][quote=gabrielost]Obrigado amigos. Marky, eu já tenho um bom conhecimento em geometria analítica e cálculo vetorial.

Eu gostaria de uma API profissional, principalmente que dê um bom suporte para jogos multiplayers. A Java2D faz isso? Existe alguma mais eficiente que ela?

Se é necessário o uso de quaisquer outras bibliotecas pesso que me informem. ;D

Desde já agradeço.[/quote]

Java2d serve apenas para renderizar gráficos e imagens, para ser multiplayer você terá que utilizar outras APIs, não conheço nenhuma biblioteca para te auxiliar nessa parte.

[]s[/quote]

Ok… Obrigado! =)

Se alguém mais puder ajudar, principalmente quanto a biblioteca ou API para jogos multiplayer, fico bastante grato. ;D

[quote=wellington.nogueira]Acho que você quer é uma engine que forneça uma API onde vc possa se concentrar mais na história, gestão de usuários e deixar coisas como concorrência de conexões, colisões, etc para a engine cuidar. Seria isso?

Dei uma pesquisada no google. Não conheço as APIs.
http://www.google.com/search?hl=en&q=engine+multiplayer+game+api+java

O meu 1o resultado do google:
hubpages.com/hub/darkstar_java_game_engine

Lista de engines no Wikipedia:

Talvez te ajude.[/quote]

Na verdade a história não é tão relevante, e quero ter o máximo de controle possível sobre tudo. Pro jogo que estou em mente creio que não precisará de um sistema de colisão, pelo menos não complexo.

Vlw ae… Aguardo mais respostas.

Só para colocar na lista de engines possíveis… tem esta JMonkey Engine http://www.jmonkeyengine.com/home/.

Att.

tambem estou interessado, olha o que eu achei.

http://java.sun.com/developer/technicalArticles/GUI/java2d/java2dpart2.html

http://java.sun.com/products/java-media/2D/samples/java2demo/Java2Demo.html

esta segunda com applet é muito legal

Obrigado pela ajuda galera… =)

Então parece-me que as melhores APIs/Engines para se criar jogos 2D em Java são a Java2D e a jMonkey Engine. Vocês conhecem algum bom jogo feito nelas?

Desde já agradeço.

Olá,
pelo que vi a jMonkey Engine é utilizada frequentemente para fazer jogos on-line.
Sobre lista de engines achei este site http://www.devmaster.net/engines/ :D. De acordo com ele as engines mais vistas (e portanto mais usadas) são:

Commercial Engines:

  1.  C4 Engine
    
  2. Torque Game Engine
  3. 3DGameStudio
  4. TV3D SDK 6.5
  5. Leadwerks Engine 2
  6. Unity
  7. ShiVa Engine
  8. DX Studio
  9. NeoAxis Engine
  10. Esenthel Engine
    

Open Source Engines:

  1.  OGRE
    
  2. Irrlicht
  3. Panda3D
  4. Crystal Space
  5. jME <-- jMonkey aqui :wink:
  6. Blender Game Engine
  7. Reality Factory
  8. The Nebula Device 2
  9. RealmForge
  10. OpenSceneGraph
    

Att.

Serve Python?

http://www.cocos2d.org/

Obrigado Adelar… =)

[quote=rlazoti]Serve Python?

http://www.cocos2d.org/[/quote]

Se serve eu fazer o jogo em Python ao invés de Java? Se essa for a sua pergunta, a resposta é: Até serviria, mas quero ter experiência de criação de jogos com Java.

Galera, jogos em Java realmente valem a pena? O fato do Java usar uma máquina virtual não atrapalha significativa no desepenho do jogo?

Desde já agradeço.

Olá,
java é utilizado para fazer jogos para dispositivos móveis, geralmente. Para desktop existem alguns projetos voltados para o lado do servidor (tal como este para o Jogo Mu: http://code.google.com/p/java-muonline-server-files/)… já sobre uso nos clientes não conheço nenhum para dar exemplo.
Att.

Acho que você quer é uma engine que forneça uma API onde vc possa se concentrar mais na história, gestão de usuários e deixar coisas como concorrência de conexões, colisões, etc para a engine cuidar. Seria isso?

Dei uma pesquisada no google. Não conheço as APIs.
http://www.google.com/search?hl=en&q=engine+multiplayer+game+api+java

O meu 1o resultado do google:
hubpages.com/hub/darkstar_java_game_engine

Lista de engines no Wikipedia:

Talvez te ajude.