Xml-Powered AI & Stories

This weekend I've started working on our AI system, which is powered by XML to make it easy for our game designer to edit it as needed. I'm not yet sure if this system will be used for the full range of enemeis or only for only simple ones.

With what I've come out with so far, I'm essentially creating a state machine. The AI is controlled by a series of AI rules per state, which themselves are composed of actions, triggers (what activates the action to occur), and optional conditions for value-based comparisons. For example, an enemy could use their weapon as soon as it's recharged, or they could first use a weapon-based buff then use the weapon.

My main concern so far is handling a series of conditions. I can't think of a good example, but maybe for some reason the enemy should fire their left weapon only if they're not firing their right weapon. I could probably take advantage of bit flags using enums, but I don't want to work on that quite yet. Will be first checking to see how our game designer feels about this new system and what type of features he'd like.Overall, I'm feeling this is a step in the right direction.

Working hard to get a bunch done before tonight's team meeting. I was hoping I'd have enough time to add in a new weapon type, but that may have to wait until next week. On the bright side, I made some nifty new additions to the visuals in combat: blinky icons and red effects on the side of the screen to let the player know something is majorly wrong - aka getting closer to death :)

Aside from my AI work, Josh has been making some awesome progress with the Story Maker program. It won't be long now before our writer can once again start implementing his stories into the game (our writer used to be able to many game builds ago, but it has some major improvements now). I'm really excited about this as stories are going to represent a big chunk of the game, and we'll finally be able to start testing game flow better.

View of the program below. Essentially our writer and game designer will use this program to create stories, items, etc. It'll spit out some xml, and it'll be loaded into the game. The biggest benefit from this is that they won't rely on us to add new content to the game, thus speeding up the development greatly.

PrintView Printer Friendly Version

EmailEmail Article to Friend

Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>
« Abilities System Enhancements | Main | New tooltips »