Como faco para aprender a fazer jogo em java ou mesmo java 3d?

ola gente, eu nao sei nada de java, mais eu gostaria de aprender a linguagem para fazer jogos inclusive os 3d. por onde eu comeco? por favor me ajudem!

www.apostilando.com

poxa obrigado pela sua atencao tao prontamente!
eu ja ate baixei todas as apostilas de la mais o caso nao e esse
pq java tem um monte de ide e e muito utilizada (principalmente) para fazer aplicacoes para web ( como webshfere da ibm ou eclipse) , mais nao e esse o meu caso, eu quero aprender java para criar jogos.
entao por onde comeco? qual interface ou pgm?
desculpe se disse alguma coisa errada aki, pois sou totalmente leigo, e inexperiente. e muito obrigado de novo pela sua atencao e paciencia.
abracos
mainlcl

Olá, fale com o ViniGodoy, nosso colega de GUJ.
Blog dele: http://www.pontov.com.br

Abraços

Estude UAIII!!!

Primeiro, você começa aprendendo Java. Pegue a apostila da caelum e vá ao apostilando e aprenda a linguagem.

No caso de jogos 3D, seria interessante que você aprendesse C++, não tanto o Java. O JMonkeyEngine existe para o Java e é ótimo para esse tipo de jogo, mas só o C++ é aceito por consoles. Existe muita documentação em C++ também, que te ensina a usar o OpenGL, DirectX e conceitos de games 3D, por exemplo. E, mesmo que seu foco vá mesmo ser java no futuro, é uma boa poder estudar esse material.

Vencida a linguagem, o primeiro passo é… você já sabe fazer um jogo 2D?

Se não sabe, um bom lugar para começar é o site:
http://www.cokeandcode.com/tutorials
Recomendo que você faça o tutorial do Space Invaders.

É uma boa idéia estudar a API do Java 2D. Vários tópicos na criação de jogos são mais facilmente estudados em 2D (IA e redes, por exemplo). Um bom material sobre Java2D está aqui:
http://java.sun.com/j2se/1.5.0/docs/guide/2d/spec/j2d-bookTOC.html
http://java.sun.com/products/jfc/tsc/articles/painting/index.html#swing

Tutoriais são bons, mas estão muito longe de serem um material completo e detalhado. Busque um pouco de teoria também. O livro Killer Game Proggraming in Java está disponível online e cobre o Java 3D. O site é esse:
http://fivedots.coe.psu.ac.th/~ad/jg/

Para jogos 3D, é bom também que você reveja sua álgebra vetorial e os conceitos de matrizes. Movimentações de câmera, física, calculos de iluminação… tudo isso vai envolver álgebra vetorial.

Também procure foruns com ênfase em jogos, como a PDJ e a Unidev
http://www.pdj.com.br
http://www.unidev.com.br

Só gostaria de lembrar que jogos fora do gênero casual são softwares complexos. Exigem um bom conhecimento na linguagem, em técnicas de programação e padrões de projeto. Então, tenha certeza de tornar-se um bom programador, em primeiro lugar. :wink:

ViniGodoy,

Existe muita diferença entre a criação de um jogo de Estratégia RTS e outros gêneros ? tirando os graficos é claro.

Você tem alguma dica de como começar um ?

Grato…

A principal diferença é que jogos RTS usam muita IA. Você precisará de algoritmos para encontrar caminhos muito rápidos e otimizados (como o A* e suas variantes), pois centenas de unidades serão processadas ao mesmo tempo. Também precisará de bons algoritmos de planejamento, árvores de decisão e análise estratégica. Uma boa forma de trabalhar com máquinas de estados (preferencialmente com uma pilha para que ela tenha memória) e um bom mecanismo de troca de mensagens é fundamental também.

Além do básico, procure algum livro de IA. Um realmente muito bom é o Programming Game AI by Example, do Mat Buckland. O site do autor é esse aqui: http://www.ai-junkie.com/

Outro livro muito completo sobre IA, mas muito mais acadêmico é o Inteligência Artificial, escrito por Norvig e Russel.

A grande vantagem é que esses jogos não precisam ser tão pesados em termos gráficos (pegue o Star Craft, que ainda é um sucesso só sem nem usar uma engine 3D).

Hoje também é recomendável que você evite “roubar” com a IA. Por exemplo, usar informações do jogador, mesmo quando eles estariam fora do campo de visão de sua IA.