Friday, November 18, 2011

Work Continues On The New AI System, Among Other Things

Well, I'd hoped to have the new AI system ready for a release today or even yesterday, but things don't always go to plan.

At first I was just going to make it so that enemies could do multiple types of magic attacks. Then I decided to wrap in some of their general logic so that they could do things like chase you some of the time and then kite you and then just wander around, etc. Then I decided to wrap in a really much broader behavior structure, where enemies can flexibly switch between whole movement styles if need be.

It's not done yet, but it would allow some enemies to walk some of the time and fly others, or do things like run really fast and jump really high while having a weak attack, and move slower while having a stronger attack, etc. And to even have the various abilities be level-gated so that you'd see them with different frequencies or even not at all depending on their level.

The general idea being that this is a really flexible AI framework that can be used to manage some moderately more complex stuff in the short term, and that can then be extended without the need for any more rewrites as more and more complex enemies get added. A lot of that complexity won't actually manifest in the current enemies because they are meant to be pretty simple, but a number of them are getting more abilities that they only show under certain circumstances such as higher levels.

Regular espers start outright pathfinding after you a bit once you get to a pretty high level, for instance, and the bosses have an even better chance of doing that. Icicle leapers of a certain level, rather than always chasing you, will now sometimes do that and sometimes not, which actually makes them more dangerous because then they're harder to predict and better at navigating the terrain under some circumstances.

Whew. It's really a whole re-imagining of the entire AI system based on what I've learned with working with the mechanics of this game and its enemies so far. We started simple with the AI here specifically so that we could see what would feel good and play well, but now that we want to do real overlords (not just stat-buffed minibosses), that's requiring a much more flexible and advanced AI system. It's becoming a lot more AI-War-like in its decision making per enemy, now.

Two new enemies, the Skelebot Centurion and the Skelebot Overlord, have also been integrated into the game, and the skelebot overlord is now the largest enemy in the game. Standing next to a skelebot giant, the giant only comes up the overlord's elbow. Right now the centurion and the overlord skelebots don't actually act much differently from their lesser counterparts, but they'll be the first two enemies to very visibly benefit from the new AI system once I get that finished up. Hopefully Monday -- I'm down to 73 conflicts to fix in visual studio, so that's really getting down there from the hundreds it started out as!

Keith has also been having some absolutely amazing strides with the multiplayer, too. He and Josh have had a number of successful playtest sessions now, and there are only a few blocking issues that he's now working out. I don't want to jinx it, but it looks pretty likely that we could have this ready for some first public alpha multiplayer testing next week (though the Thanksgiving holiday might get in the way and push it to the week after). Anyway, it's getting down there.

There's a number of other cool things in the works, too, for soon after the AI update. A "mission scripting" system has really been on my mind a lot lately, and the design for that has been taking shape well. There's also a lot of things that I want to do to improve the flow of the game, providing more structure for players who want it while still allowing as much freedom as you have now for those who want that.

There are several other streamlining-type ideas that Keith and I have been talking about for a while that we're going to implement in the next month or so. There will still be more enemies and spells and such coming along with this, and yes I've got plans to address the eagles although that's going to take a bit more time to fully resolve as there's several levels of things I want to look at with them.

Lots of good stuff coming up! Just figured I'd give one last update before the weekend here.