AI

Blitz3D Forums/Blitz3D Programming/AI

Murphy(Posted 2003) [#1]
what's the best start to creat an ai-system?!
maybe waypoints?
or what else?

hope some of you have a clue where to start, and how a system should look like?


Bot Builder(Posted 2003) [#2]
Finite state machines seem popular. Each AI friendly or enemy can be in several different states representing beahviour. like STATE_FLEE, STATE_ATTACK, STATE_KAMAKAZEE, etc. etc. These states each have a set of if statements that define the behaviour. these if statements can also switch the AI to different states. An FSM combined with waypoints should work very nicely.


morduun(Posted 2003) [#3]
If you're interested in a tutorial and demo on finite state machines, go here.


MadJack(Posted 2003) [#4]
There's also the concept of levels of AI to consider - e.g. an overall 'commander' who deploys units across the battlefield, then perhaps local 'generals' - but each unit also has its own AI specific to local conditions.


MadJack(Posted 2003) [#5]
one more suggestion

I use a sort of 'cascading' waypoint system which goes from least to highest important, which I've found useful

patrol waypoint - preset patrol route - least important

deploy waypoint - unit is sent to enemy's last known pos'

attack waypoint - when an enemy is in range and the unit makes its own mind up about where to go.

retreat waypoint - when a unit has decided to retreat regardless of its orders

avoid waypoint - when a unit needs to steer around another unit or get out of another unit's way.

When a goalpoint is reached or no longer needed, it's cleared and the unit then takes the next least important
so if a unit has not been deployed and is not engaging the enemy and is not in retreat or avoiding another unit, it'll follow the patrol waypoint path.


Murphy(Posted 2003) [#6]
very interesting.
thanks for the points.
will have a look with one works best for me :)


Mustang(Posted 2003) [#7]
I got myself "AI Game Programming Wisdom" book which is pretty good although bit technical at times... there's now "AI Game Programming Wisdom 2" too available:

http://www.aiwisdom.com/


(tu) sinu(Posted 2003) [#8]
i like the weights system, which can be used in state machine style.

the more angry goes up the the lower calm goes
angery = 0
calm = 100
same with happy and sad
happy = 50
sad = 50
same with these too.
scared = 0
bravery = 100

just very basic example but if you do a search on the net you find these kind of ai styles.


MadJack(Posted 2003) [#9]
One last suggestion - plan out as much as possible before beginning coding - define what essential features the AI must be able to handle and try to code a system that's essentially modular. Bad AI can wreck a game and it's easy to get into a mess of conflicting rules/statements that don't work reliably.