Jogos 2D

Bom…me interessei por esse assunto a um tempo e tô pensando em fazer algo pra aprender já que sempre adorei esse tipo de jogo(tower defence, space shooter, etc).
Já achei aqui no fórum muitas referências de como começar com Java2D, e queria saber de quem tem experiência se java é a melhor linguagem pra isso.
Algumas pessoas me falaram que devia dar uma olhada em C/C++ porque é melhor, falaram que java é muito lento e tem problemas com memória entre outras coisas.

Favor de uma opinião sem levar em conta o javeiro dentro de você ^^ seja neutro.

Obs:Sinto que tô esquecendo de algo ^^ se lembrar eu posto aqui depois.

Agradeço a atenção!

c++ não é melhor que java para criar jogos não. Pelo menos não no sentido que você expressou.

c++ vai ser mais indicado se o projeto é coisa grande e exige muitos outros parâmetros. No mais com java você consegue a mesma qualidade de um projeto produzido em c++ já que ambas vão utilizar os mesmos recursos, como opengl ou direct3d.

Faça uma pesquisa que você vai encontrar muitas fontes:

http://www.jmonkeyengine.com/

leoviniga,

Se fosse ruim, não tinha tanta gente desenvolvendo bibliotecas e afins. Eu não entendo esse povo que fala (TANTA) besteira.
De qualquer forma, não dê ouvidos: se você quer mesmo fazer jogos e afins, sugiro esse site.

Existe uma parte de Java no Fórum, acesse, dê uma olhada.

Abraço!

Tem esse artigo interessante sobre Java no desenvolvimento de jogos escrito pelo ViniGodoy aqui do forum.

O java tem os seguintes problemas no desenvolvimento de jogos:

  1. Não é uma linguagem suportada em qualquer console (e nem vai ser);
  2. Não é adotado em nenhuma indústria de jogo triplo A (consequencia do ponto #1);
  3. Não possui boa integração com o sistema operacional, portanto, não dá bom suporte a dispositivos de entrada diferentes, como volantes, manches ou o kinectic;
  4. Ainda como consequencia do item anterior, você é obrigado a recorrer a bindings para usar recursos como OpenGL e OpenAL, e nem sempre vc encontra o binding, como é o caso do DirectX e do Phyx.
  5. Você exige que seu jogador tenha a VM instalada.
  6. O número de APIs para Java é bastante pequeno e não está crescendo num ritmo expressivo. Muitas inclusive foram abandonadas.

O java tem os seguintes pontos positivos:

  1. É a linguagem do Android;
  2. É mais fácil de estudar algorítmos de jogos nele, pois é uma linguagem gerenciada. O desenvolvimento também é mais agradável por isso. Sem falar que se vc já conhece, será mais confortável e vc não desvia tanto de seu objetivo profissional (um ótimo argumento para indies e hobbistas, que não querem ser progs. de jogos em tempo integral);
  3. Tem ótimos profilers;
  4. Tem ótimos IDEs;

Performance não é um fator relevante para a maior parte dos casos.
Jogos tendem a ter gargalos na placa de vídeo, e não tanto em uso de CPU.

Além da unidev, outro fórum interessante sobre desenvolvimento de jogos é o http://www.programadoresdejogos.com.br, onde sou administrador. Entretanto, o GUJ ainda tem se mostrado melhor que os dois casos quando o assunto é java.

Também não deixe de visitar o meu portal, o ponto v: http://www.pontov.com.br
O Mark (do post acima) escreve lá sobre Android, enquanto o André Santée (dono da Unidev) é o autor dos artigos sobre GameSpaceLib e Ethanon (engine 2D que ele criou para C++).