Desenv. jogos em java e Proj. Parallax
-
Upload
michel-montenegro -
Category
Technology
-
view
2.819 -
download
1
description
Transcript of 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
ParallaxOlhando 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
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
Wurm OnLine [JWS-2.5d]
Casos de Sucesso
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”
Taikodom [3D]
Casos de Sucesso
MineCraft [3D]
Casos de Sucesso
L2J [Server]
Casos de Sucesso
Ardor 3D
Engine(s) Java para 3D
Será mesmo Java ruim para desenvolvimento de jogos?
AndroidA onda do momento!!??
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
Projeto Parallax
Projeto ParallaxJogos 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
ArquiteturaProjeto 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”
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 envolvidasArtemis
É 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 envolvidasNiftyGui
Tecnologias envolvidasTWL
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 envolvidasRedDwarf (Antigo projeto DarkStar)
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.
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.
Exemplo de motor de jogo 2D
RPG Maker e Sim RPG Maker
Exemplo de motor de jogo 3D (Que utiliza JavaScript)
Unity3D
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.
Site Oficial do Parallaxhttp://www.einformacao.com.br