UPDATE START 1998.02.04 15.50 Brazil.Rio

tHa hECk 1998 zED * BrainMaN

Intro

I realy need to read much more timez that specs.. my mind is spinning.... ...that .DEM spec is #$%@! toooo complex

Bot Nav considerations

there would have a map like this:
 
struct {
   //bad things
   int imm_danger;
   int env_hazard;
   int good2die;
   //good things
   int good2kill;
   int weapon_av;
   int precision;
   int goodpath//??;
   //...
} nav_map[XSIZE][YSIZE][ZSIZE];
Like this

The points represent good and bad situations to be explores by a Heuristic tree... AI U know..

BaaD Things

Immediate Danger

This kind of danger don't least.. is exists while the source exist the dnger in this cqase disapears nearly instantly(or even instantly ...(??)

Environmental Hazzard

Good Area to Die(or Be Shoot)

If there is no enemy around, that area is not dangerous!

GooD Things

Good Area to KiLL

Weapon Avaliability

Places that Help on Fire Precision

Good Pathways


Some of these values(i.e.danger) automatically decrement itself when the bot passes throght it (plus the other calculations based on what the bot see and fell)


The bot shall see a sea os points that represent it's memory of that places. And he should be atracted by the unexplored point, in a kind of curiosity(marking that outside the BSP)


In this map may asure a secure path to the bot exit the rooms in a cleaner way than the full blind BOTs.

the bot must have alt paths to get close things and hold this paths(longs and shorts) is it's WILL list.
The paths will be made of vectors to visible points jumping in this sea of knowledge until reach the objective.

The data aquired in a game will be hold to other plays in compressed(??) files.


The WILL List

The bot wills will be listed and sorted by it's immediate need and distance and danger to execute(time is short the best situation must be choose)
Each will may have a Path linked to it, and the path shoulden't be recalc each momente. Once a path is defined it try to follow making some alt paths and seeking again it's main path.
 
struct {
   int priority;
   float distance;
   vertex_list_t path;
   //...
} will;

will will_list[20];

The path goes for the safier area, based on the memory map.

The bot must get out of the path: To get back to the path:

The Player Statistics

 
typedef struct {
   float min,med,max;
} stat_t;

struct {
   stat_t answertime;
   stat_t precision;
   stat_t duckness;
   //about the bot fellings
   stat_t hate_stat;
   int hate;
   //about scores
   int frags;
   int damagetoBOT;
   int damagefromBOT;
   //...
} player_stats;

Time to Answer

The ping would enter in this calc, but thats not really important. This value represents the time between the first shoot of the bot and the fist shot in answer[from the enemy].

Precision

Another stat 4 help in the target choose, and attack form(charge, camper, strafed,...). This describes the constance of the attacks of the enemi that hits the BOT. This maybe harsd to determine preciselly, cos is hard to tell when the enemy is pointing at the BOT, not other ones. But using some [obvious]logic this may not be a problem.

Duckness[or "The Capacity to Be Shoot"]

That's a art 4 some people, treated with much training and dedication. And the BOT know how to apreciate that skill. ;-)

Hate Statistics and Actual Hate level

How frequently a enemy is hate by the bot and how good was they relation since the first meet. And of course the actual state of HATE.!

The BOT State

 
struct {
   int the_value_of_the_life;
   int agressivity;
   int curiosity;
   //normal data
   int armor;
   int energy;
   //...
} BOT_stats;

"The Value of the Life"

If the bot have much ammo and weapons it life worth much, and must be defended with much armor and health, and not jumping into fireflights!
Things that raise the Value of the Life:

Agressivity

The need to kill violently all the enemies from the surface of the Earth.

Curiosity

The need to know all the things that he don't actually know, or have no chance of ever know...pessimist?...hun..

The Planning

To pake plans the BOT uses a Heuristic Tree.. And expands the tree predicting the enemies movmentes and itself moves. To help on the enemy move prediction he uses a genetic algorithim, making random moves at the start, then based on the frags win with this oponents he chooses the "DNA" string thet may "survive".
The thing goes like this: like this:


UPDATE DONE 1998.02.04 15.51 Brazil.Rio

counter
script
inspect