Sunday, July 19, 2009

Unity is awesome

So I've been working with Unity today, and I must say its been the game dev engine that I've been looking for, it has everything I want, its not programming based, although you can use high level programming languages like C#, and its just great.

I made two projects today the first one is a basic first person shooter with a little bit of physics applied to it. And the second one is a third person platformer tutorial. I have to say however that the assets are not mine, I just set everything up.

Boxes
3rd person platformer

Download both of them and enjoy!

Saturday, July 18, 2009

This week in Artificial Intelligence

This week has been so long...
But very rewarding

Currently Im taking artificial intelligence and to be Frank, it was kicking my butt. It was only until Wednesday that everything started to click, and when it did I was so excited because here I am learning all of these complex algorithms that are pretty much essential in most games.

Reversi
Earlier this week I came up with the AI for the popular board game Reversi. I used the Minimax algorithm which predicts the best move for the human player and reacts based on that information. The result was a pretty difficult reversi bot.


After that I learned path planning. Path planning helps a computer figure out what path to take. This is common in most games where enemies need to know where the player is, or finding the optimal path between two points. There are a couple of ways to do this, to demonstrate the different algorithms I wrote the logic for a visual path planning program.



Breadth First Search

This technique searches the whole map until it finds the goal





Greedy Search

Searches towards the goal. It takes the distance between the current position and the goal into account and it moves foward based on that information





Uniform Search

In the path planning program the darker grey tiles signify a higher cost to cross the path. In a video game situation the dark grey would either signify a hill or some type of hazard. The uniform search is similar to breadth first however it finds the cheapest path according to the cost.





A star

A star is uniform search + greedy search, which makes it the best, although the search takes longer than greedy search it always returns the best path, greedy search doesn't.



It was really cool seeing these things come together visually. Also programming them, although slightly painful, gave me a solid understanding of path planning. In addition I had an amazing realization because in a previous game that I made, NOSI: the spirit unleashed, I came up with an algorithm similar to A star for the enemies.

I know what you're thinking, wow thats a lot for one week, well there is more.

Steering
Steering is a complex behavior for a bot (which is an object that is controlled by the AI class) or bots which help in determining intelligent movement in a world space. This movement may be determined by other bots or by its proximity to other objects in the world. In this demonstration I made a few algorithms that demonstrate 3 different flocking techniques.



And thats whats going on for now....

Also I'm working with 2 new programs. 1 is called Blender which can be used to make 3D objects, and the other is this amazing program called unity 3D. Expect a 3D game in the near future. I cant wait!!! I start training tomorrow.

Wednesday, July 15, 2009

Evolutor is evolving

Evolutor is going from a 2D platformer to a 3D game. Meaning its back to the drawing board. Details coming soon!!!

Tuesday, July 14, 2009

MIA

I know, I know, I've been missing in action, but I'll be updating every Friday. Im currently taking artificial intelligence, its kicking my butt!!! But Im ready to fight back.
-Ken Vermeille