Java 3D : Desenvolvimento de Jogos

31 respostas
JotaJota

Olá galera

Estou tentando dar um pontapé inicial no desenvolvimento de jogos
acho que estou preparado e gostaria de utilizar o java 3D

Mas qual seria o IDE ideal para começar o desenvolvimento?
criar os primeiros projetos?
Eclipse;NetBeans é bom pra isso?

abração para todos!

31 Respostas

alucardeck

www.jmonkeyengine.com

ViniGodoy

Concordo, toda vida JMonkey.
Muito melhor que o Java3D.

Se curtir mesmo o Java 3D, dá uma olhada no livro Killer Game Programming in Java.

JotaJota

comentarios sobre www.jmonkeyengine.com

uhuulll pela pequena avaliação visual eu to aprovando…
o que é isso? um framework?
um IDE para desenvolvimento de games?

maneiro!
nossa existem muitos posts sobre jogos , até repetitivos, a gente precisa centralizar este conteudo

alucardeck

na verdade é uma API para criar 3D em Java…
são varias classes prontas para vc utilizar no seu jogo…

vc vai programar em Java normalmente… mas 95% do seu codigo será com as classes da jMonkey…
eles tem praticamente tudo pronto é só saber usar…
a documentação está bem escrita, e o forum deles ajuda bastante…

para criar algo bom lá, vai precisar de um bom conceito em criação de jogos, e em 3D principalmente…

eles tem diversos tutoriais no site, acho que é praticamente tudo oq vc precisa para começar…

tb tem outras APIs para usar em conjunto para fazer: Sons, Network, Física 3D e por ai vai…

estou desenvolvendo meu TCC nela, ou seja, eu confio na ferramenta o suficiente para apresentar um trabalho de faculdade heheh

qqer duvida aproveita pra perguntar por MP (para não poluir o GUJ), que o conteudo do jMonkey ainda é recente no meu cerebro =P

JotaJota

Só pra acrescentar

eu achei um site muito bom para jogos com java

http://www.cokeandcode.com/

Utiliza o Java 3D
o problema é ambiente de desenvolvimento qeu ficou meio obscuro
mas é muito bom o site
tem muitos conteudos
e jogos de demonstração
e pela qualidade dos jogos… voce poderão ver que os jogos são profissionais

ViniGodoy

Eu vivo postando sobre o CokeAndCode por aqui.
O tutorial deles do Space Invaders é um dos meus favoritos.

O JMonkey é um Game Engine, tal como o Ogre3D, Cadabra3D ou CrystalSpace, para o C++. A alternativa Java à ele é o Xith3D, que considero ligeiramente inferior.

Já o Java3D é um engine, mas apenas para gráficos 3D. Não inclui partículas, física, ou a carga de modelos comuns em jogos (como MD2, MD3 ou modelos esqueletais). Está melhorando com o tempo, mas a performance dele é bem inferior a um binding mais direto.

Se você gosta de gamedev, considere com carinho a possibilidade de frequentar esse fórum (onde sou moderador) e cursar a pós de desenvolvimento de jogos nas faculdades Positivo, aqui em Curitiba.

Falando em centralizar conteúdo, já deu uma olhada no meu blog? =D

JotaJota

Vini
tudo bom cara?
soube que voce é um expert em jogos :wink:
acho que estou falando com as pessoas certas
voces exclareceram todas as minhas duvidas
vlw mesmo…

qual é o link do seu blog?

abração

ViniGodoy

É o que está na minha assinatura:

JotaJota

vlw

Que rapido heim!

JotaJota

Por exemplo Vini
voce já usou o JMonkey??
se sim
qual o IDE que voce usou para implementar?

JotaJota

Galera
to com um problema
olha aqui a documentação:

Configure the jME Project
Step 10: Now right-click the jME project  Properties  Java Build Path  Libraries tab  Add Library?  User Library  Next  User Libraries?  New, enter jME required for the User library name, click OK. Select jME required  Add JARs?, browse to the folder yourworkspace/jME/lib/, then hold down the ctrl key and select: 

jinput.jar
jogg-0.0.7.jar
jorbis-0.0.15.jar
junit-4.1.jar
lwjgl.jar
lwjgl-util-applet.jar
Then Expand lwjgl.jar  Native Library Location  Edit  Workspace?  expand jME  select lib  OK  OK  Finish.

Onde eu consigo essas bibliotecas
revirei revirei o site e nao encontrei

ViniGodoy

Usei no Eclipse. Mas muito pouco.
Meu desenvolvimento de jogos é mais com C++. Aí usei a Ogre no Visual C++ (embora no Code::Blocks também dê).

alucardeck

então…
essas LIBs todas vc baixa no CVS do jMonkey…
são libs da propria pasta do projeto (default)…

então vc adiciona elas no seu projeto… (pode linkar seu projeto no jMonkey pelo Eclipse)

setar a lwjgl.jar como Native…

e seus projetos estão prontos para rodar

thinet

Amigos, uma dúvida, tenho interesse em criar um jogo nos moldes de um simcity (acho que é isométrico né) seria besteira usar a JMonkey (ou qualquer outra engine) e o ideal seria criar a graphics2d mesmo?

alucardeck

bom… necessariamente precisa ser em 2D?
pois vc poderia fazer em 3D com camera fixa…

o JMonkey talvez não seja muito indicado para fazer 2D… mas não é impossivel…

ViniGodoy
SimCity 1 era top-down;

SimCity 2000, 3000 e 4 são tile based e isométricos;

SimCity Sociedades é tile based e 3D.

A JMonkey é indicada se você quiser fazer o terceiro caso. Caso contrário, você pode procurar uma engine para jogos 2D para complementar o Java2D, como a JGame.

thinet

Então Vii, no caso, o que é 3d no SimCity, o mapa, me parece que as construções são pixel-art? ou estou errado?

ViniGodoy

alucardeck:
bom… necessariamente precisa ser em 2D?
pois vc poderia fazer em 3D com camera fixa…

É importante separar a jogabilidade dos gráficos. A moda hoje é restaurar bons jogos 2D, com jogabilidade ainda 2D, mas com gráficos 3D. É o que fizeram em Street Fighter, Sim City Sociedades e o que pretendem na nova versão do Diablo e do StarCraft.

Tudo depende da experiência de jogo que vc quer proporcionar.

Uma engine 3D também fornece outros recursos, que em alguns casos são interessantes: simulação de partículas, post effects (desfoque de câmera, motion blur, etc), iluminação (para efeitos de dia/noite), neblina, etc…

Também é muito mais rápido renderizar modelos do que pixels, por mais incrível que possa parecer.

ViniGodoy

De qual SimCity você está falando?

thinet

Do último

thinet

Desculpe, me enganei, estava falando do 3000, sorry

ViniGodoy

Até onde eu sei (e essa foi a grande propaganda da EA) é que o Sim City Sociedades tem modelos mesmo.
Bem detalhados e texturizados, mas modelos 3D reais, tanto que vc pode ver os prédios de praticamente qualquer ângulo.

Portanto, ele não usa mais projeção ortográfica, seja ela isométrica, dimétrica(SC2000/3000) ou trimétrica(SC4), mas sim, projeção em perspectiva.

Para obter perspectiva isométrica, o plano deve estar necessariamente inclinado em 45º. Já que você está interessado em projeções e no Sim City, dá uma lida nesse artigo:
http://simcity.ea.com/about/inside_scoop/3d1.php

ViniGodoy

Beleza… eu estranhei mesmo. Dá uma lida no artigo ali em cima, será muito esclarecedor.

thinet

Valeu, pessoal!

JotaJota

p/ Alu: teria outra opção se nao usar o CVS?

p/ Thinet: acho que dá sim , meu unico problema é o chute inicial ahuhhuahua

abrax

JotaJota

Status do JMonkey

cara eu consegui baixar as libs o frame

mto bomm mesmoo
só falta aprender como cria componentes 3D
esses objetos que eu posso usar na minha tela

como? tem como fazer isso direto do Eclipse?
pelo que entendi e que eu li parece qeu sim né?
mas como
tem tutorial para isso?

abração

alucardeck

como assim?

vc ker colocar os componentes 3D na tela do Eclipse…
como se fosse um Swing no NetBeans?

se for isso… creio q não…

mas leia o site/wiki/forum do jMonkey…
lah tem todo o conteudo necessario para criar um jogo em 3D “completo” usando a jME e suas APIs auxiliares…

e qqer coisa pode perguntar no forum deles q eles respondem…

Marky.Vasconcelos

Não lembro se voce tem algo para o eclipse criar modelos 3D mas voce pode muito bem criar em programas de modelagem(3DStudio, etc.) e importar no jogo.

Algo que achei legal para modelagem é o projeto teddy com ele voce desenha uma imagem em 2D e ele converte para 3D, é bem simples mas achei legal.

O link:
http://www-ui.is.s.u-tokyo.ac.jp/~takeo/teddy/teddy/teddy.html
Não deixem de ver o tutorial

JotaJota

vlw ai mark

a tenho uma duvida
na hora que eu estava configurando minhas libraries do jme eu precisei associar o jar lwjgl a um dll chamado lwjgl.dll no native library location

primeira duvida
o que este jar faz?

Segunda duvida
O que essa dll faz, qual a importancia dela? tem algo relacionado ao directx do windows
alias
o que é esse directx ? uma API?

abração a todos

ViniGodoy

Esse .jar é o que liga o java ao OpenGL. Também tem algumas classes úteis para games, mas é mais usado só como binding mesmo.

O LWJGL é um projeto, vc pode ir até o site dele, que fica aqui:
http://lwjgl.org/

O OpenGL é o pipeline gráfico que faz acesso ao hardware de vídeo, e é coberto extensivamente no meu blog.
Como é um recurso do sistema operacional, é necessário que seja acessado via JNI, por isso a tal da DLL.

JotaJota

Esclarecedor!!! como sempre =D

vlw

Criado 4 de setembro de 2008
Ultima resposta 26 de set. de 2008
Respostas 31
Participantes 5