Game Development Community

AI Quadrant Locator System & Proximity Detector

by Areal Person · in Technical Issues · 08/11/2006 (8:33 am) · 2 replies

OK, I'm now working on this model, and I need all your advise and suggestions.
All this would be in the engine in C++ code and accessed via script command objects.

These systems work with problems like Movement, Pathfinding (Spatial & time)
Object detection and Obstacle avoiding things like Navagation Meshes
A * (Please See http://www.policyalmanac.org/games/aStarTutorial.htm)
BOT AI for disision making etc..

Maybe I should have said Square Grid System instead of Quadrant System.

Also, the following could be linked in with these BOT attributes...
BOT Personality weights (Aggression, defense, curiosity, motivation, intelligence)
Using a Neuro-Net

The Systems...
------------------------------------------------------------------------------------------------------
Quadrant Locator System:
Each quadrant is continually divided in 4 until min_quad_size is reached (6 levels)
This means there are 36 value sets to check. These value sets are broken down into
general location quadrant categories, therefore only 6 logic checks are needed to
pinpoint any location (almost) ;).

Location is determined by quadrant scaling logic in code (+ or -) based on the last standard location
input.

Proximity Detector:
The Proximity Detector works with the Quadrant System
The location of any object will fall within the category range level of a quadrant, therefore a scan can detect objects within a standard quadrant range level.

Scan levels (Here are some basic scan levels)

FULL Scan - Detects all recorded objects on the current map and
requires 6 passes (This can be restricted by a field of vision variable- FOV)
and I think I would use this function... ContainerRayCast(%newloc, %node.getTransform(), %mask);"
along with the other vector functions, correct ?

25% SCAN detect in 2 passes (Restricted Normal FOV)
Proximity Detection scans re-occur on a timer that is reset every nTicks or neuro input event(s)

All this would be in C++ code and accessed via script commands.

Can anyone give me a better general approach for solving this kind of problems ?
Also, your thoughts, has anyone done this in a general resource yet thats easy to use ?

What algorithms or other scientific methods would be more efficient ? I'm also concerned about speed !
What parts should be in Neuro-Nets ? I promise I will share... :)

Thanks,

I'm looking to make this an C++ engine MOD resource that people can compile into the engine
and access from script, It will also use some Neuro-Nets.

#1
08/11/2006 (11:08 am)
Quote:Can anyone give me a better general approach for solving this kind of problems ?

I'm still trying to figure out what problems these systems are supposed to address. Is this to facilitate some kind of AI awareness?
#2
08/11/2006 (11:28 am)
Ua sorry...

And also, Is the correct object detection/vector function
"ContainerRayCast(%newloc, %node.getTransform(), %mask);"

Is that what I would use for obstacle detetction along with the Vector functions e.g ...?
As in.. %dis=abs(VectorLen(VectorSub(%botpos,%pos)));

etc...

ua... maybe this stuf is already in the engine ? and all I need to know is
what functions to call ? could someone please tell me what they are.

As I'm trying to be productive with the software. :)

I know how to use the tool, I just don't know where it's at.


Thanks.