https://github.com/icemage144/adaptive-game
Experimental dungeon crawler that adapts its difficulty according to player's actions. Also, enemies were created using reinforcement learning and neural networks.
https://github.com/icemage144/adaptive-game
adaptive-difficulty artificial-neural-networks game-development godot-engine reinforcement-learning
Last synced: 3 months ago
JSON representation
Experimental dungeon crawler that adapts its difficulty according to player's actions. Also, enemies were created using reinforcement learning and neural networks.
- Host: GitHub
- URL: https://github.com/icemage144/adaptive-game
- Owner: IceMage144
- License: gpl-3.0
- Created: 2020-03-15T16:53:40.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-06-22T01:26:10.000Z (about 4 years ago)
- Last Synced: 2025-05-31T23:15:22.443Z (about 1 year ago)
- Topics: adaptive-difficulty, artificial-neural-networks, game-development, godot-engine, reinforcement-learning
- Language: GDScript
- Homepage:
- Size: 2.86 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## MAC0499 - Trabalho de conclusão de curso
### Rodando a primeira vez
Clone este repositório usando o comando
```
git clone https://github.com/IceMage144/MAC0499
```
Baixe a versão 3.0 do Godot, adicione este projeto à lista de projetos, abra o projeto (ignore qualquer aviso de erro do projeto), instale o plugin PythonScript através da aba AssetLib dentro do editor e reinicie o editor.
Depois de instalado, o plugin criará uma pasta pythonscript dentro da pasta do projeto, que contém pastas com interpretadores de Python para vários sistemas operacionais. Esses interpretadores têm o comando `pip` disponível porém não têm a biblioteca `libssl`, essencial para que o instalador do `pip` funcione. Copie os arquivos `libssl.a`, `libssl.so` e `libssl.so.1.0.0` da pasta `MAC0499/FirstInstall/libssl` para a pasta `MAC0499/pythonscript//lib` (isso só foi testado no Linux, se não funcionar para seu SO, ache os arquivos `libssl` em alguma instalação externa do Python 3.6 em seu computador e copie-os para a pasta correspondente dentro da pasta `MAC0499/pythonscript/`).
Dentro da pasta correspondente ao seu sistema operacional, crie um viretualenv do python para gerenciar melhor as bibliotecas Python, usando o comando
```
virtualenv MAC0499/pythonscript/
```
Ative o virtualenv usando o comando
```
source MAC0499/pythonscript//bin/activate
```
Verifique que o caminho do comando `pip` mudou para `/MAC0499/pythonscript//bin/python` usando o comando `which pip`. Instale as bibliotecas Python necessárias para do projeto usando o comando
```
pip install -r MAC0499/FirstInstall/requirements.txt
```
Desative o virtualenv usando o comando
```
deactivate
```
### Acelerando o processamento do jogo
O Godot conta o tempo dentro do jogo através do número de quadros mostrados na tela. Por padrão a cada 60 quadros mostrados na tela se passa 1 segundo dentro do jogo. Se algo no jogo demorar mais que 1/60 segundo em tempo real para ser processado, os relógios do jogo ficam "atrasados". O Godot fornece uma flag para mudar o número de quadros que o jogo considera 1 segundo, consequentemente aumentando a velocidade do jogo (mas o tempo real entre quadros continua 1/60 segundo).
Suponha que o comando `godot` rode o executável do Godot. Se você quiser rodar o jogo 2 vezes mais rápido, basta diminuir o número de quadros que representam um segundo para 30 rodando o comando abaixo dentro da pasta do jogo
```
godot --fixed-fps 30
```
### Rodando o jogo headless
Suponha denovo que o comando `godot` rode o executável do Godot. Para rodar o jogo headless basta executar o seguinte comando dentro da pasta do jogo
```
godot --disable-render-loop
```
### Compilando o jogo
Atualmente não há um jeito fácil de compilar jogos que usam o plugin PythonScript.