Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/leohspaixao/python-flappybird
Colocando uma Rede Neural para aprender a jogar o jogo Flappy Bird.
https://github.com/leohspaixao/python-flappybird
entradas jogo jogo-flappy-bird neat python
Last synced: 17 days ago
JSON representation
Colocando uma Rede Neural para aprender a jogar o jogo Flappy Bird.
- Host: GitHub
- URL: https://github.com/leohspaixao/python-flappybird
- Owner: LeohsPaixao
- Created: 2021-04-07T22:40:20.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2025-01-06T21:20:18.000Z (18 days ago)
- Last Synced: 2025-01-06T22:26:35.841Z (18 days ago)
- Topics: entradas, jogo, jogo-flappy-bird, neat, python
- Language: Python
- Homepage:
- Size: 46.9 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# NEAT aplicado no Jogo Flappy Bird utilizando Python
## Introdução
É utilizado a Rede Neural NEAT, Neural Evolution Augmenting Topology, e a Biblioteca Pygame do Python
para desenvolver esse Projeto. A rede neural utilizando o Python vai permitir com que o usuário defina os
inputs(Entradas) e Outputs(Saidas), ou seja, vai definir as informações de entrada(configurações) e de
acordo com essa entrada um resultado especifico. O trabalho das redes neurais é jogar o jogo com diferentes
entradas até que consiga aprender a saida "perfeita".## NEAT
A configuração do NEAT é feita em um arquivo TXT e linkada no código, para que seja possivel a IA identificar suas regras. É passado vários Input para NEAT, no caso 100:
![Input and Output1](https://user-images.githubusercontent.com/42840902/114314540-8f6c1680-9ad1-11eb-8577-5ebb5f180c1f.png)
É feito um conceito de **_gerações_**, onde dentre esses 100 Inputs irá gerar 1 output, ao aplicar os 100 Inputs no Jogo, irá analisar e verificar qual dos Inputs teve um melhor output, sendo assim, fazendo uma geração nova através deste input.
Para saber mais sobre a AI NEAT, Acesse [NEAT Python](https://neat-python.readthedocs.io/en/latest/).
## Execução
Para rodar o projeto é necessário a instalação de uma Biblioteca dentro de um Ambiente Virtual para não instalar pacotes a mais no seu Python Global do Computador, ou seja:
Para criar uma Ambiente Virtual:
```python
Python -m venv {nome_do_Ambiente_Virtual}
```Entrar na venv:
```python
Windows = {nome_do_Ambiente_Virtual}/Scripts/activateLinux = source {nome_do_Ambiente_Virtual}\bin\activate
```Bibliotecas:
```python
pip install pygame
``````python
pip install neat-python
```**Pronto!**
## Demonstração
![flappybridvideo1 2](https://user-images.githubusercontent.com/42840902/114314070-972abb80-9acf-11eb-943d-865d3340420e.gif)
Se quiser jogar o jogo, é possivel fazer essa alteração no código, na Variavel **ai_jogando**, deve colocar valor **False** para que o jogo se torne manual.
## Ferramentas
- Python(Pygame)
- NEAT(Neural Evolution Augmenting Topology)