Eu sou bolsista de iniciação cientifíca no TECPAR (Instituto de Tecnologia do Paraná), lá eu estou desenvolvendo pesquisa cientifíca na área de inteligência artificial para jogos. A bolsa tem duração de 1 ano e ontem completou um mês que eu estou lá, está sendo muito proveitosa a experiência, a quantidade de conhecimento que está sendo repassada é imensa, sem contar que eu estou cercado de doutores e mestres.
Uma das primeiras atividades foi pesquisar as games engines existentes e analisar os seus prós e contras no desenvolvimento de jogos, eu analisei uma série de tecnologias em diferentes linguagens e plataformas. Essa semana eu desenvolvi uma pesquisa sobre a game engine Flixel (www.flixel.org) voltada para o Flash.
Sobre a Flixel
É uma biblioteca Actionscript (Flash) livre, destinada para uma grande variedade de jogos em Flash. Inclui ganchos para gravidade e profundidade. Já possui métodos prontos para trabalhar com:
- Rápida renderização (+5000 sprites em computadores modernos);
- Tilemaps;
- Sistema de partículas;
- Controle de volume, com teclas de atalho;
- Parallax scrolling (multi-direcional);
- Colisão de sprites;
- Renderização de textos;
- Renderização retro com opções de 2x pixels, 3x pixels, etc;
- Não precisa da IDE do Flash, trabalha melhor com ferramentas livres como FlashDevelop;
- Organização das classes por estados do jogo;
- Botões simples;
- Utilitários para loop de música e tocar som;
- Efeitos especiais simples.
Game: Green ninja don’t like the blue ninja
Para testar os recursos do Flixel eu desenvolvi um jogo de plataforma chamado “Green ninja don’t like the blue ninja”. É um jogo plataforma, onde você é o ninja azul e o seu objetivo é escapar dos ninjas verdes que querem matar você, para isso você tem estrelas que pode atirar nos ninjas verdes eliminando eles, por consequência você obtém uma pontuação por cada ninja verde morto. Os direcionais movimentam o ninja azul, a tecla X pula e a tecla C atira estrela.
Foi muito interessante desenvolver esse game no decorrer dessa semana, muitos conceitos no desenvolvimento de jogos que eram bem obscuros para mim, depois da construção desse game as coisas foram esclarecidas, e eu percebi que construir um game não é uma tarefa tão complexa como eu pensava, a análise mais difícil é você raciocionar para criar ilusão na programação, acredito que essa seja uma das tarefas mais complicadas.
Para dar o ponta pé inicial no desenvolvimento eu fui seguindo esse tutorial da comunidade do Flixel: http://flixel.org/forums/index.php?topic=226.0 e depois fui adicionando minhas customizações, melhorias no comportamento do inimigo, mais estados para o jogo, efeitos especiais e sons.
Se você seguir os mesmos passos vai ver que não é nenhum bicho de 7 cabeças.
Flixel é uma game engine bastante nova, surgiu no meio desse ano, mas eu recomendo ela fortemente, tudo que eu vi, usei e programei até agora fui muito satisfatório.
Se você quiser jogar o game visite: http://lab.patrickespake.com/flixel-ninja.
O código fonte está disponível no github: http://github.com/patrickespake/Flixel-Ninja sinta-se livre para modificar, reutilizar e distribuir.