Monday, October 17, 2011

Tons of AI/COM/DecisionSystem work

All this afternoon I've been working on AI/COM/DecisionSystem stuff (except for a few bugfixes here and there, some small changes I required to do certain things, improving a little bit here and there, and debugging) -- I improved the degree to which the DecisionSystem responded to the personality traits--and refined blocking and countering tactics to ensure I had full control over when and where it was happening (counter attacks were happing by chance before, more than they should have.)

AI now has "rage" training which is an informal term for the ability to learn and morph its states based on its experience as a fighter. At learning speed l = 0.1, which is quite fast, after 3-5 minutes the trainee has the mindset of a champion-- it's ready to lunge at the opponent and attempt counter attacks where appropriate. The personality traits that make up this mindset are static for different COM difficulties. So, a beginner level COM will jump around and wander aimlessly sometimes, unsure or perhaps a little afraid to approach the opponent. A normal-level COM will get into it but give an average performance.

Training now saves and loads AI brain modules in their full capacity and in that regard is functionally complete. I can now train real AI save files through the game.

Another big hurdle I got through tonight was combos. I implemented, for both COM and AI, a combo limiting function which applies a threshold on the variety of moves in the moveset they will use, and how often. In this regard, an AI or COM with very high competence in combo moves will almost always use combination moves (like a human that has memorised the combinations AXY, ABB, AAX, etc.) Conversely, those with low competence will never use combination moves, and thus cannot practically learn them until they are more adept. This brings a slightly cool side-effect that you can't teach the best moves to a newbie trainee since they will not understand it.

No comments:

Post a Comment