Game Development Community

dev|Pro Game Development Curriculum

Plan for Phil Carlisle

by Phil Carlisle · 01/04/2003 (5:40 am) · 2 comments

Well, its almost time to go back to work (monday).

Ive started writing a generic inference engine and rule/state machine system for the AI. Ive already got pathfinding stuff sorted out (need to integrate it in game, and optimise it some).

Still waiting for a response on the FEAR api stuff, that should come in the new year too.

The rulebase will be very simple, based on info in AI Wisdom 1 about an inference engine.

Typically, you'll define GOAL's, which contain Rules, which have a Conditional (if) part, and an Action (then blah) part.

typical syntax would be:

GOAL Wander
MoveAround()
IF (SeesEnemy()) THEN GOTO Attack
IF (NearFood()) THEN GOSUB EatNearestFood
END GOAL

This sets up a GOAL (almost like a state in a state machine) that shows that the creature is to wander around. If his sensors indicate there is either food or an enemy close by, it switches into a different goal, note the GOSUB and GOTO, the GOTO indicates a complete context switch into attacking, whereas the GOSUB indicates that in addition to the Wander action, the EatNearestFood action is applied. This is very useful, so you can have heirarchical behaviors (the basic move around, or a move around while eating occasionally for instance).

Once Ive got the basic code done, I'll make a little app that shows an ascii grid with some X's and O's to denote little creatures, make a little example with say, 2 or 3 creature types. Hopefully that should give a clear enough example.

Then I'll integrate it with torque and do a new example (probably a rat, a cat, and a dog).

This is just one part of the AI plan, there are other more AI worthy things coming (mostly the FEAR pathing, which is way more complex, neural nets and genetic algorithms based stuff later).

Lets hope this next year rings some changes, more of the great feelings of last year, more hard work, more rewards and hopefully meeting more people!

Phil.

#1
01/04/2003 (6:54 am)
Phil-
so there *will* be a Torque port of FEAR? Who is working on it?
I've never seen a clear statement on the FEAR website (Alex said in some older forum post he is NOT going to support Torque, now in the new FAQ he says there is an "upcoming Torque port" ...?
Any insights?
#2
01/05/2003 (1:43 pm)
Stefan: there is a Torque based FEAR interface already done. I'm trying to aquire a copy of it to base my own FEAR implementation off (if it needs anythign new).

Alex wont do the Torque stuff himself, perhaps thats what he meant.

Phil.