showdown icon indicating copy to clipboard operation
showdown copied to clipboard

Separate out the engine into an installable library

Open SirSkaro opened this issue 1 year ago • 4 comments

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.

SirSkaro avatar Feb 17 '24 16:02 SirSkaro