O trabalho de formatura aqui exposto tem como objetivo o desenvolvimento de dois "produtos", a saber:
A linguagem de programação utilizada será Ruby, uma linguagem de propósito geral, fortemente orientada a objetos e que atende bem ao propósito do trabalho. Para esta linguagem está disponível a biblioteca Gosu, que auxilia nas funcionalidades básicas para criação de jogos (gráficos, som, dispositivos de entrada, etc.), e que será usada como base para o framework.
A principal motivação para a escolha deste tema para o trabalho de formatura foi o interesse do aluno por desenvolvimento de jogos eletrônicos. Porém, um jogo comum tem pouco a oferecer para a sociedade, embora já seja um projeto que permita a aplicação de diversos conhecimentos adquiridos ao longo do curso de Ciência da Computação.
Ao se pensar e discutir com diversas pessoas sobre como um jogo poderia ter contribuição social, o tema da educação auxiliada por jogos foi recorrente. De fato, este é também um tema muito interessante e que está relacionado a uma das principais bases da sociedade, a Educação.
A partir daí, foram realizadas várias pesquisas para analisar a viabilidade do projeto. Todos os resultados de pesquisas foram fatores encorajadores do desenvolvimento do tema. Entre outras informações levantadas, pode-se destacar:
Assim, um dos propósitos deste trabalho é disponibilizar para a comunidade um jogo educativo de qualidade, em português do Brasil, e com código completamente aberto. Além disso, também será disponibilizado o framework, constituindo uma contribuição menor, mas ainda válida para a comunidade de desenvolvedores.
O trabalho de formatura contemplará dois principais componentes, como citado anteriormente, mas também há uma terceira meta, opcional, que será desenvolvida se o cronograma puder ser acompanhado com precisão. Segue, então, um detalhamento das três metas.
O framework deverá oferecer facilidades na programação de jogos em Ruby, mas não há planos para que ofereça suporte completo para desenvolvimento de todos os tipos de jogos, ou para desenvolvimento em outras linguagens.
Em poucas palavras, o framework deverá encurtar o trabalho do programador em tarefas relacionadas aos seguintes aspectos de um jogo:
Toda a parte gráfica, assim como os algoritmos de movimento e colisão, serão restritos a duas dimensões.
A parte de gerenciamento de recursos imporá a organização dos arquivos do jogo numa certa estrutura de diretórios. Porém, essa estrutura terá um certo nível de flexibilidade e estará bem descrita como parte da documentação da biblioteca.
Atualmente, boa parte destas funcionalidades já está desenvolvida, faltando alguns ajustes finos e a criação da documentação.
A ideia é criar um jogo de aventura, isto é, o jogador terá interação constante com o personagem, controlando seus movimentos por um cenário. A movimentação em si não deverá constituir obstáculo para o usuário, uma vez que os desafios do jogo deverão ser as partes em que algum tipo de conhecimento é cobrado. Porém, o cenário e personagem interativos constituem um fator atrativo e estimulante para o jogador. Também no sentido de envolver mais o jogador, aumentando seu interesse, o jogo terá uma trama, um enredo que conta a história dos personagens e o propósito da "aventura".
A jogabilidade deve ser simples, de modo que as ações do personagem serão limitadas às seguintes:
A aventura será dividida em "cenas" ou "capítulos", e em geral cada capítulo abordará uma área do conhecimento com maior predominância. Ao iniciar o jogo, o jogador poderá escolher qual ou quais cenas ele quer jogar.
O jogo também deverá salvar o progresso do estudante, de modo que ele possa continuar de onde parou após fechar o programa. Além disso, também será armazenado um histórico das pontuações do usuário ao longo de diversas jogadas, permitindo a visualização de estatísticas sobre o progresso no aprendizado do estudante.
Atualmente, o jogo se encontra em suas fases iniciais de desenvolvimento, tendo sido criadas as primeiras artes. Também foi estabelecido o título provisório de "Aventura do Saber".
A arte do jogo será simples, mas o objetivo é que seja agradável ao público infantil.
Se o tempo permitir, será desenvolvido um site para divulgação, disponibilização de downloads e de espaço para envio de dúvidas, sugestões ou críticas sobre o jogo.
A ideia é ter algum retorno sobre a repercussão do jogo, que tipo de usuários estão baixando e em que localidades. No formulário de dúvidas/sugestões/críticas, o usuário deverá preencher campos como nome, idade, se é um educador ou estudante, dar uma avaliação para o jogo e poderá preencher outras observações.
Segue abaixo um cronograma resumido. Um maior detalhamento das tarefas só será possível com o avanço do desenvolvimento.