showdown
showdown copied to clipboard
Separate out the engine into an installable library
There are a lack of battle simulators that are capable of performing search. Your agent is the only one I'm aware of that has a decent battle engine to perform search. I'm create my own agent that uses search but using poke-env
to communicate with Pokemon Showdown.
I think it would be beneficial to separate out your engine into a stand-alone, installable library. I've actually proved this out already on my fork, and am using it in my agent. Your showdown
application would then use this installable library.
I did as much "lift-and-shift" as I could, changing as little as possible and keeping tests passing but removing everything pertaining to running as a stand-alone application. To me it would also makes sense to have separate projects for the data
and team
modules so that they can be loosely coupled and versioned independently. I realize there would have to be bigger refactors than what I did. Would love to hear your thoughts.