Horário político nerd
16/09/2006 - 14:24 PM - 14 pessoas não foram à escola.
*Experimentando alguns personagens e idéias de tirinhas que tenho durante as aulas da faculdade…

*Experimentando alguns personagens e idéias de tirinhas que tenho durante as aulas da faculdade…
Quando pensamos em aprender algo, a primeira coisa que vem à cabeça é ler sobre o assunto, estudar as teorias que o cercam e logo após, aplicar o conhecimento adquirido.
Porém, ocorre um certo problema quando passamos muito tempo estudando as teorias, e é nesse ponto onde os cursos superiores de informática erram, e feio. Não me refiro a todos, mas àqueles onde a teoria predomina e a prática é esquecida. Esse é o caso do meu curso - Ciências da Computação.
Em muitos cursos de computação, há muito falatório e poucas ou quase nenhuma linha de código escrita. Para quem pretende trabalhar o resto da vida com informática, não há sentido algum em ficar horas ouvindo um professor falando de fórmulas matemáticas complexas ou calculando em quantos segundos um carro percorre 10 metros, se isso não é feito na frente de um computador. Teoria é importante sim, mas em excesso chega a desestimular. Garanto que a prática, conduzindo à teoria, é um processo muito mais construtivo e divertido. Concluí isso após minha primeira grande aventura como “game developer” :D.
O ano era 2005. Por volta do mês de Setembro, fiquei sabendo de um concurso de jogos para web que iria ocorrer em Recife, organizado pelo grupo de usuários de Flash de Pernambuco (FUGPE). Não hesitei em participar, afinal, há tempos tinha vontade de criar um jogo de verdade, e melhor ainda, poder concorrer com pessoas do país inteiro. Chamei meu colega de curso, Rafael Beserra, que partilhava dos mesmos interesses que eu, e assim separamos as atividades. Eu ficaria com o design do jogo e a programação visual, e ele seria responsável pela inteligência artificial, além, é claro, da programação.
Havia três categorias nas quais os jogos podiam ser submetidos: Estratégia/RPG, Esportes/Aventura/Ação ou Tabuleiro/Puzzles. Eu resgatei uma velha idéia de fazer um jogo de estratégia medieval com algumas pitadas de RPG, e assim nasceu Anacroz Tactics!

Clique na imagem para jogar!
O primeiro passo foi escrever o documento de especificação do jogo, comumente chamado “game design“, como requeriam as regras do concurso. A partir daí comecei sozinho escrevendo as primeiras linhas de código e rabiscando os primeiros sprites e cenários, até que Rafael pudesse se desligar das obrigações acadêmicas por um certo tempo e se juntar oficialmente à equipe.
Eu já havia posto a faculdade em segundo lugar. Estudava somente um dia antes das provas, e cheguei até a suspender uma disciplina para ter mais tempo para fazer o jogo. A maior loucura foi ter saído de uma bolsa de manutenção de computadores num laboratório, só para poder ficar livre (crianças, não façam isso) :D.
Durante um mês inteiro, ia dormir às 3h e acordava às 11h. Faltei aula várias vezes, e não dei a mínima importância (ainda assim, passei em todas as matérias). Desenhei vários e vários sprites, cenários, interfaces e escrevi várias linhas de código. Rafael criou toda a inteligência artificial e me ajudou em muitos pontos na programação. Descobrimos que o algoritmo de pathfinding A* (A-Estrela) não tem um bom desempenho num jogo onde há vários personagens avaliando o melhor caminho a ser percorrido. Rafael acabou por desenvolver uma solução mais simples e inteligente. Descobri que imagens PNG eram melhores para representar os sprites, ao invés de utilizar os próprios desenhos vetoriais do Flash. Seria um maior uso da memória, porém menos processamento. Descobrimos várias outras coisas que deixariam esse post ainda maior, mas com certeza são coisas que dificilmente aprenderíamos ao longo do curso de Ciências da Computação.
Durante esse processo, conversávamos apenas por MSN, e nos reunimos apenas uma vez. Isso já prova que Engenharia de Software não é essencial. Não escrevemos nenhum documento de requisitos, muito menos diagramas UML. Nós simplesmente começamos a programar, e fizemos o jogo em um mês. Confesso que há muitas falhas no jogo, mas são devidas ao pouco tempo que tínhamos para concluí-lo. Finalmente, o último dia do prazo de entrega chegou e enviamos o jogo. Algum tempo depois ocorreria o encontro do grupo (FUGPE), onde seriam anunciados os vencedores. Me mandei para Recife, sem conhecer a cidade, com medo de ser assaltado
e sem conhecer ninguém além de Daniel Gregório, um amigo com quem conversava pelo MSN há tempos, e que me ajudou bastante por lá (Valeu cara!).
Ficamos na primeira colocação na categoria Estratégia/RPG, e como prêmio, recebemos uma licença original do Flash 8 e um livro de ActionScript 2 da O’Reilly. Venhamos e convenhamos, esses prêmios nunca valerão mais do que a experiência adquirida e as amizades feitas. Rafael enviou o jogo para somente um desses sites de jogos em Flash, e atualmente, é possível ver o jogo em vários outros sites. Ainda recebo e-mails de gringos pedindo para traduzirmos o jogo para inglês, ou oferecendo uma grana para fazermos outros jogos. Preferimos não atender a esses pedidos e deixar tudo para a continuação do jogo, Anacroz 2.
Logo após a conclusão do jogo, cada um seguiu seu caminho. Fomos recuperar as notas perdidas na faculdade (sic), e arrumar um trabalho (gastei minhas últimas economias na viagem), e até hoje ainda conversamos sobre o quão bom foi criar nosso primeiro jogo. Ainda esperamos a oportunidade de um tempo extra para começar a continuação do projeto, e nos livrar um pouco do marasmo educativo do nosso querido ensino superior brasileiro.