Projeto Parallax – Engine Em Java Para Jogos 2D

Por Michel Montenegro

Olá turma do Cosmic Effect! Mais um fanático pelos jogos em 2D por aqui desejando compartilhar um pequeno projeto com vocês. Bom, uma rápida apresentação: sou daqueles que não deixa passar nenhum Final Fantasy, Pokémon e Chrono Trigger, tornando-me mais um enfeitiçado por estes títulos clássicos — mas não somente pelos jogos em si.

Sem conseguir desgrudar da estética dos retrogames em duas dimensões, tenho me deliciado com jogos online atuais que seguem aquele estilo visual, como o “épico e cômico” Dofus, o conhecido Tibia e mais recentemente o Club Penguin — este, um MMO em flash sob o selo de qualidade Disney, portanto, imaginem a qualidade da arte 2D.

Somando a paixão pelos velhos sprites com a mecânica do RPG old-school, comecei a ter um sonho recorrente: fazer o meu próprio MMORPG. Bom, já cheguei a administrar servidores com até 1000 pessoas online, através da utilização de um projeto de servidor open source em Java, o L2J. Tudo isso me motivou a uma pergunta: “será que é possível um MMORPG em 2D, recuperando o estilo de jogo clássico”?

Daí nasceu um pequeno projeto que havia batizado de “JMMORPG”. Após algum tempo aprendendo com este primeiro modelo que havia desenvolvido, caindo e levantando muito… nasceu o Projeto Parallax, que supera de longe seu antecessor e que gostaria de lhes apresentar neste pequeno artigo.

Uma engine em Java para RPGs em 2D

Percebi que não existem engines em java para desenvolver jogos: há somente o JMonkeyEngine, porém direcionado à confecção de jogos 3D. Existem muitas bibliotecas, mas nada que possa ser descrito como uma engine totalmente funcional. Então, por que não me ajudar e, no processo, ajudar também outras pessoas? Será que é possível conseguir contribuições e, como um projeto mútuo, ter seu desenvolvimento acelerado? Como diz o ditado, “em solo fértil, um povo unido não passa fome”. Pois bem, respirei Projeto Parallax nos últimos dois anos e no site http://www.einformacao.com.br/parallax/ você pode encontrar em que pé a engine está neste momento.

Um relato rápido: no início, alguns profissionais da área de TI/desenvolvimento de jogos até me desmotivaram com relação a esta ideia, por conta da existência do XNA (framework de jogos para PC/X360 e Windows Phone), o GameMaker e até mesmo o próprio HTML5. Dei uma espiada nelas e pude concluir que, para o meu objetivo, Java continuou como a opção mais interessante.

Enfim, o objetivo do projeto é criar uma engine que possibilite a criação de jogos 2D sem que haja a necessidade de digitar uma única linha de código por parte do desenvolvedor, assim como acontece com o RPG Maker, porém com as seguintes vantagens:

  • Projeto open source. O usúario da engine poderá, se assim desejar, fazer alterações personalizadas.
  • Compatibilidade. Possibilidade de rodar em qualquer sistema operacional que tenha uma JVM (Máquina Virtual Java) desde que atenda os padrões mínimos de hardware.
  • Sem programação. Não ter a necessidade de conhecer nenhuma linguagem de programação, apenas conceitos básicos de operação em qualquer sistema operacional.
  • Expansivo. Inicialmente, oferecer a capacidade de gerar jogos no mesmo estilo do RPG Maker para então expandir para outros modos. O Projeto Parallax é totalmente modular.
  • Offline e online. Oferecer suporte online, possibilitando MMOG ou MMORPG. Importante lembrar que o JMMORPG, protótipo do Parallax, obteve sucesso neste aspecto e suas estruturas estão sendo aproveitadas.
  • Custo zero. O Projeto Parallax somente faz uso de tecnologias 100% livres e de código aberto em sua construção.
  • Padronização no código e na criação final do produto. Utilização de técnicas modernas durante o desenvolvimento, garantindo compatibilidade com conceitos e tecnologias atuais.
  • Porta aberta para todos. Para quem deseja entrar na área de desenvolvimento de jogos, principalmente em Java, nosso projeto pode ser uma excelente escola.
  • Qualidade e simplicidade. Se for para qualquer um poder criar, não pode ser complexo. Procuro manter o código-fonte o mais objetivo, enxuto e padronizado possível.

Que tipo de apoio o Projeto Parallax precisa

  1. Designer/artista gráfico. Para desenhar as telas do jogo, personagens, etc.  Sei que podem ficar mais bonitas visualmente. Do ponto de vista operacional, é bem fácil, pois as telas funcionam no conceito de skin/template. A tela é composta por painéis, um dentro do outro. Os painéis têm uma imagem de fundo. Os botões carregam a imagem pré-estabelecida, se mudar a skin da imagem, muda no projeto. Fazer arte/design na engine é bem fácil, pode acreditar. Há um vídeo planejado para ser feito somente para desmistificar qualquer possível complexidade que por ventura o projeto possa passar no que se refere aos gráficos.
    .
  2. Desenvolvedor (para o database do projeto). Por exemplo, estou usando XML para os dados e isto deve se manter assim para os dados estáticos e de baixo volume baixo que fiquem no cliente (Um desenvolvedor só para fazer a tela de “cadastro e edição destes dados”). Como o projeto tem vários “flancos” a serem projetados e estou focado no código da engine, um outro desenvolvedor que possa cuidar dessa parte seria de grande ajuda. Futuramente, certamente haverá a necessidade para um banco de dados em um formato “X” (MySql, DBD ou outro…).
    .
  3. Desenvolvedor (Java): Ajudaria bastante para dividir as tarefas comigo, acelerando a parte da engine mesmo.
    .
  4. Music Composer: Alguém para compor músicas e sons, seria de grande ajuda. [Nota: o Eric Fraga “Cosmonal” já estará contribuindo conosco com game music e efeitos sonoros!]
    .
  5. Map Designer: Seria ótimo ter alguém para desenhar os mapas.

Para quem tiver curiosidade, dá uma olhadinha no vídeo que apresenta a engine funcionando, com o jogo “As Crônicas Do Aventureiro”.

O Projeto Parallax já incentivou outros a pensarem em fazer engines para Android e Symbian, uma outra vertente que gostaria de ver nossa engine se expandindo no futuro. Espero que gostem do trabalho e acreditem: foram 2 anos e “uns quebrados” de muito estudo e pretendo levar a frente, de verdade.

Peço que divulguem este artigo o máximo que puderem para seus amigos nas redes sociais e onde mais acharem relevante. Estarei contando o progresso da engine aqui no Cosmic Effect para vocês ( ^^ ) um abraço a todos e obrigado!

* * *