Embedded Agents
I don't play MMORPG either. Isn't it difficult to find time when you're a developer? Anyway, there are two cases where learning a terrain is essential -- aside just providing realistic human-like terrain exploration:
1) Huge static terrains, where pre-computing everything would take too much memory. You'd need forgetting for the bot to be able to cope with new areas, so learning goes hand in hand with it.
2) Parametrically generated terrains, they can be potentially infinite, and unpreviously seen -- allowing no processing. This applies if your bot is client side too.
Anyway, the navigation designed fits into my research approach to game agent AI, namely situatedness. The agent is embedded into its body (the animat), and cannot cheat by pre-processing or accessing unknown information. This is a bit of a hassle, and a lot of work to optimise, but possible and most definitely rewarding!
Though I would have agreed with your other points a couple month's ago, the quality of the maps that are currently been generated are amazing for terrain reasoning: they more than match the brute force waypoint placing thanks to the simplicity of the representation, and since they are iteratively corrected, they tend towards the perfect representation for the bot -- the best compromise between simple and useful.
Since your mesh is dense, you have to deal with information in a statistical fashion. With a simple representation, that can be done with vector arithmetic and graph operations. I'm polishing up the lower-level before I move on, but this is one of the things I'm intensely looking forward to (notably using a knowledge-based GA for topography based squad tactics).
There are a few problems with the discovery still, like finding all the places in Q2 'base1', as you said on flipCode. This can be done with really random discovery behaviours, or brute force wall following, but I don't like the way it's done at all. But once these problems have been overcome, the system's potential may be unleached ;)
|