Ok i forgot to reply, but I got a couple of things I wanted to add onto what I was saying.
The low level NPCs seem fine to me. Their kits are simple and so are yours. They use them pretty sporadically and so does a supposed new player. What needs improvement is the current mid level NPCs (the lvl40 bandits you can find in camps and MC soldiers) and high levels like hero and villain minibosses.
I think that better AI should be tied with giving the NPCs the ability to wield multiple weapons and reworking how they get equipment.
To make different NPC fighs unique their kit needs to get a bit more varied than “blast and jump” for wizards or “one weapon” for bandits. Also they shouldn’t just get random gear, but instead get semi random gear based on their fighting type.
Basically I’m thinking an NPCs getting randomly spawned should look something like this:
- Let’s say it’s a ~lvl45 wizard, a low tier enemy who has minimal attack variation
- A fighting type for the wizard is chosen, the possibilities could be let’s say rusher, runner and some tankier type and our wizard gets rusher
- Since he’s a rusher, he needs to have some gear complementing his playstyle. Being a low tier enemy, he only gets 1-2 items from some “rusher” table of items which contains items giving power, casting and magic speed and maybe enchanted or maybe not for this low level. His other items are truly random.
As for some bandit NPC of a similar level something like this:
- If he’s from a bandit organisation, he gets their signature weapon
- Pick his playstyle, let’s say it’s some “cowardly” playstyle
- Based on his playstyle he gets some gear, rest is random, and maybe a main weapon which complements it (a bow in this example which he would use at a distance) and maybe a dagger to use at short range (if he’s from an organisation just make sure he doesn’t get 2 boes or sum, specifics don’t matter rn)
Now the current AI stays, it just gets different priorities based on the playstyle.
The rusher wizard wouldn’t bother dodging much, but will rather close distance and try hitting you.
The cowardly bandit will try maintaing distance and shooting you, but will run away if you get closer or resort to using a dagger only if you go up to his face and he rolls a 25/100 or some other number.
Each NPCs playstyle would have it’s strengths, the rusher being fairly aggresive making you dodge more often and the coward poking you from a distance while trying to maintain it, and weaknesses, the rusher being an easy target because he refuses to dodge and the coward being rendered not threatening when you rush in and he tries to run away. This makes you play dynamically, adapting to the situation to exploit the weaknesses of your specific opponent and being rewarded for it, but also makes you stay on guard when the opponent’s try to use their strengths.
A system similar to this one will reward you when you manage to kill an enemy 1.5x your level because you recognised his strategy and used it to your advantage with that feeling of achievement, yet it can still humble you by sending a pair of well synergised NPCs that require more than pattern recognition to defeat, making you quickly check priorities while battling a tank which tries to dodge and then attack you and a rusher that is trying to place his hands on your neck at all times. At least I think it will do something like that.
Basically I’ve written a huge block of text for what I wanted to say: I agree that a TGR style change to the current system could make it actually really good. What already exists needs refining and reworking.