No project description provided
Project description
GoBattleSim-Python
Tools to play around with GoBattleSim-Engine, including GameMaster parser & PokeQuery builder.
Prerequisites
64-bit Windows
64-bit Python 3.5+
Installing
pip install gobattlesim
I'll introduce each module by a step-by-step example of generating a kanto starter battle matrix from raw GAME MASTER.
Module: Game Master
The official Game Master GAME_MASTER.json can be found in online resources such as this repository.
Let's make the big and heavy Game Master more organized:
python -m gobattlesim.GameMaster game_master/GAME_MASTER.json -o examples/gbs_game_master.json
The result gbs_game_master.json can be used to configure GoBattleSim Engine.
Module: PokeQuery
We usually simulate many combinations of Pokemon and Move at a time (batch simulation). Specifying each one of them by hand could sometimes be very tedious. Module PokeQuery
is here to help. It generates such combinations based on special queries (let's called them PokeQuery
), which works much like the in-game search bar.
In our example, we can do:
python -m gobattlesim.PokeQuery "(charmander,bulbasaur,squirtle) & !(purified,shadow,fall,norm)" "*" "*" -c examples/gbs_game_master.json -o examples/kanto_starters.csv
-
The nasty term "
& !(purified,shadow,fall,norm)
" is used to filter out those special forms, leaving only the OG starters. -
"
*
" matches all moves in the Pokemon's movepool. -
"
-c examples/gbs_game_master.json
" uses our Game Master from the previous step. -
"
-o examples/kanto_starters.csv
" saves the generated Pokemon list to the file we desire. Other format options are available; run with "-h
" for details.
Module: Battle Matrix
Great, now we have species and moves information ready, but we are still missing the Pokemon stats (attack, defense, maxHP). Our next Module Matrix
can derive stats for each Pokemon based on the targe PvP league.
Let's do:
python -m gobattlesim.Matrix examples/kanto_starters.csv -c examples/gbs_game_master.json --league great --pokemon -o examples/kanto_starters_with_stats.csv
-
"
--league great
" tells the tool to derive the stats based on target CP 1500. -
"
--pokemon
" tells the tool to only export the pokemon pool and not run the matrix. It is a good habit to verify the input before simulation. In this instance we want to check whether the derived stats are correct.
To run the matrix simulations, just remove the "--pokemon
" flag (and change the output path):
python -m gobattlesim.Matrix examples/kanto_starters.csv -c examples/gbs_game_master.json --league great -o examples/matrix.csv
Note that we can also use kanto_starters_with_stats.csv from earlier step. This way the tool can grab the derived stats instead of doing the derivation again.
Module: Engine
This is the core module, the juice of the meat.
To test the Engine
module works with your machine:
python -m gobattlesim
If no error pops up, then you are good to go!
If othwerise the error says:
WindowsError: ... not a valid Win32 application
This could be that your Python is 32-bit. I only compiled a 64-bit libGoBattleSim.dll
.
You can either install a 64-bit Python, or build the library from source yourself.
Of course, it's 100% fine to use the other tools without the Engine
module.
Engine
takes different types of simulation input, including BattleMatrix
. Refer to GoBattleSim-Engine/examples for other types of simulation input supported.
Using above Matrix
module, we can alternatively save the actual simulation input and check it:
python -m gobattlesim.Matrix examples/kanto_starters.csv -c examples/gbs_game_master.json --league great -iz -o examples/matrix_input.json
-
The "
-i
" exports the simulation input instead of running the matrix. -
The "
-z
" keeps only the necessary fields for Pokemon.
We can then directly use Engine
to process the input:
python -m gobattlesim examples/matrix_input.json -c examples/gbs_game_master.json
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for gobattlesim-0.8.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f1f77b417705427ccc932fe39f18ec05d8c45bce0022a9f211279e8f50c1b10a |
|
MD5 | 352d6d0feb50fbf6e646544953cb04eb |
|
BLAKE2b-256 | 3a03e2616798a6ed67201a0cf8eef2679819634880103151a1532ea55975cabd |