GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

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


#1

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!


#2

www.apostilando.com


#3

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


#4

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

Abraços


#5

Estude UAIII!!!


#6

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:


#7

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..


#8

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.


#9