domingo, 28 de junho de 2009

TORCS: O Simulador de Corrida Aberto

Estou fazendo um curso de pós-graduação na Unioeste sobre Desenvolvimento de Software e Novas Tecnologias. Até agora está um pouco chato, pois tá chovendo bastante no molhado, mas também já aprendi algumas coisas legais. Além disso, temos que desenvolver um artigo para o final do curso, sendo assim eu consegui juntar o útil com o agradável, ou seja trabalhar com desenvolvimento de jogos.

A versão final do artigo só deverá ser entregue em setembro de 2010, porém já tivemos que fazer um esboço do trabalho final. O título do trabalho que tenho até agora é: "Inteligência Artificial Aplicada a Evolução de Carros de Corrida sem Treinamento". Ainda não estou satisfeito com este título, pois acho que não sintetiza de forma clara o que quero fazer, mas como era só um esboço inicial ficou assim mesmo.

Neste projeto eu irei utilizar o jogo torcs, http://torcs.sf.net, e meu objetivo é utilizar técnicas de inteligência artificial para conseguir evolução de tempos de volta e que isto seja feito em tempo real, ou seja, durante a corrida. A idéia é fazer com que o "robô" seja sensível as mundanças da pista e tenha a sensibilidade para melhorar sua tocada, sendo assim ser capaz de chegar aos limites do carro.

O pessoal que desenvolve o torcs criou um tutorial muito legal sobre criação de "robôs": http://www.berniw.org/, através dele é possível desenvolver uma IA bastante completa, que permite um carro frear, acelerar (claro :-), passar marcha, voltar para a pista depois de uma rodada, realizar ultrapassagens e parar nos boxes.

Com todas estas características vou deixar um pouco de lado minhas brincadeiras com a CrystalSpace3D e vou me dedicar a terminar de implementar o que está descrito no tutorial, pois além de oferecer a implementação, existem muitas explicações e referências a documentações mais completas sobre os conceitos abordados. Uma ótima pedida a quem quer brincar com IA em jogos de corrida.

Com isso espero começar a contribuir também com o jogo, aproveitando o que já está implementado para oferecer um jogo completo de F1. Na verdade, não falta muito para se ter isso, o que já está implementado é bem legal para ser oferecido como um jogo, basta oferecer mais conteúdo relacionado a F1, tais como equipes e pistas. É claro que para fazer comparações com jogos comerciais ainda é necessário evoluir bastante, mas com toda a sinceridade, é o jogo de corrida mais legal que vi até agora para o mundo do software livre.