frserras / usp-war-bot

Um "jogo" que simula uma guerra não determinística entre as unidades da Cidade Universitária da USP em função de dados demográficos. Utilizado como base para a página USP War Bot, no Facebook.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Este código foi produzido para a página USP WAR Bot, uma página de War Bot no facebook para a a Cidade Universitária da USP. 

Dois scripts compõe o código: usp_war_bot.py e verifier.py

O arquivo usp_war_bot.py implementa um mecanismo simples de um War Bot baseado em dados demográficos relativos. Para tal, ele precisa partir de um arquivo serializado do tipo pickle, que contenha os dados populacionais e de vizinhança das unidades originais. Ele também precisa de um arquivo rodada.txt que contenha o número da próxima rodada a ser rrealizada, começando em 1. Para as rodadas seguintes à rodada 1, é necessário que o programa tenha acesso, no mesmo diretório, aos arquivos de dominância (.dom) e unidades(.units) da rodada imetiatamente anterior, assim como ao arquivo original, que é necessário em todas as rodadas. 

Cada chamada do script (sem argumentos) equivale a uma rodada. Parâmetros como seed do gerador aleatório e probabilidade de reataque devem ser definidas diretamente no código fonte. As variáveis correspondentes estão sinalizadas.

O programa funcionará para qualquer mapa, contanto que seja fornecido um arquivo inicial de unidades que mapeia as unidades existentes, suas populações e relações de vizinhança de maneira correta. Cada unidade contém também pontos especiais de ataque e defesa. No jogo original esses pontos foram utilizados para atribuir poder de ataque e defesa a regiões sem população ou com dados demograficos desconhecidos, como a Raia, e em escala menor, para equilibrar o jogo e torná-lo factível em função das simulações realizadas. Tais pontos foram definidos antes da primeira rodada e nunca mais alterados.

O arquivo verifier.py simplesmente extrai as informações das unidades e a árvore de dominância para uma rodada específica, a ser especificada diretamente no código, e imprime essas informações para que o usuário possa realizar verificação da corretude da simulação, se necessário.

O programa está disponibilizado sob Licença GNU GENERAL PUBLIC LICENSE (Version 3, 29 June 2007). Mais detalhes podem ser encontrados no arquivo LICENSE.txt

Para fins de verificação, no diretório compactado arquivos_jogo_original.zip estão disponibilizados todos os arquivos das unidades e árvores de dominância para todas as rodadas do jogo original, narrado na Página do facebook. Para que as rodadas sejam resimuladas é necessário extrair esses arquivos para o mesmo diretório dos scripts. Mais detalhes sobre as seeds pode ser encontrado no usp_war_bot.py.

É necessário esclarecer que na narração de algumas rodadas foi invertido o atacante, para fins narrativos. O território conquistado e o conquistador foram sempre preservados. As últimas 3 rodadas foram narradas como uma rodada única. Nenhuma modificação foi realizada no código ou resultados em função da narrativa. 

Esse projeto é apenas um projeto de ficção e entretenimento, assim como um exercício de programação realizado por alunos. Ele não possui nenhuma conexão oficial com a USP ou qualquer uma de suas unidades.

About

Um "jogo" que simula uma guerra não determinística entre as unidades da Cidade Universitária da USP em função de dados demográficos. Utilizado como base para a página USP War Bot, no Facebook.

License:GNU General Public License v3.0


Languages

Language:Python 100.0%