Closed aturfah closed 5 years ago
This is an agent-based simulation for competitive Pokémon battles. Each agent in the simulation is a player, with a team. These agents are matched either randomly or by their Elo ranking, based on the pool of players available. The framework used can be used to implement any turn-based two-player game. In addition to Pokémon, Rock Paper Scissors is also implemented with appropriate agents.
scripts/unit_tests.ps1 <testing_subdirectory>
tests/
directorytesting_subdirectory
is provided, only runs that directory's tests. Otherwise runs all testsscripts/style_tests.ps1 <module>
module
is provided, runs the tests for that module. Otherwise runs the test for all modulespython visualize_results.py -m <visualization_method>
visualization_method
is elo, graph the Elo rankings over the course of the simulationvisualization_method
is matchups, plot the matchup matrix heatmapsscipts/clear_logs.ps1
logs
directorypython scripts/retrieve_data.py
Note: Should update to link to the module readme
agent - Contains classes for agents in the simulations battle_engine - Contains classes for the game logic in the simulations data - Contains the data for the Pokémon simulations docs - Contains License and Template files file_manager - Contains classes for creating and parsing logs generated by the simulations interface - Contains code for the flask interface to play against an agent ladder - Contains classes for the player matching scheme pokemon_helpers - Contains helpers for the Pokémon simulations sample_simulations - Contains pre-built simulation configs scripts - Contains miscellaneous scripts to handle files and run tests simulations - Contains classes for the individual simulations stats - Contains functions to calculate statistics from and plots of the logs tests - Contains unit test cases writeup - Contains assignment submissions
Order
pip install -r requirements.txt
.python scripts/retrieve_data.py
.python run_simulation.py -f
, and select the sample_simulations/sample_pokemon.yaml
file.python visualize_results.py -m elo
, and select the logs/PKMNPlayers_....csv
file to see the elo rankings over the course of the simulation.Addressed in #134
The top-level README should include info about the project, how to run the things, and an overview of the modules.
Order
Edit 11/20: New Ordering https://github.com/aturfah/cmplxsys530-final/issues/131#issuecomment-440325928