SlideShare uma empresa Scribd logo
Desenvolvimento de Jogos em Java




Autor
 
Michel Pinheiro Montenegro (michel.montenegro@gmail.com): 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
Parallax
Olhando a paisagem em um carro em movimento (Lua parada,
     enquanto o resto se movimenta para a “esquerda”)
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?
Falando sobre o mercado, vamos
    fazer algumas perguntas:
     Perspectiva isométrica ou 2.5D
Casos de Sucesso

              Angry Birds [2D]




Angry Birds (Versão em Java): http://celularesmpx.blogspot.com/2011/05/jogo-angry-birds-java.html
Wikia: http://pt.wikipedia.org/wiki/Angry_Birds
Casos de Sucesso
Wurm OnLine [JWS-2.5d]   Wakfu [2.5d]
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”
Casos de Sucesso

   Taikodom [3D]
Casos de Sucesso

   MineCraft [3D]
Casos de Sucesso

    L2J [Server]
Engine(s) Java para 3D




Ardor 3D
Será mesmo Java ruim para desenvolvimento de jogos?
                  Android
          A onda do momento!!??
Notícias de novembro/2011
 iOS e Android dominam o mercado de jogos portáteis nos Estados Unidos
http://techguru.com.br/ios-e-android-dominam-o-mercado-de-jogos-portateis/
 iOS e Android roubam espaço de Sony e Nintendo no mercado de games
http://idgnow.uol.com.br/computacao_pessoal/2011/11/10/ios-e-android-roubam-espaco-de-sony-e-
nintendo-no-mercado-de-games/
 IOS e Android dominam o mercado de jogos portáteis nos Estados Unidos
http://www.gamevicio.com/i/noticias/102/102150-ios-e-android-dominam-o-mercado-de-jogos-portateis-
nos-estados-unidos/index.html
 Mercado de jogos é dominado por Android e Apple iOS
http://www.tudocelular.com/Apple/noticias/n24929/jogos-android-iOS-Apple.html
Projeto Parallax
Projeto Parallax
      Jogos que serviram de inspiração para a Engine




Observação: Club Penguin, é da Disney e faz muito sucesso.
Projeto Parallax
Projeto 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?
Tecnologias envolvidas
Tile Editor/ Map Editor
Projeto Parallax
  Arquitetura
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”
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.
Tecnologias envolvidas
          Artemis
É uma biblioteca que foi criada para facilitar e
abstrair o conceitos:

•Entity ( grupos de Entidades)

•Component (Componentes)

•System (Sistemas)

•ObjectSpatial (Objetos Espaciais)
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.
Tecnologias envolvidas
       NiftyGui
Tecnologias envolvidas
         TWL
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?
Tecnologias envolvidas
RedDwarf (Antigo projeto DarkStar)
Tecnologias envolvidas
                   RedDwarf (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.
Projeto Parallax

Porque Java e não um XNA por exemplo?
A pergunta certa não é sobre as desvantagens do XNA e sim, qual o alcance dele, XNA é
um ótimo motor, XNA funciona em:
Microsoft .NET
Xbox 360
Zune
Windows 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.
Exemplo de motor de jogo 2D
RPG Maker e Sim RPG Maker
Exemplo de motor de jogo 3D (Que utiliza JavaScript)
                   Unity3D
Conclusão
Qualquer 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.
Site Oficial do Parallax
http://www.einformacao.com.br

Mais conteúdo relacionado

PPTX
Engine 2D para criação de Jogos em Java - Veja como é fácil criar um RPG 2D e...
PDF
Java alem das aplicacoes comerciais convencionais
PDF
Programação e Estruturas de Dados - Lic. Design e Multimédia
PDF
Apostila Java2D
PPT
Java 2 D
PPT
Usando JavaFx No Desenvolvimento De Jogos
PPTX
Criando jogos digitais em java
PPTX
Como criar o jogo 2048 em Java 8 e JavaFX
Engine 2D para criação de Jogos em Java - Veja como é fácil criar um RPG 2D e...
Java alem das aplicacoes comerciais convencionais
Programação e Estruturas de Dados - Lic. Design e Multimédia
Apostila Java2D
Java 2 D
Usando JavaFx No Desenvolvimento De Jogos
Criando jogos digitais em java
Como criar o jogo 2048 em Java 8 e JavaFX

Semelhante a Desenv. jogos em java e Proj. Parallax (20)

PPTX
FLISOL 2015 - Desenvolvimento de jogos para Linux com MonoGame
PPT
Desenvolvimento de jogos e Ogre 3D - Dev In Santos
ODP
PPT
Desenvolvimento de jogos e ogre 3D - Unip Santos
PDF
FLISoL'11: Desenvolvendo Games para Android
PDF
Unity3d dev in
PPT
Desenvolvimento de jogos e ogre 3D - Unisantos
PPTX
Tecnologias de Desenvolvimento de Videojogos
PPTX
Playstation Mobile - Campus Party 2013
PDF
Aplicações desktop (GUI) e aplicações ricas para internet (RIA)
PDF
Aplicações desktop (GUI) e aplicações ricas para internet (RIA)
PDF
Desenvolvimento de Jogos em Java
PDF
PPTX
TDC 2013 SP | Trilha Games: Acelerando Games Middleware
PPT
Comparativo entre Engines de Jogos em 3d
PPTX
Mobile Game Development.pptx
PDF
Jogo para dispositivos móveis
PPT
Desenvolvimento de jogos e ogre 3D - Jaguariuna
PPT
Desenvolvimento de jogos e ogre 3D - Palestra Fatec Santos
PPT
Arquitetura e Motores de Jogos Game Engine (motor ou framework)
FLISOL 2015 - Desenvolvimento de jogos para Linux com MonoGame
Desenvolvimento de jogos e Ogre 3D - Dev In Santos
Desenvolvimento de jogos e ogre 3D - Unip Santos
FLISoL'11: Desenvolvendo Games para Android
Unity3d dev in
Desenvolvimento de jogos e ogre 3D - Unisantos
Tecnologias de Desenvolvimento de Videojogos
Playstation Mobile - Campus Party 2013
Aplicações desktop (GUI) e aplicações ricas para internet (RIA)
Aplicações desktop (GUI) e aplicações ricas para internet (RIA)
Desenvolvimento de Jogos em Java
TDC 2013 SP | Trilha Games: Acelerando Games Middleware
Comparativo entre Engines de Jogos em 3d
Mobile Game Development.pptx
Jogo para dispositivos móveis
Desenvolvimento de jogos e ogre 3D - Jaguariuna
Desenvolvimento de jogos e ogre 3D - Palestra Fatec Santos
Arquitetura e Motores de Jogos Game Engine (motor ou framework)
Anúncio

Mais de Michel Montenegro (6)

PPTX
O DNA da computação para jogos digitais: Caminhos
PPTX
Desenvolvimento de Jogos: Analise da Arquitetura e sua Evolução Social
PPTX
ParallaDB - Framework de Persistência Android e Desktop
PPTX
Tecnologias e técnicas para a criação de jogos em java
PPTX
Problemáticas e soluções na criação de jogos digitais
PPTX
DESENVOLVIMENTO DE JOGOS: ANÁLISE DA ARQUIETURA E SUA EVOLUÇÃO SOCIAL
O DNA da computação para jogos digitais: Caminhos
Desenvolvimento de Jogos: Analise da Arquitetura e sua Evolução Social
ParallaDB - Framework de Persistência Android e Desktop
Tecnologias e técnicas para a criação de jogos em java
Problemáticas e soluções na criação de jogos digitais
DESENVOLVIMENTO DE JOGOS: ANÁLISE DA ARQUIETURA E SUA EVOLUÇÃO SOCIAL
Anúncio

Último (8)

PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Manejo integrado de pragas na cultura do algodão
PPTX
Arquitetura de computadores - Memórias Secundárias
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PPTX
Mecânico de Manutenção de Equipamentos.pptx
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Manejo integrado de pragas na cultura do algodão
Arquitetura de computadores - Memórias Secundárias
Viasol Energia Solar -Soluções para geração e economia de energia
Mecânico de Manutenção de Equipamentos.pptx
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx

Desenv. jogos em java e Proj. Parallax