Friday, April 26, 2013

Demo Days

Demo Day finally arrived! I did a powerpoint on my project and my results were right in line with what I was hoping for. Player that "looked farther ahead" were more intelligent and made better decisions than Players that only looked one ply ahead.

For Intelligence Level 1 v. Intelligence Level 1, the characters fought on par, keeping close scores the whole time and having a relatively long fight length:

For Intelligence Level 3 v. Intelligence Level 1 the Level 3 beat Level 1 by a considerable amount and in a relatively short time:

Sunday, April 21, 2013

Collisions, Triggers, Reversing Animations

Right now I'm working on reversing the sword animation when a potential collision between two swords is triggered. It is a lot more complicated than I anticipated! I had been using Unity's mecanim animation system because of the motion graph it provides, but it seems that it may not be very well suited for reversing the animations at an instant's notice...

Thursday, April 18, 2013

Sword Actions

I decided to use simple sword motions instead of whole character motions. I am more interested in the algorithm and how it applies to swordplay than I am the actual animations, so I created a few quick animations of just the sword in Maya for moving Forward, moving Backward, strike Left, strike Mid, strike Right, defend Left, defend Mid and defend Right.

Thursday, April 11, 2013

Project poster

I created a poster for the poster session describing what my project is all about. Game trees are pretty cool!





Sunday, April 7, 2013

Checkers = solved

I've finally got my checkers game working correctly with game tree logic. In the end I used a 2d array and checked the validity of the moves depending on their start and end spaces. There was also a bit of hard-coding. I feel like I could have probably done it in a more systematic way but I couldn't figure it out and I figured since this was not the problem I'm actually trying to solve it's fine if I just lay down the rules manually.

The evaluation function I ended up using takes into account how many pieces of each color there are on the board, how far each non-king is away from the edge and how many kings there are. The function that gives a number value to a board evaluates the boards "statically" so that it can decide how good or bad of a board it is based only on it's current state.