This is the story of Kerry Fox, the single player who I’m letting run around in my MMORPG Tycoon game right now, to make AI debugging simpler.
Things I’ve been doing and noticing:
- In v1.1, the “Grind out a level” AI state just made someone wander around the region at random. That worked, because in v1.1, monsters were randomly scattered throughout every map region. Now that we have explicit grinding zones in v2, I’ve modified this PC AI state to find the nearest grinding zone and wander around inside that zone, instead.
- The monsters in the grinding zones are too densely packed together. An adventurer wandering into a grinding zone right now typically gets ganged up on by between five and ten monsters all at once. The adventurer doesn’t stand a chance.
- Monsters will chase a PC much too far. Right now, they have a “chase range” of 80 meters; that is, they’ll chase a player 80 meters from their spawn location, before they stop chasing and return home. In my small starting area, this has led to some funny behaviour. For example, after killing Kerry Fox, they ran to the graveyard where she was respawning (about 70 meters away), and killed her again. She then ran to the Inn (also about 70 meters away), to try to socialise with some other players, and a few of them even chased her into the inn. In the screenshot here, you can see a monster that’s still chasing her after she’s left the inn, and is now heading back toward the grinding zone as she goes back to trying to grind out a level.
Now, you might be saying “why is she trying to just grind out a level? There’s a quest giver right there; she should just pick up a quest, rather than grinding, right?” Well, I’ve been modifying how PCs pick up quests, and right now, they can’t see new quest givers at all.
PCs now need to discover quest givers. When they’d like to do quests, they’ll automatically pick up quests from every quest giver they know about, but they won’t go to visit quest givers that they’ve never seen. If a PC wanders near a quest giver while doing other things, they should stop what they’re doing, go pick up a quest, and then go back to what they were doing before. It’s just that last bit that I haven’t finished implementing yet.
So my todo list for this stuff:
- Finish implementing “notice nearby quest givers and grab quests from them.”
- Need more space between monsters in a questing zone. Either questing zones should be bigger, or the number of monsters in each should be smaller. Or both. (In the final version, both of these things should be adjustable. But I think they’ll be pre-set in the M1 build)
- Monsters need a much smaller chase range. I’d estimate that the chase range in most MMORPGs is nearer to 30 meters (although often seems to vary, based upon whether the player has inflicted damage on the monster)
- Monsters should stop chasing a PC after killing the PC. To go and spawn camp the player is just rude.
- Monsters should never chase a PC into a building.
On the other hand, most real MMORPGs have real problems with that last point. They place combat-ready NPCs near buildings, in order to quickly defeat any monsters that should stray too close to those buildings. Maybe I should just do something like that, rather than try to increase the smarts of the monsters to get them to avoid buildings.