Skip to content

aed3/poke-sim

PokeSim

Language Standard License Development Stage

Creating a Pokemon battling and analyzing C++ library designed for speed.

Background

For the past two years, I've worked on AI that plays competitive Pokemon and used Pokemon Showdown to run its Pokemon-related calculations. This worked fine, but once support for double battles was added, where waiting minutes for just one turn's worth of calculations was the norm, it was clear a new approach was needed. After some promising speed tests where a direct port of Showdown's code from TypeScript to C++ yielded a 48x speed increase, I decided to try creating not only a speed-focused Pokemon simulator of my own, but also an open-source project as a go-to library for anyone looking to do Pokemon coding projects where performance matters.

To learn more about the goals for this project and planned features, see DESIGN_SPEC.md.

Contributing

The project is currently in the planning stage and is welcoming all ideas. Planning involves deciding the best algorithms to handle most used functions of the program (listed here), determining how much of Pokemon Showdown design can be reused in this new system, and figuring out the design of the parts we will not reuse.

See CONTRIBUTING.md for more details.

License

See LICENSE

About

Creating a Pokemon battling and analyzing C++ library designed for speed.

Resources

License

Code of conduct

Stars

Watchers

Forks

Languages