Projeto de um agente inteligente para o jogo Dino do Chrome
Para a criação do agente inteligente, utilizamos as seguintes bibliotecas:
- NEAT-Python: Biblioteca Python que implementa um algoritmo evolucionario onde cria-se redes neurais artificiais (NeuroEvolution of Augmenting Topologies). Essa biblioteca é responsável por gerar as populações e gerações responsáveis por aprimorar o agente inteligente.
- PyGame: Responsável pela criação de jogos, escrevendo elementos em tela e realizando animações utilizando a linguagem python, com ele é possível recriar jogos como o do Dino Chrome.
├── dinochromeia # Diretório principal
│ ├── Assets # Diretório com as imagens dos obstáculos, dinossauros
│ ├── Characters # Diretório com as classes dos personagens
│ | ├── bird.py # Arquivo da classe Bird, tipo de personagem-obstáculo do jogo
│ | ├── cactus.py # Arquivo da classe Cactus, tipo de personagem-obstáculo do jogo
│ | ├── cloud.py # Arquivo da classe Cloud, compõe o cenário pre-histórico do jogo
│ | ├── dinosaur.py # Arquivo da classe Dinosaur, personagem principal do jogo
│ | ├── obstacle.py # Arquivo da classe Obstacle, demais obstáculos herdam desta.
│ ├── Utils # Diretório com a classe das constantes utlizadas
│ | ├── constants.py # Arquivo de constantes utilizadas no código
│ | ├── globalVariableAcross.py # Arquivo de variaveis globais usadas entre os módulos
│ ├── config.txt # Arquivo de configuração do NEAT-Python
│ ├── main.py # Script principal
│ ├── output_Dino.txt # Arquivo com logs/reports
│ ├── requirements.txt # Arquivos de bibliotecas utilizadas no projeto
│ ├── supportFunctionGame.py # Arquivo com funções de apoio
│ ├── supportFunctionNeat.py # Arquivo com funções de apoio relativas ao uso para o NEAT
Este projeto foi baseado nos tutoriais: Chrome Dinosaur in Python & Pygame e Python A.I Tutorial with NEAT