É 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).
DESENVOLVIMENTO DE JOGOS: ANÁLISE DA ARQUIETURA E SUA EVOLUÇÃO SOCIAL
Desenvolvimento de Jogos em Java
1. 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
2. Parallax
Olhando a paisagem em um carro em movimento (Lua parada,
enquanto o resto se movimenta para a “esquerda”)
3. 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?
4. Falando sobre o mercado, vamos
fazer algumas perguntas:
Perspectiva isométrica ou 2.5D
5. 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
7. 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”
12. Será mesmo Java ruim para desenvolvimento de jogos?
Android
A onda do momento!!??
13. 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
18. 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?
22. 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.
23. 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)
24. 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.
27. 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?
29. 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.
30. 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.