
Some Thoughts...
#1
Guest_mikeo_*
Posted 29 December 2002 - 03:08 PM
Part 1:
The heuristics function (that controls the movement of soldiers) should include the following parameters (there could be more..):
1) Terrain
2) morale & bravery
3) weather (night, day, rain?)
4) weapon(s)
Since the engine is a rule based engine, one can partition these parameters into sets based on their characteristics, such as, for weapons, a possible partition could be:
Weight_a = {small, medium, large}
Firepower_b = {light, medium, Heavy}
Accuracy_c = {poor, average, good}
Spread_d = {small, medium, large}
Instead of creating rules for each of the sets, one can categorize weapons in the game to reduce the number of rules in the Fuzzy Knowledge Base (FKB).
Part 2:
There will be a set of possible strategies that can be used by a soldier or a team of soldiers to confront the human player. What I can think of right now are: passive ambushes , back attack, and frontal assault. With the rule consequences from part 1, the engine can derive the strategies that should be used depending on the firing rate of each individual rules. However, certain information will have to be provided to the engine to devide the attack:
1) Terrain (Time units (TU) required and cover offered by the terrain)
2) **line of sight for both sides (this assumes complete knowledge of the battlefield)
3) coverage area of soldiers so that they can support each other in case of emergency.
note: ** is optional
One can imagine that the battlefield is now being represented as surfaces colored by shades computed based on the aforementioned factors. At this stage, a simple path finding algorithm can be used to find a route to carry out the attack or defensive strategy. Lastly, genetic algorithm (GA) can be encoded to insinuate some variations in the strategy as well. For instance, GA can be used to create noise in the surfaces (since human soldiers can not always evaluate these parameters so accurately in real life) such that the computer can sometimes make mistakes in evaluation the environment.
Part 3: The adaptive part
To make the game more interesting, I guess the adaptive capability of the engine is very important. This part should be done after each battle, so that the FKB can be evaluated and modified. Genetic algorithms should be a good approach to alter the FKB and evaluate its performance based on the previous battle as a training/test set.
#2
Guest_mikeo_*
Posted 29 December 2002 - 03:16 PM
The FKB can still be large. I can use a layered architecture to reduce the rules needed in each of the steps, i.e. the engine can switch to a different set of rules in the FKB depending on where it's at.
Lastly, please let me know if you have any ideas, comments or questions. Thanks

#3
Posted 29 December 2002 - 06:41 PM
However, keep in mind that many of the alien missions are either defensive in nature (aliens just trying to keep a perimeter while they repair their ship after being shot down), or possibly reactive (killing civilians or being shot down while being caught surprise by XCOM). In these situations, only the supersmart or coordinated aliens can formulate an effective counter strategy in time.
This gives the engine a unique chance to actually differentiate the alien leaders, commanders, and such by influencing their AI. Shot down or isolated alien grunts will tend to operate in confused, individualistic and erratic fashions, while other aliens, able to communicate and receive orders from the squad leaders/commanders inside the ship, sometimes communicating by the alien telepathy powers, will be able to launch a more coordinated assault.
I'm not certain that this is within your means, or if it's even related at this point, but I just thought it was a kinda cool vision.
Great to have you aboard

ShadowHawk
Master of everything
#4
Guest_mikeo_*
Posted 29 December 2002 - 07:08 PM
As for the nature of the missions, they can all being represented by different rule sets, namely, the alien soldiers are more concerned with the goals of their missions than to eliminate xcom agents in abduction missions and etc.. However, sometimes the objectives of the mission can change when certain parameters in the heuristics favor the elimination of xcom agents first. My guess is, one can use a single rule to determine such behavior by checking the ratio of alien -vs- human firepower at the start of a battle, this is just an example since anyone might be able to think of a better comparision ratio than this..

My previous posting outlines the high level design of the AI engine, however, I cannot say it's final until various specs. of the game is known, let alone the rule sets. Probably there should be an AI gui that allows people to edit the rule sets, introduce new variables to be considered by the engine, alter the strategies used by the computer, and adjust the adaptive capability of the engine.
#5
Posted 29 December 2002 - 10:11 PM
And...please register. Here, you can use this image as your avatar:

http://home.attbi.co...fartyavatar.jpg
#6
Posted 30 December 2002 - 04:46 AM
Part 1:
The heuristics function (that controls the movement of soldiers) should include the following parameters (there could be more..):
1) Terrain
2) morale & bravery
3) weather (night, day, rain?)
4) weapon(s)
You will have all that information for use... but keep in mind that you will have free movement instead of block movement like in the original.
Instead of creating rules for each of the sets, one can categorize weapons in the game to reduce the number of rules in the Fuzzy Knowledge Base (FKB).
Your idea is use Fuzzy Logic??? Using values between 0 and 1 is enough???
Better if we can get a solution without AI cheating... But it is far faster to implement with complete knowledge...Part 2:
2) **line of sight for both sides (this assumes complete knowledge of the battlefield)
Greetings
Red Knight
Visit my blog at: flois.blogspot.com

Pookie cover me, I am going in.
#7
Guest_mikeo_*
Posted 30 December 2002 - 12:30 PM
Yeah, the values between 0 to 1 will be enough

(according to my previous message) we can use 3 sets to describe a weapon, namely, accuracy, firepower and spread. So as an example, a rifle can be categorized as: normal accuracy, low firepower and very small splash damage.
The membership set normal accuracy can be defined as a triangular set such that:
U_a(x) = (x - L1)/ (L2 - L1) for 5%

#8
Posted 30 December 2002 - 12:44 PM
Hi mikeo, take a look in the source code that its on CVS, you can do it online with the CVS Browser if you dont have time to setup CVS yet...Hi Redknight.
Yeah, the values between 0 to 1 will be enoughBesides, most of the time we won't be using continuous values in the rule sets... Guess I didn't describe things too clearly so let me give you an example:
(according to my previous message) we can use 3 sets to describe a weapon, namely, accuracy, firepower and spread. So as an example, a rifle can be categorized as: normal accuracy, low firepower and very small splash damage.
The membership set normal accuracy can be defined as a triangular set such that:
U_a(x) = (x - L1)/ (L2 - L1) for 5%
in http://cvs.sourcefor....viewcvs-markup
So take a look in the IAmmunitionClip and IWeapon class if you need something else.... For instance you should need the accuracy modifier of the weapon, etc... so tell me and will add it, or add them on your own...
Greetings
Red Knight
Visit my blog at: flois.blogspot.com

Pookie cover me, I am going in.
#9
Guest_mikeo_*
Posted 31 December 2002 - 01:56 PM

Happy New Year!
#10
Posted 02 January 2003 - 08:14 AM
Thanks RedKnight, I'll do that
Happy New Year!


