itsrachelfish wrote:has anyone considered moving kore's AI to a more modular plugins system? Imagine if kore's base functionality was to handle networking and basic functions for interacting with the game, leaving AI, attack skills, item usage, etc. to plugins?
Yeah, all of that can be moved to plugins, but now things aren't modular for that to be possible. CoreLogic.pm with friends should disappear, moving AI to Tasks and stuff. Hooks should be greatly improved, too. All ideas from experimental branches (magic words like Environment, Smart Hooks) may apply.
There is a plan to have "built-in" plugins (for different features, just as you described) which would live somewhere inside src/ (to make sure they're always updated and compatible) and be loaded by default (for compatibility and quick start). That's easy to do, and internally they would be exactly the same as usual plugins. They can be developed like usual plugins right now as well.
It was made, so it can make bigger differences and became our v3.
Even if we had all the resources to pull that, I think we still better apply all requirements to v2 while it makes sense to do so (we need to keep all existing features anyway). If we need to greatly redesign and rewrite some subsystem, we can just think of what would be needed in v3 - and make it right there in v2.