Okay, so for the sake of your sanity, it would be better to remain oblivious to this post's timestamp. Okay, thanks anyway.
For the last few hours I have been coding, thinking and stubbifying. I've been focusing on my area, the AI/COM fighter controllers, but they have required a bit of a base in other areas like the Fighter class itself so I've put some basic stuff in there too.
I've written large block comments for both the AI and COM fighter controllers to elaborate on specific requirements for the class. I find it is easier to garner real requirements while coding. So while I'm not actually implementing anything, I'm getting a good idea of how it's going to work anyway.
So, for AIData, which is a code library for information types common to AI and COM controllers, I've created the following structures: ShortTermMemory, Inferences and WorldState to add onto the existing data types and structures: ActionType, GoalType and Goal. Each serve a different purpose in the think/decide/do process on the AI/COM side of things.
I also created a GeneralData code library to hold useful constants and enumerated types such as Character (to distinguish between the playable characters) and a static function, CharacterName which gives the full name of a given Character.
In the AI's brain class, I had a good think about the implementation details of the neural network proposed. With the help of Dr. Wiki, I put down some comments about the technical nature of the decision making process:
At each point in time , the agent performs an action and the environment generates an observation and an instantaneous cost , according to some (usually unknown) dynamics. The aim is to discover a policy for selecting actions that minimizes some measure of a long-term cost; i.e., the expected cumulative cost.)
That's all fine and dandy, let's hope it isn't too much in the way of implementation. I also realised that the AI is going to need 4 different types of "memory banks"-- two long-term and two short-term. The two non-volatile memory banks are loaded from disk and the two volatile are created and updated on the fly.
That's all for now, signing off from your dear AlphaLogic leader --
Jordan
No comments:
Post a Comment