segunda-feira, 11 de abril de 2016

A* no RPG Maker 2000

Olá pessoal, aqui é o Lince. Bem vindos de volta.
Como vocês estão?

Acontece de eu gostar muito de Inteligência Artificial. É provavelmente a área ligada à computação que mais me desperta interesse. Sempre que tenho oportunidade estudo algo a respeito e as vezes até ponho a mão na massa.

Path Finding é a vertente de inteligência artificial que trabalha com algoritmos para encontrar o melhor caminho entre dois pontos de um grafo.

No projeto que quero mostrar a vocês hoje eu usei um algoritmo A* e o RPG Maker 2000 para mostrar na prática o que é Pathfinding. Nesse caso o grafo é um mapa quadriculado.

No RPG Maker o mapa é composto de quadrados chamados tiles. Cada tile tem um tileset associado, que dá informação sobre qual gráfico mostrar, se dá pra andar em cima ou não, e o terreno, que aqui usaremos para atribuir custo a cada nó do grafo que representará o mapa.

Em outras palavras, usaremos a mecânica embutida no RPG Maker para dizer que, por exemplo, andar na grama tem custo 1, enquanto que andar na areia tem custo 3. Isso influencia o resultado pois, para o A*, o melhor caminho leva em conta o menor custo.

Agora vejam os vídeos do produto em ação. Nos vídeos a seguir eu executo o programa e logo em seguida o jogo do RM2k; o jogo primeiramente manda informações sobre o mapa para o programa construir o grafo, depois eu posso movimentar uma chama de fogo com o mouse para indicar um destino cujo caminho, partindo da posição do herói, quero que seja calculado. Ao receber essa mensagem o programa calcula o caminho e o devolve para o jogo, que movimenta o herói de acordo.

E aqui com um mapa diferente, que usa uma mecânica de "ceiling tile", que são esses tiles pretos que às vezes dá pra passar e outras não, dependendo do que estiver em volta:

Se quiser testar você mesmo em seu computador, e inclusive criar seus próprios mapas, estou colocando o código fonte do programa e o projeto do RM2k para download nos links abaixo.

Link para download do projeto RM2k, o código fonte estará dentro da pasta “PathFinder” dentro da pasta do projeto. Para os que não são familiares ao RPG Maker, para editar o projeto será necessário o Software RPG Maker 2000 e o RTP 2000, para os quais não colocarei links aqui, mas que são facilmente encontrados na internet. Para apenas rodar o projeto (executar o jogo sem poder editar os mapas) só será necessário o RTP 2000 instalado.

Download do Projeto RM2k

Se só quiser dar uma olhada no código fonte:
Clique aqui (GitHub)
Ele usa implementação do A* feita por mim mesmo que pode ser encontrado aqui (GitHub).

Então é isso, espera que tenham gostado e despertado alguma curiosidade, deixa um comentário aí. E como sempre vocês podem me encontrar no tuiter @LinceAssassino ou no email emailDoLince(arroba)gmail(ponto)com para qualquer dúvida, sugestão, crítica ou simplesmente se quiser trocar uma ideia.
Abraços do Lince.





Nenhum comentário:

Postar um comentário