34
Desenvolvimento de Jogos em Java Autor Michel Pinheiro Montenegro ([email protected]): Mais de 14 anos de experiência profissional na área de T. I. Bacharel em Sistemas de Informação pelo Instituto de Estudos Superiores da Amazônia - IESAM. Esta cursando sua pós- graduação em Latu Sensu em Engenharia de Sistemas pela Escola Superior Aberta do Brasil - ESAB. Participação em grandes projetos para o Estado como Transparência-Pará. Possui 16 cursos extracurriculares na área de T.I

Desenv. jogos em java e Proj. Parallax

Embed Size (px)

DESCRIPTION

É abordado na palestra conceitos, tecnicas, mercados e afins na criação de jogos em Java, assim como é apresentado o Projeto Parallax, uma engine em Java pioneira e unica no Brasil (No que se propõe).

Citation preview

Page 1: Desenv.  jogos em java e Proj. Parallax

Desenvolvimento de Jogos em Java

Autor Michel Pinheiro Montenegro ([email protected]): Mais de 14 anos de experiência profissional na área de T. I. Bacharel em Sistemas de Informação pelo Instituto de Estudos Superiores da Amazônia - IESAM. Esta cursando sua pós-graduação em Latu Sensu em Engenharia de Sistemas pela Escola Superior Aberta do Brasil - ESAB. Participação em grandes projetos para o Estado como Transparência-Pará. Possui 16 cursos extracurriculares na área de T.I

Page 2: Desenv.  jogos em java e Proj. Parallax

ParallaxOlhando a paisagem em um carro em movimento (Lua parada,

enquanto o resto se movimenta para a “esquerda”)

Page 3: Desenv.  jogos em java e Proj. Parallax

Sobre o mercado, vamos fazer algumas perguntas:

• Desenhos (Incluso animes) em sua maioria são 2D ou 3D, o que predomina no mercado?

• HQs (Incluso mangas) em sua maioria são 2D ou 3D, o que predomina no mercado?

• Jogos para celular/mobile o que predomina (2D ou 3D)?

• Jogos On-Line em meios sociais como Facebook, Orkut e cia o que predomina (2D ou 3D)?

• Jogos On-Line MMORPGs o que predomina (2D ou 3D)?

• Jogos para console quem predomina (2D ou 3D)?

• E quanto A Perspectiva isométrica ou 2.5D?

Page 4: Desenv.  jogos em java e Proj. Parallax

Falando sobre o mercado, vamos fazer algumas perguntas:

Perspectiva isométrica ou 2.5D

Page 5: Desenv.  jogos em java e Proj. Parallax

Angry Birds (Versão em Java): http://celularesmpx.blogspot.com/2011/05/jogo-angry-birds-java.htmlWikia: http://pt.wikipedia.org/wiki/Angry_Birds

Angry Birds [2D]

Casos de Sucesso

Page 6: Desenv.  jogos em java e Proj. Parallax

Wurm OnLine [JWS-2.5d]

Casos de Sucesso

Wakfu [2.5d]

Page 7: Desenv.  jogos em java e Proj. Parallax

Casos de Sucesso

RuneScape [3D-Applet]“O Livro Guiness Mundial dos Recordes reconheceu RuneScape como o MMORPG gratuito mais popular do mundo, pela segunda vez seguida”

Page 8: Desenv.  jogos em java e Proj. Parallax

Taikodom [3D]

Casos de Sucesso

Page 9: Desenv.  jogos em java e Proj. Parallax

MineCraft [3D]

Casos de Sucesso

Page 10: Desenv.  jogos em java e Proj. Parallax

L2J [Server]

Casos de Sucesso

Page 11: Desenv.  jogos em java e Proj. Parallax

Ardor 3D

Engine(s) Java para 3D

Page 12: Desenv.  jogos em java e Proj. Parallax

Será mesmo Java ruim para desenvolvimento de jogos?

AndroidA onda do momento!!??

Page 13: Desenv.  jogos em java e Proj. Parallax

http://techguru.com.br/ios-e-android-dominam-o-mercado-de-jogos-portateis/

http://idgnow.uol.com.br/computacao_pessoal/2011/11/10/ios-e-android-roubam-espaco-de-sony-e-nintendo-no-mercado-de-games/

http://www.gamevicio.com/i/noticias/102/102150-ios-e-android-dominam-o-mercado-de-jogos-portateis-nos-estados-unidos/index.html

http://www.tudocelular.com/Apple/noticias/n24929/jogos-android-iOS-Apple.html

iOS e Android dominam o mercado de jogos portáteis nos Estados Unidos

iOS e Android roubam espaço de Sony e Nintendo no mercado de games

IOS e Android dominam o mercado de jogos portáteis nos Estados Unidos

Mercado de jogos é dominado por Android e Apple iOS

Notícias de novembro/2011

Page 14: Desenv.  jogos em java e Proj. Parallax

Projeto Parallax

Page 15: Desenv.  jogos em java e Proj. Parallax

Projeto ParallaxJogos que serviram de inspiração para a Engine

Observação: Club Penguin, é da Disney e faz muito sucesso.

Page 16: Desenv.  jogos em java e Proj. Parallax

Projeto Parallax

Page 17: Desenv.  jogos em java e Proj. Parallax

Projeto Parallax

Page 18: Desenv.  jogos em java e Proj. Parallax

Projeto Parallax• Parallax é um Jogo? O que é uma engine (Motor)?• Código fonte aberto e livre (Open-source/Free)?• Foi proposital o trocadilho PARAllax com Pará?• Quais os objetivos do projeto?

Page 19: Desenv.  jogos em java e Proj. Parallax

Tecnologias envolvidas

Tile Editor/ Map Editor

Page 20: Desenv.  jogos em java e Proj. Parallax

ArquiteturaProjeto Parallax

Page 21: Desenv.  jogos em java e Proj. Parallax

Tecnologias envolvidas

LWJGL - Lightweight Java Game Library

OpenGL (Open Graphics Library)OpenCL (Open Computing Language)OpenAL (Biblioteca Áudio Aberto)

LWJGL fornece acesso aos controladores, como Gamepads, volante e Joysticks.

- Lightweight Library se traduz como “Biblioteca leve”

Page 22: Desenv.  jogos em java e Proj. Parallax

Tecnologias envolvidas – Slick2D

• Utiliza internamente LWJGL

• Tornar a transição de Java2D para OpenGL de forma fácil.

• Gerar distribuição via WebStart sem complexidade.

• Ajuda com renderização, som, entrada de colisão e outras coisas.

• A planos de em algum momento trabalharem com 3D.

• Suporte a “Maquinas de Estado”.

• Funciona com Applets, Desktop e tem recentemente uma versão para Android.

Page 23: Desenv.  jogos em java e Proj. Parallax

Tecnologias envolvidasArtemis

É uma biblioteca que foi criada para facilitar e abstrair o conceitos:

•Entity ( grupos de Entidades)

•Component (Componentes)

•System (Sistemas)

•ObjectSpatial (Objetos Espaciais)

Page 24: Desenv.  jogos em java e Proj. Parallax

Tecnologias envolvidas

NiftyGui

É uma biblioteca Java que suporta a construção de interfaces de usuário interativas, para jogos ou aplicações similares.

•Utiliza LWJGL para renderização via OpenGL.

•Configuração via XML ou classes Java

•Usado tanto no Slick2D, JmonkeyEngine(3D)

•Da suporte a aventos como ao clicar e tantos outros controles referente a entrada de dados (Teclado e Mouse), da suporte a som e musica.

Page 25: Desenv.  jogos em java e Proj. Parallax

Tecnologias envolvidasNiftyGui

Page 26: Desenv.  jogos em java e Proj. Parallax

Tecnologias envolvidasTWL

Page 27: Desenv.  jogos em java e Proj. Parallax

Tecnologias envolvidas

Devo usar Swing, SWT ou AWT?

Devo usar TWL?

Já sei farei os controles na mão! Será uma boa idéia?

O que o NiftyGui tem de especial em relação aos citados acima?

Page 28: Desenv.  jogos em java e Proj. Parallax

Tecnologias envolvidasRedDwarf (Antigo projeto DarkStar)

Page 29: Desenv.  jogos em java e Proj. Parallax

Tecnologias envolvidasRedDwarf (Antigo projeto DarkStar)

DarkStar era solução de middleware (open source) para MMOG escrito em Java pela equipe do Projeto Darkstar na Sun Microsystems.

Zona de sobrecarga, corrupção de dados, e subutilização de servidores.

Tem suporte a um banco de dados proprio (Berkeley DB).

Algumas caracteristicas do projeto: Balanceamento de carga da CPU, Meta-serviços, Armazenamento de dados persistentes usando Berkeley DB, transações, prevenção de duping, canal de comunicação (Channel, TCP e UDP), Estruturas de dados escalaveis, Protocolos plugáveis e Ferramentas administrativas, Task, Managed-Objects.

Page 30: Desenv.  jogos em java e Proj. Parallax

Porque Java e não um XNA por exemplo?

Projeto Parallax

A pergunta certa não é sobre as desvantagens do XNA e sim, qual o alcance dele, XNA é um ótimo motor, XNA funciona em:Microsoft .NETXbox 360ZuneWindows Phone 7

Porém preciso que o jogo funcione em:Windows (Todas as versões que comportem uma JVM)Linux (Todas as versões que comportem uma JVM)Mac OS (Todas as versões que comportem uma JVM)Outros sistemas operacionais que comportem uma JVM (Para PC )Facilita-se uma possível migração para versões mobile (exemplo: Symbian, Android, etc.) e acredite não seria tão chocante, como podem achar, pelo contrario.Facilita-se uma possível migração para Applet (Incorporação web), apesar deste basicamente não ser necessário, pelo modelo Multiplayer que vai ser adotado.

Page 31: Desenv.  jogos em java e Proj. Parallax

Exemplo de motor de jogo 2D

RPG Maker e Sim RPG Maker

Page 32: Desenv.  jogos em java e Proj. Parallax

Exemplo de motor de jogo 3D (Que utiliza JavaScript)

Unity3D

Page 33: Desenv.  jogos em java e Proj. Parallax

ConclusãoQualquer linguagem que possa desenhar em um “Canvas” pode servir para fazer um jogo!

Java é uma linguagem madura e atual e mantem seu crescimento!

Java tem diversos públicos, e seu raio de ação não esta limitado a somente um ambiente!

Conceito, métodos e metodologias são tão importantes ou até mais importantes que a tecnologia em si, pois conceitos de movimentação colisão e afins, podem ser migrados entre tecnologias diferentes!

Sim! temos um projeto Paraense, que já saiu da fase da ideia/teoria/vontade, para algo consolidado e maduro, que esta em melhoria constante.

Page 34: Desenv.  jogos em java e Proj. Parallax

Site Oficial do Parallaxhttp://www.einformacao.com.br