poke-battle-sim
Pokemon Battle Simulator (poke-battle-sim) is an open source Python package that provides efficient, customizable simulation of Pokemon battles. Thanks for checking it out.
Overview
poke-battle-sim emulates the mechanics present in the original Generation IV Pokemon games (Diamond, Pearl, and Platinum) while also providing the ability to modify and expand upon traditional Pokemon battles.
Currently the package supports all content from Gen I to IV including:
- 493 Pokemon
- 467 Moves
- 122 Abilities
- 535 Items
Installation
poke-battle-sim can be installed through pip using:
pip install poke-battle-sim
The package is also available on PyPi and GitHub.
Getting Started
Setting up a battle is as simple as a few lines of code.
import poke_battle_sim as pb
pikachu = pb.Pokemon(...)
ash = pb.Trainer('Ash', [pikachu])
starmie = pb.Pokemon(...)
misty = pb.Trainer('Misty', [starmie])
battle = pb.Battle(ashe, misty)
battle.start()
battle.turn()
print(battle.get_all_text())
Check out the docs and example project for more details.
Features
poke-battle-sim includes all functionality present in both (Single) Link Battles and (Single) Trainer Battles in the original Gen IV games.
Although this package was developed with large-scale simulation in mind, it can be used with little modification as the backend for Pokemon or Pokemon-style games.
Double Battles or other battle formats introduced in later generations are not currently supported.
Limitations
Certain mechanics present in the original games were not possible or practical to implement due to hardware-specific and region-specific behavior.
Mechanics not implemented in poke-battle-sim include:
- Using Nintendo DS audio volume data in damage calculation
- Using terrain-based type and power modifications
- Any glitches in the original games that were patched in subsequent generations
Credit
This package was created and is managed by Vincent Johnson.
References used during development:
Supporting packages:
Black was used to reformat this repository.
Setuptools was used to build this package.
Release files for poke-battle-sim 0.1.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| poke-battle-sim-0.1.7.tar.gz | 71.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| poke_battle_sim-0.1.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 148.2 kB
Release files / poke-battle-sim-0.1.7.tar.gz
| Download URL | poke-battle-sim-0.1.7.tar.gz |
|---|---|
| Size | 71.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
116f28dd0493648fcbd80aeb0af958edc51861208c647961456aa1a4debe4d32
|
|
BLAKE2b-256 checksum How to use checksums |
9306a0bf4302ada0af2fe864bfd4e10d9bc4281a6155760925da17178492aa6c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.10.0
|
Release files / poke_battle_sim-0.1.7-py3-none-any.whl
| Download URL | poke_battle_sim-0.1.7-py3-none-any.whl |
|---|---|
| Size | 76.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
309b0b1d576bd308a41aaa55a51c176810d6b5237a6ca7d125166f0f7ff943dd
|
|
BLAKE2b-256 checksum How to use checksums |
3eaad6f54b1e4a0cad172b35df0e81c18d93f6a550282c2d51c0c2af82be135d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.10.0
|