***********************************************************************
A.I.Fighter Video
***********************************************************************
by Skeel LEE Keng Siang
skeel@skeelogy.com
http://cg.skeelogy.com/


--------------------------------------
SYSTEM REQUIREMENTS
--------------------------------------

You need Windows Media Player to view the .mpg file.

If you cannot view the video for any reason, you can view an online version of the video at http://cg.skeelogy.com/projects-aifighter.php. An up-to-date version of the Flash Player is required.


--------------------------------------
DESCRIPTION
--------------------------------------

A.I. Fighter is a simple versus-fighting game which makes use of artificial intelligence. The computer fighter is able to make use of a neural network to sample the fighting style of the human player and evolve itself to learn good moves from the player and eliminate loopholes. The game is designed such that we can see the progress of the computer fighter as time passes. This is done by including game moves such as combo moves (a sequence of 4 specific moves), blocks, evades etc. 

The computer fighter starts with a blank state (i.e. doesn't move) and will sample the fighting style of the human character as the game is played. At the end of each round, all the sampled data is fed into the neural network for the computer fighter to evolve.


--------------------------------------
MOTIVATION
--------------------------------------

Two versions of the game A.I was implemented. The first was implemented with a Finite State Machine (FSM) which controls the actions taken by computer-controlled fighters using a determined set of rules and conditions. 

The main deficiency with the widely-used FSM A.I. model is the predictability in the game-play. The finite set of states implies that the replay value of the game is limited. After a while, the player will be able to spot the patterns in the A.I. fighters moves and counter them. Furthermore, the level of difficulty of the game is set at fixed intervals with the FSM A.I. model. Although players can usually set the difficulty level in games, this is usually an integral multiplier of the A.I. fighters attributes such as reaction time and probability of executing highly-damaging moves. In addition, the A.I. fighter has an unfair advantage over the player in being able to respond almost immediately to user input.

To develop games that have higher replay values and will adapt to the players level of skill, we decided to implement the second version of the game with a neural network. With good training, the A.I. will learn from the different human player's move and evolve accordingly. We believe that this is where the future of games lies.


--------------------------------------
CREDITS
--------------------------------------

A.I.Fighter was designed, conceptualized and created by

	Skeel LEE Keng Siang 
	(Game design, game code setup, modeling, rigging, texturing, animation)
	skeel@skeelogy.com
	http://cg.skeelogy.com/
	
	LIM Zhen Qin 
	(Neural Network setup and sampling)
	
	NEO Ming Feng
	(Finite State Machine design and implementation)
	neomingfeng@yahoo.com

and done using 

	OGRE (Object-oriented Graphics Rendering Engine), an open-source rendering engine.
	http://www.ogre3d.org/
