Sunday, May 15, 2011

Busyness

I've been busy lately, went down to Parramatta on Saturday for my dad's wedding, which involved going down on Friday and coming back Saturday arvo. Got a heap of assignments to mark as a tutor, 18 down, 24 to go. I am also doing an OpenGL assignment where we use shaders. So I'm squeezing in project into the gaps between real life, uni work and sleep :D Right now I'm just getting everything finalised and organised for our meetings over the next few days.

Wednesday, May 11, 2011

Artistic stuff


Frankly didn't think it would turn out this well. I'm happy. It says "Sensei" (in Kanji) and the signature is just made up (it resembles "CSCI321")

Guess it could be cool for some kind of logo or find some use in the user manual

More on tech manual

Alright so the tech manual now has a glossary (I got tired of wanting to explain things throughout the manual, so eureka!--the glossary was born.) as well as the initial writing version of the documentation for the currently known AI/COM data structures and types. Phew. It feels good getting it all down in technical terms because it affirms my knowledge in it and confirms that I know what I'm doing to some degree.

Now my focus is on updating the project plan so we have a clear path to follow next week.

Technical Manual / Project Plan

Right so it's week 10 now and we're pushing to keep on track (the timeline that we've set to push us to do enough work to theoretically have spare time towards the end (the "spare time" that will quickly be eaten up by unforeseen delays)) so we're working day and night squeezing in Project where possible. I've been pushing on the with AI / COM stuff, mucking around with some onionskin code (yes I just made that term up to mean a very thin outer layer of code with no substance to be used as a guide) and I'm going to fill out my sections of the tech manual sometime tonight as well. I added our formal project requirements (was a separate document) into the tech manual under Project Information. It's a good addition to the manual.

I'm also updating the Project Plan to designate specific tasks for the upcoming weeks and that'll be up shortly.

Coding <3

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 \scriptstyle t, the agent performs an action \scriptstyle y_t and the environment generates an observation \scriptstyle x_t and an instantaneous cost \scriptstyle c_t, 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

Monday, May 9, 2011

Updates.

It's been a while since my last update (almost 6 days) so here is a summary of the work I've been doing on the project.

Wednesday: Project organisation. After the meeting with the group and then the meeting with Luke, I organised everyone's work flows and made sure everyone knew what they were meant to be doing. I also updated the Project Plan document in accordance with slight modifications. 1 hour here.
Thursday: No project work. I was actually busy with other uni stuff and hobby stuff to do with my game release.
Friday: Luke had gone through our documentation and sent us some great feedback. On that I responded to Luke about what we plan to do from then based on those suggestions and then delegated extra sub-tasks to everyone. Also updated our website to make some necessary changes including some appearance changes. 2 hours here.
Saturday: Received the screen-related documentation from Adam. Busy with hobby work.
Sunday: Updated our project's internally hosted page to redirect to our externally hosted website. Also worked more on stub code (about 4 or 5 hours.)

I have been a bit slack on this front lately but I'm getting back into gear now.

Tuesday, May 3, 2011

Bone animation engine demonstration

Recently I completed all the implementation necessary to do a bone animation demonstration. You can watch the video on YouTube: http://www.youtube.com/watch?v=aVMTybQ9_Zg