Page 3 of 3

Posted: Wed Jul 02, 2003 2:18 pm
by jv_map
Bjarne BZR wrote:And another thing: the bomb campers VERY seldom runs for "cover" whan the bomb is about to blow ( one in maby twenty does it ) any idea why?
I think this is for a number of reasons:
  • The bomb is located in a more or less hidden spot. In the current bot version bots consider a campnode safe if a sighttrace from the campnode to the bomb fails (i.e. there is something in between). This seemed to have good results in the OpCenter map but I've removed it from the bot scripts nonetheless. Since bombradius checks are more reliable this is what future bot scripts will use only.
  • There are quite some navigation difficulties in the destiller room. Bots are often not able to find a way to their desired flee node and as a result they just stand there.
  • There are not enough safe bombcamp nodes. In total there is just one bombcamp node outside the explosion radius of the bomb, and this node is unreachable. Therefore bots are never able to find a safe way out. Whether they survive or not is determined by the inherited amount of luck ;).
Bjarne BZR wrote:Oh, one more thing: Could I change the bots "hearing" to reduce the "stare at the floor/celing" error? Or are they already deaf in the latest release? If I should reduce it, how do I script that?
Their hearing has always been 0 (even since the snowy beta I think), still it doesn't solve all problems :(.

Posted: Wed Jul 02, 2003 2:35 pm
by jv_map
Here's the file:
http://home.student.utwente.nl/a.b.vrij ... pdate1.pk3

It can only be used in conjunction with jv_bot01.pk3. Please see this as a temporary solution, i.e. do not distribute the pk3 along with your map.

When your map is ready just beep and I'll make sure a full jv_bot02.pk3 will be released with any changes / additions you require.

Posted: Thu Jul 03, 2003 2:53 am
by Bjarne BZR
jv_map wrote:When your map is ready just beep and I'll make sure a full jv_bot02.pk3 will be released with any changes / additions you require.
Any changes / additions I require? :shock: Well... I'd like them to shoot fire from their butts... and then I'd like them to... just kidding :D

At first it did not work... but then as I modified the script to insert a debug message, it suddenly worked great :D
( MOHAA prefered the original jv_mp_ai.scr until I put the debug version in the file system instead of in the pk3 ).

Seeing the little bots running around like they actually know what they are doing is a big kick. They are so cool! Now I have hope, and with hope I find the strength to fix these route errors that keeps popping into the logs.

About the bomb camps: These are things I can fix... I LOVE answers that tell me stuff can be fixed! :)

About the hearing: To bad, but now that the bots are a bit more busy with triggers and bombs, the celing / floor - staring is less irritating. Also less frequent actually ( as far as I can see ).

A bathtub full of thanx to you Bot-lord! :twisted:

PS: You don't bore me, all info is good info. I love to get a little knowledge of what is going on under the hood.

Posted: Thu Jul 03, 2003 3:42 am
by Bjarne BZR
jv_map wrote:There are quite some navigation difficulties in the destiller room. Bots are often not able to find a way to their desired flee node and as a result they just stand there.
What do you mean by navigation difficulties?
Node errors? Bot crowds? Complex brushwork?

I'm having trouble debuging my nodes as I cant move around once I've activated the node debuging ( using togglemenu leveldesign ).

Is there a way to walk around with the node debugging activated?

Posted: Thu Jul 03, 2003 5:54 am
by jv_map
Bjarne BZR wrote:Is there a way to walk around with the node debugging activated?
Yes just click near the middle of the screen after pressing the button, or type 'popmenu leveldesign'.

Instead you can also simply type 'ai_showroutes 1' in console.

To find out how the bots are currently finding their paths type 'ai_debugpath 1'.

Oh and with navigation difficulties I meant those 'unreachable path' errors. Probably because of a few non connected pathnodes in there (shown as red crosses when viewing paths).

Posted: Thu Jul 03, 2003 12:33 pm
by Bjarne BZR
Something is really wrong now... I get this:
consol wrote: local.distance = vector_length(self.origin - local.node.origin) (global/jv_bots/jv_mp_ai.scr, 857)
local.distance = vector_length(self.origin - local.node^

^~^~^ Script Error: Cannot cast 'NIL' to listener

local.distance = vector_length(self.origin - local.node.origin) (global/jv_bots/jv_mp_ai.scr, 857)
local.distance = vector_length(self.origin ^

^~^~^ Script Error: binary '-' applied to incompatible types 'vector' and 'NIL'

local.distance = vector_length(self.origin - local.node.origin) (global/jv_bots/jv_mp_ai.scr, 857)
local.distance = ^

^~^~^ Script Error: Cannot cast 'NIL' to vector

if(local.shortest_distance == NIL || local.distance < local.shortest_distance) (global/jv_bots/jv_mp_ai.scr, 858)
if(local.shortest_distance == NIL || local.distance ^

^~^~^ Script Error: binary '<' applied to incompatible types 'NIL' and 'float'
Repeated over and over, until the map exits with an oweflow message:
consol wrote:********************
ERROR: Command overflow. Possible infinite loop in thread.

********************
----- Server Shutdown -----
==== ShutdownGame ====
---------------------------

Posted: Thu Jul 03, 2003 12:56 pm
by jv_map
That indicates something is wrong with your routes :?

Did you check them?

Posted: Thu Jul 03, 2003 1:31 pm
by Bjarne BZR
Hmm... It seems it's not the fault of the new ai script... so I guess it's my fault AGAIN... :cry:

It looks as if getnearestid sometimes gets a NULL node value and fails... any Ideas why?

I've fixed most ( all? ) erronous ureachable nodes, but the error above still remains... The map fails after about 5-10 seconds after you spawn.

Posted: Thu Jul 03, 2003 2:12 pm
by jv_map
Actually it returns NIL which causes immediate termination of the action_go_to_routed thread. That's why you get the infinite loop error (it's started continuously).

The question however is why it returns NIL :?.

local.distance = vector_length(self.origin - local.node^
^~^~^ Script Error: Cannot cast 'NIL' to listener

Obviously local.node is NIL, but why :?

Code: Select all

if(local.nodes.size > 1)
{
	local.nodenum = randomint local.nodes.size + 1
	local.node = local.nodes[local.nodenum]
}
else
	local.node = local.nodes
According to this code local.node can only be NIL if local.nodes is NIL or NULL (size = -1).

local.nodes = level.route[local.route][local.id]

local.nodes can only be NIL if local.route is invalid or local.id is invalid. It can only be NULL if somehow a 'NULL' node made it's way into the route array :?.

Hmm thus this leads to the conclusion that there's either something wrong with the routes in the map or with the routesetup thread.

Or did I miss something here? :?

Either way make sure to use the route debug tool of the bot scripts ;)

Posted: Thu Jul 03, 2003 2:37 pm
by Bjarne BZR
Found it ( maby )

ERROR[jv_mp_ai::routesetup]: Node 4 is missing for route axis_bomb_long

Removed it by mistake when optimizing the nodes in the distiller room :oops:

Posted: Fri Jul 04, 2003 12:48 pm
by Bjarne BZR
Yep, now it works! And suddenly all the staring at the celing/floor is gone as well! Whoopie!
They work really well now, and with a skill of 4 they are a real challenge to beat. Not the "No problem to be 1 against 10 BOT's" of the 1.0 version anymore. :D

So basically I'm ready to recieve tha 1.2 version of the bots now, or do you want to test the map to ensure that it works as you want it to work first?

Posted: Fri Jul 04, 2003 1:14 pm
by jv_map
You are about ready? Wow that's cool 8-)

I still need to talk to mohaa_rox about the bot scoreboard though. I also yet have to decide whether it will be bots version 1.2 or 1.11 :wink:

Posted: Fri Jul 04, 2003 1:35 pm
by Bjarne BZR
No hurry man!

Also: If you are going to include the "crawlbots" in 1.11 (1.2?) I'm going to need some updates to the map anyways...