What behaviours would you expect from the smart enemies? Do they really need to be smart, or can you simulate smartness by giving them advantages over other monsters and the player? What differences in behaviour do expect from the dumb enemies?
There's an opposition between individual-based AI routines that scale with the number of agents, and group/map-based AI routines that scale with the map size and number of different behaviours that must be supported.
Individual-focussed AI code may hinder your ability to add lots of dumb enemies, and group/map-focussed code may hinder the flexibility of the smart enemies. A dual approach may be twice as much work.
In my (ideal) view, I want a system to allow for a hierarchy of needs.
- Dumb creatures only care about survival (flee to save their lives, chase to get food and prevail).
- Smarter creatures care about survival, but also actively try to increase their chances in it. Fleeing thieves lock doors behind them. Monsters pick up and adjust equipment after/at every encounter, use potions etc.
- Smartest creatures plan more. They don't just rely on whatever equipment lies around, they plan to go exploring around the level (or more levels) to find better stuff. They might go to the city to restock/sell. They might attempt to form parties if they want to tackle a difficult dungeon.
(Obviously I'm not gonna think how to do party-formation now, just the dumb AI, I just want something sensibly designed that will keep whole-AI-system-rewrites to the minimum)
When you say about scaling, do they scale well or badly? I have no idea of how different they can be, and I've never done group AI. I bet I'll be using that though, as all dumb and many smarter/smartest creatures would probably exhibit groupthink in some form or another. The smarter the creature, the more the individual code I expect it to have, alongside higher-level group code.
By the way, does anybody use D*-lite around here?