MICHEL PINHEIRO MONTENEGRO
         PROJETO PARALLAX - ENGINE 2D PARA CRIAÇÃO DE JOGOS EM JAVA
             Veja como é fácil criar um RPG 2D em Java usando esta engine nacional.
Mais de 14 anos de experiência profissional na área da Tecnologia da Informação. 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 (Termino: 2012). Trabalhou em 18 Empresas no ano de 1999-2002 por contrato (Referente a sistemas, equipamentos
e consultoria em relação ao ambiente fiscal e tecnológicos destas empresas), antes de entrar para o estado. Participação em grandes
projetos para o Estado (2003-2009) como Transparência-Pará (Sistema Web desenvolvido com o objetivo de manter expostas as
informações relacionadas aos gastos públicos de todo o estado do Pará) e o Siscon (Sistema de Controle de Auditorias, um dos sistemas
pioneiros no que se refere a Órgãos de Controle Interno no País (Auditorias e Controladorias). Possui 16 cursos extracurriculares na área de
T.I
MOTIVAÇÕES PARA A CRIAÇÃO DA ENGINE
• Novas tecnologias Hardware/Software.
• Novos conceitos.
• Novo mercado de trabalho.
• Novas linhas de raciocínio.
• Assunto moderno/atual.
• Inexistência de uma engine em Java Open-Source, Free e especializada, em âmbito nacional.




                                                                                                                                            PROJETO PARALLAX – ENGINE 2D
• Possibilidade de trazer tecnologias desconhecidas ou pouco divulgadas, usadas no exterior para nossa realidade nacional.
• Ser pioneiro não somente nos dois quesitos acima, mas também gerar um produto estadual, que trouxesse a atenção nesta área para o
  nosso estado.
• Possibilidade de gerar algo pronto e funcional, multiplataforma, com uso de uma tecnologia pública, acessível e respeitada, que pudesse
  ser usado, aperfeiçoado e reescrito pelos entusiastas do meio.

O QUE É UMA ENGINE?                                                    DIFICULDADES
                                                                       • Falta de membros/equipe e a necessidade de pessoas
                                                                         especializadas (Ex.: Designer gráficos, Map Designer, etc.).
• Motor de Jogo (Faz o ambiente funcionar)
                                                                       • Falta de Informação nacional, sites como GUJ, Unidev, Ponto V,
• Fabrica de Jogos (Através de uma engine é possível fazer outros        PDJ, entre outros quase não possuíam informações sobre nada
  no mesmo modelo)                                                       que ajudasse na criação de uma engine ou jogo em Java, nem
                                                                         tão pouco sobre as tecnologias aplicadas no Parallax
                                                                         (Recentemente o Ponto V fez um artigo introdutório sobre o
• Abstração da Arquitetura/Plataforma (Mantem o foco somente             NiftyGUI e tem os diversos textos gerados pelo autor do
  no desenvolvimento da historia e interações, dentro das                Parallax nessas e outras comunidades no exterior falando sobre
  limitações de cada engine)                                             as tecnologias aplicadas, como exemplo cito o fórum do
                                                                         RedDwarf, slick, Nifty).
PORQUE O NOME PARALLAX?
                                                                       • Criticas e descrença de que uma engine em Java poderia ser
                                                                         criada, usando como argumentos problemas supridos pelo
                                                                         LWJGL e outras bibliotecas.

                                                                       • “Times de futebol” com o slogan “Minha linguagem/ tecnologia
                                                                         é melhor ...”.
LWJGL - Lightweight Java Game Library (“Biblioteca leve”)

    •   OpenGL(Open Graphics Library)
    •   OpenCL(Open Computing Language)
    •   OpenAL(Biblioteca Áudio Aberto)
    •   LWJGL fornece acesso aos controladores, como Gamepads, volante e Joysticks.
Slick 2D




                                                                                                                                    PROJETO PARALLAX – ENGINE 2D
•       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 trabalhar com 3D.
•       Suporte a “Maquinas de Estado”.
•       Funciona com Applets, Desktop e tem recentemente uma versão para Android.
Artemis

•       É uma biblioteca que foi criada para facilitar e abstrair o conceitos:
•       Entity (grupos de Entidades)
•       Component (Componentes)
•       System (Sistemas)
•       ObjectSpatial (Objetos Espaciais)
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 e Jmonkey Engine(3D)
• Da suporte a eventos como ao clicar e tantos outros controles referente a entrada de dados(Teclado e Mouse), da suporte a som e
   musica.
Swing, TWL, NiftyGUI, ou fazer seu próprio componente?


RedDwarf
PROJETO PARALLAX – ENGINE 2D
STATUS, INTERNACIONALIZAÇÃO, MINIMAPA, COMPONENTES*

* Componentes [NiftyGUI]

•   Button
•   TabControl
•   Image
•   Text
•   Painel
QUESTS(MISSÕES), COMPONENTES *

* Componentes [NiftyGUI]

•   ListBox.
•   TextArea.
•   Barra de Rolagem (Não ativa na imagem)
•   -> Caixa de Mensagem, para conversação on-line.
SKILLS + DESCRIÇÃO
DIALOGO COM NPC
BATALHA, SKILL(ÁREA/ESPECIFICO), TURNO, ANIMAÇÃO,
  STATUS, TIPO DE DANO, INIMIGOS(AJUSTE NA TELA E IA)
Trabalhar com uma linguagem organizada, orientada a objetos, com um excelente apoio no “back-end “, justamente onde o Java é tão elogiado
(Lembrando que muitos aconselham Java e C/C++ para o lado servidor), foi fundamental.
EDITOR DE MAPA, OBJETOS(PROPRIEDADES), CAMADAS
* Objetos:                                                          * Eventos:
Objeto: Teleporte.                                                  Ao pisar
Objeto: Mudar Mapa.                                                 Ao tocar
Objeto: Aplicar Status (Veneno, Confusão, Paralisia, Slow, etc.).   Ao Ativar
- Efeito como Andar sobre a escada (Stair)                          ....
Objeto: Salvar Status

Entre outros
BANCO DE DADOS EMBARCADO (APACHE DERBY), SQL, JAVADOC
JAVADOC (DOCUMENTAÇÃO EM CÓDIGO)
MÉTRICAS E ARQUITETURA
PADRÕES DE PROJETO APLICADOS NO PARALLAX                          IMAGEM ILUSTRATIVA

•   DAO
•   FACADE
•   FACTORY
•   SINGLETON
•   REFLECTION
•   DTO




                                                                                       PROJETO PARALLAX – ENGINE 2D
•   POJO


CLIMA

•   Chuva
•   Neve
•   Tempestade de areia
•   Nuvens passando no mapa




INTERAÇÃO NO MAPA

• NPC (Ex.: Renia)
• Monstros (Ex.: Caveira, Ifrit)
• Movimento pelo mouse e teclado
• Colisão
Obs.: Aplico movimentação por vetor (Existem outros, bound box,
etc.).
• PathFinder (Aplicação de Heurísticas)
PROJETO PARALLAX – ONDE E QUEM ALCANÇAR?
                                           2D -> ISOMETRICO (2.5D) -> 3D
PROJETO PARALLAX – ONDE E QUEM ALCANÇAR?
O jogo “Re-mission”, foi criado pela bióloga Pam Omidyar para   “A Mansão de Quelícera”, tem o proposito de passar as informações
        ajudar na autoestima de crianças com câncer                     de um livro educativo através de um jogo digital
PROJETO PARALLAX – ONDE E QUEM ALCANÇAR?
1° Jogo (Militar) - Tênis para dois                       Lan Houses
                                                                                                 Faculdades




         Filmes & Jogos               Ministro da Defesa, Nelson Jobim, no simulador de voo      Gamification




                                                                                              Evolução e/ou
                                                                                              Complemento?
E-Mail:
michel.montenegro@gmail.com




                              PROJETO PARALLAX – CONCLUSÃO
           Site:
  www.einformacao.com.br

Engine 2D para criação de Jogos em Java - Veja como é fácil criar um RPG 2D em Java usando esta engine nacional.

  • 1.
    MICHEL PINHEIRO MONTENEGRO PROJETO PARALLAX - ENGINE 2D PARA CRIAÇÃO DE JOGOS EM JAVA Veja como é fácil criar um RPG 2D em Java usando esta engine nacional. Mais de 14 anos de experiência profissional na área da Tecnologia da Informação. 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 (Termino: 2012). Trabalhou em 18 Empresas no ano de 1999-2002 por contrato (Referente a sistemas, equipamentos e consultoria em relação ao ambiente fiscal e tecnológicos destas empresas), antes de entrar para o estado. Participação em grandes projetos para o Estado (2003-2009) como Transparência-Pará (Sistema Web desenvolvido com o objetivo de manter expostas as informações relacionadas aos gastos públicos de todo o estado do Pará) e o Siscon (Sistema de Controle de Auditorias, um dos sistemas pioneiros no que se refere a Órgãos de Controle Interno no País (Auditorias e Controladorias). Possui 16 cursos extracurriculares na área de T.I
  • 2.
    MOTIVAÇÕES PARA ACRIAÇÃO DA ENGINE • Novas tecnologias Hardware/Software. • Novos conceitos. • Novo mercado de trabalho. • Novas linhas de raciocínio. • Assunto moderno/atual. • Inexistência de uma engine em Java Open-Source, Free e especializada, em âmbito nacional. PROJETO PARALLAX – ENGINE 2D • Possibilidade de trazer tecnologias desconhecidas ou pouco divulgadas, usadas no exterior para nossa realidade nacional. • Ser pioneiro não somente nos dois quesitos acima, mas também gerar um produto estadual, que trouxesse a atenção nesta área para o nosso estado. • Possibilidade de gerar algo pronto e funcional, multiplataforma, com uso de uma tecnologia pública, acessível e respeitada, que pudesse ser usado, aperfeiçoado e reescrito pelos entusiastas do meio. O QUE É UMA ENGINE? DIFICULDADES • Falta de membros/equipe e a necessidade de pessoas especializadas (Ex.: Designer gráficos, Map Designer, etc.). • Motor de Jogo (Faz o ambiente funcionar) • Falta de Informação nacional, sites como GUJ, Unidev, Ponto V, • Fabrica de Jogos (Através de uma engine é possível fazer outros PDJ, entre outros quase não possuíam informações sobre nada no mesmo modelo) que ajudasse na criação de uma engine ou jogo em Java, nem tão pouco sobre as tecnologias aplicadas no Parallax (Recentemente o Ponto V fez um artigo introdutório sobre o • Abstração da Arquitetura/Plataforma (Mantem o foco somente NiftyGUI e tem os diversos textos gerados pelo autor do no desenvolvimento da historia e interações, dentro das Parallax nessas e outras comunidades no exterior falando sobre limitações de cada engine) as tecnologias aplicadas, como exemplo cito o fórum do RedDwarf, slick, Nifty). PORQUE O NOME PARALLAX? • Criticas e descrença de que uma engine em Java poderia ser criada, usando como argumentos problemas supridos pelo LWJGL e outras bibliotecas. • “Times de futebol” com o slogan “Minha linguagem/ tecnologia é melhor ...”.
  • 3.
    LWJGL - LightweightJava Game Library (“Biblioteca leve”) • OpenGL(Open Graphics Library) • OpenCL(Open Computing Language) • OpenAL(Biblioteca Áudio Aberto) • LWJGL fornece acesso aos controladores, como Gamepads, volante e Joysticks. Slick 2D PROJETO PARALLAX – ENGINE 2D • 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 trabalhar com 3D. • Suporte a “Maquinas de Estado”. • Funciona com Applets, Desktop e tem recentemente uma versão para Android. Artemis • É uma biblioteca que foi criada para facilitar e abstrair o conceitos: • Entity (grupos de Entidades) • Component (Componentes) • System (Sistemas) • ObjectSpatial (Objetos Espaciais) 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 e Jmonkey Engine(3D) • Da suporte a eventos como ao clicar e tantos outros controles referente a entrada de dados(Teclado e Mouse), da suporte a som e musica. Swing, TWL, NiftyGUI, ou fazer seu próprio componente? RedDwarf
  • 4.
  • 5.
    STATUS, INTERNACIONALIZAÇÃO, MINIMAPA,COMPONENTES* * Componentes [NiftyGUI] • Button • TabControl • Image • Text • Painel
  • 6.
    QUESTS(MISSÕES), COMPONENTES * *Componentes [NiftyGUI] • ListBox. • TextArea. • Barra de Rolagem (Não ativa na imagem) • -> Caixa de Mensagem, para conversação on-line.
  • 7.
  • 8.
  • 9.
    BATALHA, SKILL(ÁREA/ESPECIFICO), TURNO,ANIMAÇÃO, STATUS, TIPO DE DANO, INIMIGOS(AJUSTE NA TELA E IA) Trabalhar com uma linguagem organizada, orientada a objetos, com um excelente apoio no “back-end “, justamente onde o Java é tão elogiado (Lembrando que muitos aconselham Java e C/C++ para o lado servidor), foi fundamental.
  • 10.
    EDITOR DE MAPA,OBJETOS(PROPRIEDADES), CAMADAS * Objetos: * Eventos: Objeto: Teleporte. Ao pisar Objeto: Mudar Mapa. Ao tocar Objeto: Aplicar Status (Veneno, Confusão, Paralisia, Slow, etc.). Ao Ativar - Efeito como Andar sobre a escada (Stair) .... Objeto: Salvar Status Entre outros
  • 11.
    BANCO DE DADOSEMBARCADO (APACHE DERBY), SQL, JAVADOC
  • 12.
  • 13.
  • 14.
    PADRÕES DE PROJETOAPLICADOS NO PARALLAX IMAGEM ILUSTRATIVA • DAO • FACADE • FACTORY • SINGLETON • REFLECTION • DTO PROJETO PARALLAX – ENGINE 2D • POJO CLIMA • Chuva • Neve • Tempestade de areia • Nuvens passando no mapa INTERAÇÃO NO MAPA • NPC (Ex.: Renia) • Monstros (Ex.: Caveira, Ifrit) • Movimento pelo mouse e teclado • Colisão Obs.: Aplico movimentação por vetor (Existem outros, bound box, etc.). • PathFinder (Aplicação de Heurísticas)
  • 15.
    PROJETO PARALLAX –ONDE E QUEM ALCANÇAR? 2D -> ISOMETRICO (2.5D) -> 3D
  • 16.
    PROJETO PARALLAX –ONDE E QUEM ALCANÇAR? O jogo “Re-mission”, foi criado pela bióloga Pam Omidyar para “A Mansão de Quelícera”, tem o proposito de passar as informações ajudar na autoestima de crianças com câncer de um livro educativo através de um jogo digital
  • 17.
    PROJETO PARALLAX –ONDE E QUEM ALCANÇAR? 1° Jogo (Militar) - Tênis para dois Lan Houses Faculdades Filmes & Jogos Ministro da Defesa, Nelson Jobim, no simulador de voo Gamification Evolução e/ou Complemento?
  • 18.
    E-Mail: michel.montenegro@gmail.com PROJETO PARALLAX – CONCLUSÃO Site: www.einformacao.com.br