Na ultima semana recebi por email a notificação do Cosmic Effect, onde sou inscrito, divulgando um post do desenvolvedor Michel Montenegro, descrevendo sobre o seu projeto de uma engine 2D escrita em Java, denominada Projeto Parallax.
Ao ler o post e assistir ao vídeo de apresentação da engine logo percebi que se trata de um dos projetos mais legais, inovadores e internacionais feitos por um brasileiro nos ultimos anos. Usei justamente o termo internacional pelo fato de eu já ter trabalhado em projetos internacionais, como o simulador de vôo Open Source FlightGear, adquirindo uma certa experiência que me possibilitou perceber o cuidado do autor em fazer um trabalho expansível e aberto, do mesmo nível de outros projetos internacionais.
Não posso deixar de citar que uma das maiores empolgações que tive de imediato ao assistir o vídeo, foi perceber que a engine trabalha nos moldes de muitos dos RPG‘s conhecidos pelos usuários e entusiastas da comunidade MSX, como Gouvellius, XAK, Fray, Shalom (Knightmare 3) e com pitadas de SD-Snatcher.
De imediato tratei de entrar em contato com o autor do Projeto Parallax que me respondeu prontamente e atenciosamente de tal forma que trocamos endereços de email, GTalk e por fim nos falamos por mais de uma hora através do Skype. Foi um bate papo descontraído e bastante proveitoso até porque conversamos sobre diversos assuntos relacionados a engine do Parallax, onde também citei o desenvolvimento do jogo pela comunidade MSX Brasil, divulgado meses atrás, nesse link aqui, sendo que o game da comunidade é no estilo Click-and-Point, próximo a RPG, porém em menor escala de complexidade.
Após muita conversa técnica, onde o autor me mostrou a estrutura da engine incluindo partes do código fonte em Java, percebi diversas coisas, algumas das quais compartilho abaixo:
- O autor tem profundo conhecimento pois estudou a fundo o processo de desenolvimento de jogos, particularmente os RPG’s;
- O projeto é altamente estruturado, não devendo nada aos projetos internacionais;
- O código fonte (escrito em Java) é de excelente qualidade, muito claro e com excelente orientação a objetos e principalmente implementando com clareza os conceitos propostos pela engine;
- O autor é muito, mas muito gente fina :);
Pedi então que o Michel fizesse um post explicando os detalhes do projeto Parallax e em pouco tempo ele me enviou um texto por email que reproduzo, na íntegra, abaixo.
Divirtam-se 🙂
Projeto Parallax – Uma engine de jogos 2D escrita em Java
por Michel Montenegro
Tudo bom pessoal, vim falar a vocês sobre o projeto Parallax, o projeto é um motor de criação de jogos 2D, ele funciona basicamente como um RPGMaker, para a criação de jogos ao estilo Dofus, Tibia e outros. Um dos focos do projeto é que o criador não programe uma única linha de código Java, somente altere valores em um “database” parecido com o do RPGMaker e edite suas imagens para o seu gosto e necessidade. Outro foco importante para o projeto é que ele vai dar suporte a jogos On-Line (MMOG). Imagine criar um jogo já com a possibilidade de ter um servidor em uma maquina e acessá-lo?.
Sou um fã de jogos em 2D e 3D, porém os jogos em 2D possuem uma mágica que atualmente vem sendo reconquistada no ambiente On-Line, 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.
Uma engine em Java para RPGs em 2D
Não existem engines em Java para jogos 2D, para 3D existe o JMonkeyEngine, existem muitas bibliotecas para o apoio no desenvolvimento 2D, mas nada que ultrapasse esta barreira, não existe no Brasil um projeto similar e que esteja funcional e com este grau de amadurecimento.
Fazer jogos em Java é completamente viável por vários motivos, e algumas dessas razões me motivaram a escolher Java como linguagem, vou citar as vantagens desta engine:
- Projeto open source – O usuário 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.
- Off-line e on-line – Oferecer suporte online, possibilitando criar um 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.
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, por quê?
- Existe JVM para Windows, Linux Mac, Symbian, Android, ambiente web (Applet) e outros que possuam uma JVM (aumentando a possibilidade de expansão ou adaptação do projeto, até para outra vertente, no que se refere à plataforma).
- Existem bibliotecas que agilizam muito o desenvolvimento em Java (Apesar do Graphic User Interface ser seu ponto fraco no quesito, ser trabalhoso e até complexo em relação a outras linguagens ou ferramentas mais especificas como o Flex, o resultado e controle que a linguagem dá por trás compensa estes detalhes).
- Uma rica quantidade de documentação a respeito da linguagem e de suas bibliotecas, dando suporte para um aprendizado mais veloz, além de poder usar qualquer outro conceito da área de desenvolvimento de jogos, sem o menor problema.
- Não ter que pegar nenhum tipo de licença, todas as tecnologias usadas são 100% gratuitas e de código aberto (Possibilitando mudanças personalizadas), dando total autonomia para o criador.

O Projeto Parallax já incentivou outros a pensar 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 dois anos e “uns quebrados” de muito estudo e pretendo levar a frente.
Peço que divulguem este artigo o máximo que puderem para seus amigos nas redes sociais e onde mais acharem relevante, quanto mais divulgação, maior a chance de ter colaboradores que ajudem o projeto a crescer mais rápido, lembrem-se “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. Sempre que possível vamos estar atualizando aqui o estado atual da engine ( ^^ ) um abraço a todos e obrigado!
Referência na internet
Site oficial do projeto Parallax
http://www.einformacao.com.br/parallax/
CosmicEffect – Video games ontem e hoje
http://cosmiceffect.com.br/
Project Parallax (CosmicEffect)
http://cosmiceffect.com.br/2012/02/16/projeto-parallax-engine-em-java-para-jogos-2d/
FlightGear – Open source Flight simulator
http://www.flightgear.org/
Java Home
http://www.java.com/en/
MSX, games e produções indepemntes (PopolonY2k Rulezz)
http://www.popolony2k.com.br/?p=967
MSX Brasil (Orkut)
http://www.orkut.com.br/Main#Community?cmm=98375914
RPG (Wikipedia)
http://en.wikipedia.org/wiki/Role-playing_video_game
Click-and-point adventure games (Wikipedia)
http://en.wikipedia.org/wiki/Adventure_game
Gouvellius (Wikipedia)
http://en.wikipedia.org/wiki/Golvellius
Xak (Wikipedia)
http://en.wikipedia.org/wiki/Xak
Fray (Wikipedia)
http://en.wikipedia.org/wiki/Fray_in_Magical_Adventure
SD-Snatcher (Wikipedia)
http://en.wikipedia.org/wiki/SD_Snatcher
Knightmare 3 – Shalom
http://knightmaresaga.msxblue.com/shalom/index.htm