1)
Q: Why do we need smarter mobs at all?
A: To make the fights more challenging; in most games (and especially so in Arctic), challenge = fun.
"No more challenges" == "Game completed, move on".
2)
Q: Why not use alternative ways to make the fights more challenging?
A: The alternative way is to use brute force, make Cyan once again += 3000 hp and immune everything.
The downside is that extremely strong and extremely stupid mobs often have some trivial yet fatal weakness. Once the players discover it, the mob becomes easy.
If no such weakness exist, the only way to fight brute force is with even more brute force, which usually means a lot of grinding (run the same well-known zones again and again to gather 100 heal potions etc.)
3)
Q: Is it at all possible to implement smart AI?
A: Of course, yes. Many if not most of the players have lots of triggers and actions in their clients and issue fighting commands semi-automatically or even completely automatically (bots).
I have already suggested an idea to make a tournament of bots (the participants must submit their code for everyone to see). That code is exactly the AI we're looking for.
Unfortunately, that code may be written in a billion of different programming languages and would require porting to Arctic, which is a significant amount of implementation work.
4)
Q: Are there easy ways to implement smarter AI? Preferably in small increments, so that each part of the AI could be implemented and tested independently?
A: Yes. Each trigger or action usually implements some logic (a business rule). The examples could include:
- Bash the opponent only when they're standing (not sitting)
- Do not dispell the opponent when they're held
- If the opponent is a healer and is at low hp (or has a healer in group and the main tank is at low hp), disable (silence/hold/bash, even blind would work) the healer rather than concentrate on maximum pure damage
etc. etc.
A lot of such rules could be implemented independently.
5)
Q: Once we have some rules implemented, what are the easy ways to fine-tune the AI?
A: Some such rules are already implemented and work in the game. Without giving away too much info, I will just say that one of such rules work on mobs with int/wis > a certain threshold and dramatically changes their behaviour. I would even guess that most players consider it a feature of the mob, rather than an AI rule.
Further on, wis is currently an underused stat for the mobs, since there are alternative ways to set spell slots and skill levels. Thus I guess wis could be used as an AI parameter:
- Every AI rule gets a wis value
- Every mob uses only AI rules of their wis level or below
From the roleplaying (i.e. the background story) point of view, a frog may be very stupid and yet (instinctively) very wise, while a powerful renegade mage may be extremely intelligent (high int) and yet completely clueless (low wis). They made the wrong decision of not joining conclave, after all!
Thus, the low level zones may still have weak and primitive mobs, while the high level ones may be wiser, or buffer, or both. And all that is easily adjusted by using just one parameter of the mob. On top of that, whenever a new AI rule is implemented, all sufficiently wise mobs start using it immediately - there is no need to manually update any ob the mobs individually.
6)
Q: More fine-tuning?
A: Why not!
I see 2 very different stances of the AI, let's call them 'assassin' and 'survivalist':
Assassin tries to kill as many players as possible, not matter if they die too in the process;
Survivalist does just that and tries to survive for as long as possible, even if they occasionally miss the opportunity to deliver the timely fatal blow to the opponent.
For maximum challenge, the 'boss' mobs (any mob that loads something nice and shiny, or a key to the chest with treasure) should be survivalists, while the passable mobs should have assassin priorities.
Example:
I'm a healer, both me and my opponent are at awful.
Survivalist: heal myself (I'm Amity, I got infinite heals anyway) and let the opponent also be healed/flee/recall.
Assassin: harm the opponent to death, no matter if their groupmates kill me the next round.
Now, every AI rule may get a rating -100 to 100 on the assassin-survavalist scale (0 is a neutral rule, equally good for any mob). Every mob also gets a rating on that scale as a parameter and when choosing what to do, tries to chose the rules with the rating similar to their own.
Certainly, such fine-tuning would require a lot of implementation work (and will likely never be implemented). I provided it just as an example.