.:: Bots United ::.

.:: Bots United ::. (http://forums.bots-united.com/index.php)
-   FritzBot (http://forums.bots-united.com/forumdisplay.php?f=53)
-   -   darji2 waypoints (http://forums.bots-united.com/showthread.php?t=6753)

enigma1 23-04-2008 16:28

darji2 waypoints
 
Hello,

This is a first attempt for the darji2 map to setup the waypoints. The map is fully functional and tested.
http://www.asymmetrics.com/tmp/fritzbot_darji2.zip

I run into several issues.

1. I tried initially to setup steal operation for the flag entities. After a while into the gameplay the steal actions would appear with incorrect goal numbers and the bots would stop attempts to capture flags. So I had to replace the steal actions with roams to get around it. My question here is there a way to disable the goal tracker (via the .script perhaps?)

2. Using roams it becomes difficult to focus the bots to the flags. When no team steals a flag only a couple of defensive roam actions are active to give a chance to the bots to do capture attempts. I tried to channel these attempts using routes but for some reason I get mixed effects. Check routes 4,5, place near the CP to redirect bots to different areas for the objectives. Seems they don't work. Also the goal number of all the alt roams (although initially setup to -1) is set to 69 by fritzbot right from the start. I do not understand this. Where the 69 is coming from?

Perhaps I missed something obvious I don't know.

Thanks
CK-Chaos

enigma1 23-04-2008 19:42

Re: darji2 waypoints
 
I did a quick update fixing some of the nodes bots had problems with. Same link as above contains the updated files

TomTom 23-04-2008 22:35

Re: darji2 waypoints
 
Never played this one before but getting killed at the gasoline/petrol pump is very familiar to me these days ;).

(1) I am pretty certain you came across the same problem as I did in Bulldog and the bindlestiff did in other maps. To be safe steal actions should be re-activated when ever they test if_obj_home_true. It has to do with the goal tracker remaining connected to the logic of what is active and what is not. Even though you and I may choose to not use goaltracker activation/deactivation (except 0) it is still used to calculate the on/off state. I think the bindlestiff explains it best in his post.

(2) Action_active 1 makes the action's g_action_info goal track the current goaltracker goal_num IF THE ACTION IS ACTIVE. Steals are special in that they track it when home, but not when carried. I suggest you read CrapShoot's wiki article Fritzbot_Goal_Tracker .

I think when you have got the steal actions back in and the node_ents set and some resetnodeFlag etc. in the aiscript for flags already delivered, you may want to turn your attention to where the flag carrier should go while waiting for the barrier to the truck is in place. You can direct the carrier to a safe spot to camp with what we call a fake delivery. Then when the barrier is gone deactivate the fake delivery and enable the real one. The fake delivery(s) require NO script changes. The bot will remain there knowing the flag delivery is incomplete. Alternately you can have no delivery active when the barrier is in place in which case the carrier is free to roam.

OH AND A HEADS-UP TO ANYONE TRYING THESE WAYPOINTS, THEY REQUIRE THAT THE KEYWORD FIX BETA BE INSTALLED.

enigma1 23-04-2008 23:18

Re: darji2 waypoints
 
Hi Tom, I am not sure how to do the if statements. I am not sure if fritzbot will accommodate it. Not sure if you did download the map and tried it yet in any case there're 7 flags for each team a total of 14.

Ok now so lets consider a single action

Code:

action 1 // Action 1 is the 1st flag the allies going to get from the axis - assume steal operation
{
        if_obj_home_false 1 // Check if taken
                activateAction 30 // Say axis needs to move forward

        if_obj_home_true 1 OR if_obj_captured 1
                activateAction 11
..................
}

Where action 11 is the axis capture (but only a possible one)
Actions 1-7 are the ally captures, 11-17 the axis captures. In order to know which is the last action valid for each group you need to check and activate the correct one. That is 7 keywords only for activate (without the conditionals which are needed as you don't want to activate actions that cannot be reached) for a single action. Now add the conditionals and multiply this by 14 (needed for each action) and you most likely run out of keywords.

I have the initial nav file that includes the steal actions and the flag entities. I can include it if you want, let me know. It was an initial phase to check the actions so not all nodes are present.

I like the concept of the fake delivery though I am going to try it. Also let me know if you need the darji2 pk3 file to post a link.

Also where the 69 goal number comes from? Do you know? (alt roams)

Thanks
CK-Chaos

TomTom 23-04-2008 23:44

Re: darji2 waypoints
 
I don't see the altroams with goal_num 69, I see them tracking the goal_num when active. But I will keep looking. It could be a leak.

Code:

action 1 // Action 1 is the 1st flag the allies going to get from the axis - assume steal operation
{
    if_obj_home_true 1
        activateAction 1 //prevent the bug

    if_obj_home_false 1 // Check if taken
        activateAction 30 // Say axis needs to move forward

    if_obj_home_false 1
        deactivateAction 11  //axis deliver blocked

    if_obj_home_false 1
        activateAction X  //axis fake deliver -optional

    if_obj_home_true 1 OR if_obj_captured 1
        activateAction 11  //axis deliver not blocked

    if_obj_home_true 1 OR if_obj_captured 1
        deactivateAction X  //axis fake deliver not needed -optional

    //can avoid the event explodes with...
    if_obj_captured 1
        node_connect 410 496 true
    if_obj_captured 1
        resetnode 497 0
    if_obj_captured 1
        deactivateAction 1
    if_obj_captured 1
          activateAction 2

..................
}

17 *12 + 9 * 2 = 222 plus default and command posts and optional fake deliver lines. It is tight but using your event explodes you save another 36-48 so likely do able. I would drop the activateAction_groups in default { } and use action_goal 0 (BTW the wait only affects the activateAction_group 0 in your default). Total action tests would then be 14 steals + 12 explodes + optional 3 = 29 which is ok. You should still have space to do fake deliveries in some of the flag tests. And that way sometimes they would roam and sometimes they would camp and wait. (Are logicals OR / AND counted as keywords? I don't know)

enigma1 24-04-2008 00:53

Re: darji2 waypoints
 
Hi Tom, perhaps I'm missing something. The way I see it I need several passes for the actions to set them up properly.

We need to check disable/activate the proper actions for allies and axis every time if I understand correctly. If we activate any passed actions there will be problems. (also you can omit the node connect they're not necessary if the steal operations work... so

Code:

    if_obj_captured 1
        deactivateAction 1
    if_obj_captured 2
        deactivateAction 2
    if_obj_captured 3
        deactivateAction 3
    if_obj_captured 4
        deactivateAction 4
    if_obj_captured 5
        deactivateAction 5
    if_obj_captured 6
        deactivateAction 6

//another 6 for the axis in the same action

    if_obj_captured 11
        deactivateAction 11
    if_obj_captured 12
        deactivateAction 12
    if_obj_captured 13
        deactivateAction 13
    if_obj_captured 14
        deactivateAction 14
    if_obj_captured 15
        deactivateAction 15
    if_obj_captured 16
        deactivateAction 16

another set to like this to activate the right one as it's not possible to know if the goal tracker responds to the same team properly.
Code:

  if_obj_home_true 1 OR if_obj_captured 1
        activateAction 2  //axis deliver not blocked
etc......

Such that the activate events run first. That is 24 conditionals to deactivate and 24 to activate (x2 for the OR operator??) per action. (24+48=72 minimum?)

If it was possible to have a higher number of keywords per action maybe I could set a another entity to trigger the entire set once (instead of repeating the whole thing 14 times) I could setup another construct basically that will trigger every time an objective returns or it's captured and will test the whole thing setting up the actions accordingly.

But I see the problem is exceeding the number of keywords in a single action.

When you say a leak what do you mean? I see it every time here even during warmup. It gets stuck to this number and the alt-roams don't work.

TomTom 24-04-2008 02:11

Re: darji2 waypoints
 
Oops my bad skip the noderesetFlags stuff (the flags are steals not checkflags). That will save another 24 keywords. And yes you can skip the node_connects. In fact you can set the action_closenode to the node outside the barriers.

Code:

action 1 // Action 1 is the 1st flag the allies going to get from the axis - assume steal operation
{
    if_obj_home_true 1
        activateAction 1 //prevent the bug

    if_obj_home_false 1 // Check if taken
        activateAction 30 // Say axis needs to move forward

    if_obj_home_false 1
        deactivateAction 10  //axis deliver blocked

    if_obj_home_false 1
        activateAction X  //axis fake deliver -optional

    if_obj_home_true 1 OR if_obj_captured 1
        activateAction 10  //axis deliver not blocked

    if_obj_home_true 1 OR if_obj_captured 1
        deactivateAction X  //axis fake deliver not needed -optional

..................
}
...
action 36 //fake func_explode for when barrier gone after last flag captured
{
        //node_connect 410 496 true  -done in editor instead
        activateAction 2 //next flag is now available

        //the deactivate or kill of steals is really JIC since when captured the type goes to -1 no action. 
        //It can probably be skipped to save total keywords.  But if you use roams these deactivates are needed.
        deactivateAction 1 //or use kill_action 1 jic
 
}

So 12*14 + 2*12 + 12*1 = 168 + 24 + 12 = 204 in 26 action tests including fake delivers. Well within the limits on the keyword fix beta and 6 action tests blocks still available for CP etc..

Yes you could use a fake entity to trigger whenever something happened to any flag but I don't think it is worth the trouble. You should be able to do this map minimally without the extra fuss of func_explodes now. 12*16 + 2*12 = 216 keywords in 14 action tests is possible.

The leak is a guess since I don't see how this map could go to 69 on the goaltracker. I run with com_hunkMegs 128 on 1GB of ram and don't see your symptoms.

---
Upate: missed seeing your barrier toi fake constructs. That makes it simpler since the deliver / fake deliver logic can go there. I am testing that out right now. Things are going ok but I just hit an issue. With both teams carrying flags a fake deliver means a predictable location for the carrier waiting to deliver and no fake deliver may slow down the match since the bots are anywhere on the map.
BTW minehunts don't go on mineplants. Minehunts should only be needed if you want a covert op to search a distant area that the covert op won't be passing through. A minehunt is like a camp, you give it an aim action. Look at my v1rocket near the initial allied spawn, the covert op may search the area beyond the bridge regardless of whether the bridge is built.

If tests go ok I'll attach the files tomorrow or sooner.

CrapShoot 24-04-2008 05:47

Re: darji2 waypoints
 
Quote:

Originally Posted by enigma1 (Post 57813)
Also the goal number of all the alt roams (although initially setup to -1) is set to 69 by fritzbot right from the start. I do not understand this. Where the 69 is coming from?

It is a Maleficus added 'feature'. He explained it to me once, but I've forgotten the reasoning behind it. It doesn't matter though as once you set them to active they should inherit the current game states goal number.

TomTom 24-04-2008 09:05

Re: darji2 waypoints
 
2 Attachment(s)
Yes now I remember CrapShoot mentioning something along that line once. And I do see it now (was looking at the wrong actions). But since I use very few alt-roams with goal -1 I may have only seen it once in my waypoints (trenches05). Oddly I don't see it in my group 0 goal -1 alt-roam in bremen_b1. Anyway it is just a workaround Mal used for alt-roams that are inactive.

- - -
OK here is how I would change it to use steals. Tests are basically OK but lots more tests should be done. The only zombies I saw are those I expect (bots just about to steal pause when the other team steals, so the steal goes to the next bot to come along, and I may have seen one of those bot stopping 1 node from deliver point. These I see in lots of steal deliver maps, they are reasonably rare and throw in enough bots and attack at the delivers and alls well. Did not see any steal - goal tracker bugs).

Readme is included. Second file is Hobbit's tool nav diff output.

enigma1 24-04-2008 19:13

Re: darji2 waypoints
 
Hi all, ok I read the new posts just now after making some changes. Ok for the steal obj code Tom posted it will not always work. I tried several combinations. The main problem is the 2 conditionals

if_obj_home_false
if_obj_captured

You need combinations of the 2 but is not reliable. I wish there was a keyword like if_obj_not_captured. But there isn't. So basically the code Tom posted cannot reactivate the action when a flag is stolen but not captured. In this scenario the opponent may also steal a flag and mess the goal number of the previous team.

So to get around it I had to rearrange the .script file such that the func_explosive is called (via the alertentity) after a new construct which triggers the events. Here is the code from the .aiscript, I tested multiple times and works with the goal tracker being maintained always for both teams at the same time no matter of the combination (steals/returns and so forth):

Code:

// Flags alert to rectify the goal tracker
action 73
{
        activateAction 1 // Allies first steal action activate it always
        activateAction 11 // Axis first steal action activate it always

// First Pass activate all actions where the flag is taken (regardless if it's captured or not)
        if_obj_home_false 7
                activateAction 7

        if_obj_home_false 6
                activateAction 6

        if_obj_home_false 5
                activateAction 5

        if_obj_home_false 4
                activateAction 4

        if_obj_home_false 3
                activateAction 3

        if_obj_home_false 2
                activateAction 2

// Second pass deactivate the ones already captured
        if_obj_captured 1
                deactivateAction 1

        if_obj_captured 2
                deactivateAction 2

        if_obj_captured 3
                deactivateAction 3

        if_obj_captured 4
                deactivateAction 4

        if_obj_captured 5
                deactivateAction 5

        if_obj_captured 6
                deactivateAction 6


//Repeat for Axis
        if_obj_home_false 17
                activateAction 17

        if_obj_home_false 16
                activateAction 16

        if_obj_home_false 15
                activateAction 15

        if_obj_home_false 14
                activateAction 14

        if_obj_home_false 13
                activateAction 13

        if_obj_home_false 12
                activateAction 12



        if_obj_captured 11
                deactivateAction 11

        if_obj_captured 12
                deactivateAction 12

        if_obj_captured 13
                deactivateAction 13

        if_obj_captured 14
                deactivateAction 14

        if_obj_captured 15
                deactivateAction 15

        if_obj_captured 16
                deactivateAction 16
}

Several of my attempts are in comments within the .aiscript file. I added a new TOI that points to a construct and is called when either team steals, returns or captures a flag. Ok now there 2 passes through all flag actions to ensure no matter which flag is stolen or returned their equivalent actions are re-activated and any others disabled.

The first pass activates the actions based on whether a flag is stolen but not captured. In order to determine if it is captured the 2nd pass deactivates the actions. This method is used in conjunction with the func_explosive that is loaded at the end of a capture operation to disable the previous and enable the new action for the specific team (the one who did the capture). The rest is taken care from the code above. This way you could save keywords significantly from the .aiscript.

I updated the code under the original link with this. I have the old code too.

New code with steal events
http://www.asymmetrics.com/tmp/fritzbot_darji2.zip

Original code with roam actions
http://www.asymmetrics.com/tmp/fritzbot_darji2_v1.zip

I also updated the alt roams, not sure why by the bots would rarely follow them originally. I set them up with goal 0, group 0 and always active and got rid of the 69. These are the good news. The bad news is that I am getting a G_Spawn error that ET could not create entities. I see it when I deploy 32 bots and it is not due to heavy fighting during gameplay but it's intemittent. Something else is going on and started, I suspect, since I added the 5th TOI for the construct to invoke the code above.

Few other comments. I tried the delivery disable/enable, Tom mentioned earlier on but the bots do not behave well. The one that has the flag may go to camp say position but will not respond to enemy fire. Also bots that target the steal operations do not respond, sometimes they would pass each other (and I am talking groups of them) without a single shot fired. This is not the case with the original code.

Thanks
CK-Chaos


Tom, I just read the comments in purple above yes I removed the minehunt operations. I may simply change the steal back to roam actions just to see how the bots will behave.

TomTom 24-04-2008 23:48

Re: darji2 waypoints
 
Interesting to see a different perspective. I was impressed by your use of set{} to dynamically shift the func_fakebrushes. I also note Loffy's interesting way to handle no-win-draws.

Steals and delivers are like dynamite/constructs for engineers. The bot will take some significant damage before deciding to fight. This is so the bot remains focused on the objective. Nothing worse than a bot that prefers to fight over winning the game. We all have known Humans like that, and wish they were on the other team. It can be a bit funny when two focused engineers pass or two carriers. That is why we try to get other bots to camp or roam to the deliver/construct/dyno areas.

Yes the fake delivery point is not a camp though I did make the bot turn to face attackers. The bot will act like it is focused on the objective. No way offhand to force the carrier to a camp, so fake delivery points are really about hiding until the time is right. But you never want to let a carrier hide alone...

As to the G_spawn that is to be expected (saw it on a timelimit extended test). The map has 962 entities already including your addition of 28 more (console command is /entitylist). This includes the players and corpes but not their dropped weapons or items. And all non-bullet weapons may temporarily take some too when fired/thrown (mines, dyno, panzer-rockets, grenades, smokecans, air-cans, air-can explodes, artill explodes etc.). The artillery and aircans are the worst since they use multiple entities allocated all at one go. My advice; keep the fake entities minimal (reuse what you can), limit the number of field ops and bots playing, and don't use /mal_showSpawns 1 when waypointing a full map. It uses a bunch of temp entities. You could also skip the 12 fake func_explosives on the flag barriers and move their aiscript codelines into the prior steals tests on if_obj_captured conditions.

= = =
Nodes 145 and 479 need a outward connection at a minimum when the truck doors are closed. I have seen 3 bots trapped on them so far including a bot who fell there having just picked up the flag above. I recommend either add suitable node_connects in the aiscript or copy the static connects in my previous post.

enigma1 25-04-2008 16:25

Re: darji2 waypoints
 
Hi Tom, the one way node problem near the lids is now fixed. I did update the fritzbot_darji2.zip link with the new code.

I changed the steal actions to roams again. It seems the bots are quite responsive now and still will attempt to grab the flags, they seem more organized. Have a look let me know what you think.

With this version I placed action 73 in comments beneath the EOF. If you want to see the steal actions, use the hobbit's tool change actions 1-7 and 11-17 from roam to steal and uncomment action 73 from the .aiscript file and move it above the EOF.

I also fixed the fake constructs there were leftovers for the construct level that will mess up the map during gameplay. I removed those it could have something to do with the G_Spawn entities issue, I no longer see it.

There are few things I do not understand with the nodes themselves. The first is when the bots go through the teleports. I placed nodes behind so they get redirected to the destination. These are one way nodes. Seems after going through the teleport the bots will still attempt to reach the previous node for a second or so. But it's not the same with cases where they're misplaced and spin around. They jump once or so and then they continue. The radius of nodes behind the teleports should be large enough so they wouldn't need to reach the back node.

Another issue with nodes again is sometimes bots will spin around the upper level between the 2 main elevators for no reason. Like they're trying to reach something on the level below. I checked all nodes there I see no connections. I believe this is happening for both teams so I doubt I have some extra connections that are invisible. I checked the the waypoint tool and in the map I see nothing wrong.

Finally I dispersed the various actions into classes for bots to follow so they will not always concentrate around the CP but utilize other areas of the map.

Thanks
CK-Chaos

enigma1 25-04-2008 19:18

Re: darji2 waypoints
 
Hi Tom, forgot to mention for the func_fakebrushes set I don't think it's way too efficient. There must be someway of controlling the flags of the brush so it simply becomes transparent. That should be easier/better instead of the origin displacement. Bots still crashed sometimes not too often though. I could place some more alt roams to utilize different routes perhaps.

I have 5 TOIs defined and I know there is a limit to them. Do you know of another mechanism instead of using TOIs with constructs? Something like trigger_multiple perhaps and then alert a specific entity conditionally so the .aiscript gets notified like in transmitter. I see there are commands (like the barrier remove) that target entity numbers directly, is there another command? If there is we could use the accumulators to conditionally alert them.

From the scripts I checked I have seen 3 action types in the .aiscript that receive info from the main .script file. Expload, Expire, Major/Minor construction. Can you tell me is there any other types that can be utilized?

It will also be good to know for the various triggers/events which ones are client and which ones are server side. Because the docs I've seen do not explicitly state that. It is also entity dependent?, like a construct cannot be instructed from the .script file for a destruct (without removing it) but it can be built using the construct command.

Thanks for the help.

CK-Chaos

TomTom 25-04-2008 22:26

Re: darji2 waypoints
 
I think the point is that Mal's aiscript commands just link directly to a trigger_objective_info, func_explosive, team_CTF_blueflag, team_CTF_redflag or team_WOLF_checkpoint. Only the toi can link to any of the other 4 or to those not listed like func_construct. I don't know if anybody has tried the latter 3 except for fake steals as priority-bot-attractors (see supplydepot).

Most of script info comes from the original splashdamage doc and forum and from chrukers site. Sometimes you can find some info in the W:ET code but much of what you need may be deeper still in RTCW/Q3 engine code.

When I said re-use I meant like what I did with eagles_2way_b3. I had weird things happening when I got close to the apparent toi limit. Then I figured on how to reuse 2 existing tois. I changed a constructible mgnest into a prebuilt one so I could reuse the toi for the tram cars. and I reused an mgtower in the second half of the map for a single event expire. In your case it isn't the toi limit since the map has very few (one). But the total number of entities is the issue. So one thought, try reusing some of the existing func_explosives if you can (OOPS skip that idea none have scriptnames, and with no tois you can't use event expires :( hmm...).

IMO offhand all that changing roams to steals or vice versa does is change the priority of the initial steal. FritzBot behavior carrying, seeing a carrier or seeing a dropped steal-able object is pretty much preprogrammed. I saw that in my goldendunk test loop. I suppose in a dual-objective maps using roams might slightly increase the chance of the opposing team attacking the carrier if only one team is carrying but I don't think it is generally needed. The real problem is the delivers not being available, how to make the carriers not look like noobs straying too far from the deliver point. What might be interesting would be trying to make a pseudo-random behavior of both fake deliveries and no delivery point. The pseudo-random point might just be a complex logic on a fake action and the fake delivery say would be turned on when the door closes but turned off when the fake-action changes (or when the door opens). Multiple fake deliveries would be nice too but multiple real deliveries did not seem to work well in v1rocket. The bots seem to always chose the same delivery at the route to deliver start point. So using multiple fake deliveries might need scripting.

Anyway I will try to find time this weekend to check out your latest waypoints and see how the entities workout.

enigma1 27-04-2008 21:55

Re: darji2 waypoints
 
I did another update of the waypoints for this map. Can be downloaded from the original link.

Basically I added 1 fake defensive action to shift the focus of the defending team for few seconds towards their flag. I also added some alternative routes so the steal return path cannot easily predicted. Bots are more challenging now both for the offense and defense. Still roams instead of steal actions are used. I added few support actions when flags are picked up.

I also changed the elevator timings to be more effective I added a delay before the elevator ascends to utilize the space so more bots can catch up. I added a couple more brushes near the stairs where the bots will get stuck sometimes.

Few things I noticed.

1. Flag carriers do respond to enemy fire (not initially but afterwards) till they reach a delivery point. Once they reach (or they're towards the last nodes) they do not respond. So a fake delivery point could be worse. Also if I deploy a defense around, it may be problematic because both teams could just hold the flags without much going on. And then roams for the opponents have to be deployed it over-complicates things.

2. Specifying classes for the mg42 camps seems to have a strange effect. If the wrong class attempts to mount the mg42 it gets killed? I thought that was a guide for the bots but seems to be affecting real players too.

3. When the flag drops bot may not follow the waypoints to pick it up, instead they may use a direct path to the flag. It is understandable if that fails they should switch to the waypoints.

4. I see cases (when the actions switch) the bots may start jumping around to reach a different node or something. It is strange but I've seen it happening in between the 2 elevators near the flags. The nodes are ok no duplicates or anything out of the ordinary.

Anyways let me know if you see any problems.

CK-Chaos

TomTom 27-04-2008 23:02

Re: darji2 waypoints
 
(1) certainly a bot at a delivery is waiting for the flag status change. So it is best used in a hiding spot. I still think you could make use of fake deliveries but limit the time they are active. The reason would be principally for having a deterministic action for routing the second carrier on if he does a pickup at the original flag steal location and to get the carrier functionally-near the truck area. Then use a wait T deactivateAction_group X to disable the fake delivery before he gets all the way. Now if the carrier was nearer when the fake delivery turned on then he will 'hide' with a same group medic support camp nearby. The logical place I guess for the fake delivery is near the team spawn since he can get health and ammo when his chums spawn and can teleport quickly to the deliver point. At least that is how I would play it as a human if I could not call for a partner.

(2) No you are seeing or drinking something weird. The only odd thing I ever saw about class restriction was the wrong class using an alt-roam when no alt-roam existed for that class. Something I should investigate more.

(3) Bots do not use waypoints for close things they can see (<500? or maybe less) like health packs, wounded pals, dropped flags. But if further away then they do use waypoints so some cross connections are always necessary. Actions must be close enough (<500) to their closenodes, but bots do not take short cuts for actions in view. That way objective actions are approached properly.

(4) not certain what you are referring to. The jumping behavior sound like they have chosen their next node one below them. Under some circumstances bots will randomly chose a nearby node. This is related to time-out behavior I think. That way a bot that gets stuck will timeout and try a different node to start from in its vicinity.

(5) Got around to playing the previous waypoints instead of just watching, highly challenging I must say. I wonder though how it compares to human play. If you can find a few humans to try it out in a mixed bot/human teams you could compare. Any volunteers to host an internet game, anyone? Enigma1 is doing some really good work here.

The one thing though I found unsatisfactory was the botsight. 5000 is way way too high. I was getting shot and killed at from pistols and mgs without being able to see anybody. It reminded me of old bobots where every map they had an equivalent botsight of 4000. Since bots turn and scan better than humans it is best not to let them see too far unaided. I measured the distances in the map and could only find 2 very narrow spots over 2500. So I tried botsight 2500 and it was still very challenging but not ridiculous. Finally I tried 2200 a more normal value and found that felt the most comfortable.

enigma1 28-04-2008 01:41

Re: darji2 waypoints
 
Hi Tom, for the botsight I forgot to change it really, left from the mlb_temple map. However I am not sure how this would affect the bots if the distance is about 2500. Which place you got the problem in? Also do you have the aim setting to high? I have the defaults here. Once the bots get some xp they become quite formidable. The last version I set the gameplay to a couple of hours and I am sure won't be enough for a team to score 7 flags. (using 32 bots)

I've played it quite a bit with the last waypoints and bots seem ok. A human can always use all kinds of tricks but the map should still be good to play.

For the mg42 sudden kill, probably was something else. I might tried to grab it from a wrong angle and got squeezed in-between the boxes.

For the fake delivery it's already there. I did play with it a bit but I did not like the outcome. Actions 96,97 are for this purpose. I did setup some timing too for the fake delivery actions to expire. With lots of players I suppose it shouldn't matter. But with very few players like 4-6 per team it may not be good.

If you get a chance check the last update.

CK-Chaos

TomTom 28-04-2008 02:20

Re: darji2 waypoints
 
No I was using the default middle of the road settings. At a guess Mal gives the bots a percentage of the botsight based upon their XP. Then high values means that the bots start at rather high fight abilities and are also more likely to engage you. I generally don't mind fighting bots using hide and sidestep, ambush and using edges but many people who like open fighting just hate bots because of how they fight. You can see lots of complaints in SD and ETQW forums. I prefer the bots to have some failings (e.g. distance) to give a semblance of the human quality of fighting close opponents first and far opponents last.

The only down side I find with reasonable botsight values is that Panzers won't fire at far away mgnests (e.g fueldump's botsight of 2500 would have to go up 50%+ to damage the axis mgtower from the first spot a human might use) . But since std. mgnests are not repaired by bots I suppose it balances out. And I don't like a bot using a panzer with the accuracy of a sniper.

Temple is an exception because of how the map starts with such a huge divide. But it does make it tough on the Allies when they get to the other side.

TomTom 28-04-2008 20:32

Re: darji2 waypoints
 
Some stats of equal bot teams (8-on-8 ) in unattended testing of Yesterday's (latest) waypoints.

At 150 minute rounds
Axis:Allied:No-win-draws
9:1:0

At original 15 minutes
Axis:Allied:No-win-draws
13:6:33
Average # of captures (delivers)
Axis:Allies
0.4 : 0.21

Ironically the 15 min matches almost meet the 2:1 target team balance for waypoint releases. Another thing this shows is how dual objective maps can be sensitive to get the team balance right. You think you effectively have mirrored everything but small differences get magnified by the bots.

And a reminder you need to provide something in goal zero for all classes to do so to kill the spam of error messages when the match starts. One or two roams is what I generally do at a minimum.
Did not see anything else of note yet.

enigma1 28-04-2008 22:48

Re: darji2 waypoints
 
Technically the map favors axis. The CP is closer to them they have a good opening towards it from where they can take out the opponent engineers and utilize the cvops. If you noticed cvops with FG42s are way more effective than any other class on this map. So the more a team has the better the chances for a win is. (medics are also important here)

Usually the team with a better balance (medics/cvops) may win. Also weapons bots carry do matter since the rifles have the reload problem I would try using bots with FG42, MP40s and Thompson and panzers.

One other thing I noticed is that the bot behavior is strange, they will prefer to go for the kill when the respawn time just expires so you wait in the queue as long as possible. That I saw when I was doing some sprees. Also as time goes by sometimes I see them moving backwards a lot, something I don't understand (I've seen it with other maps).

And yes I will try to fix these spam errors. Basically a couple of fake roam actions at the beginning should do. Which I will disable in the default clause of the .aiscript.

Thanks for the help
CK-Chaos

enigma1 30-04-2008 01:18

Re: darji2 waypoints
 
Hello, if I set the func_explosive linked actions to true then I get an intermittent crash when the 2nd or 3rd flag is delivered. Does anyone know what's going on?

Basically in the .aiscript of the darji2 map all you have to do is uncomment this line

// activateAction_Group 5

Where group-5 are set to be all the exploads. I needed to set these to active as I was trying to better balance the map. One by one will get deactivated as the flags are delivered. (Actions 36-47) But I get a crash if I activate the group and it is intermittent.

Thanks
CK-Chaos

enigma1 30-04-2008 15:30

Re: darji2 waypoints
 
actually the crash was my mistake. I had assigned the same group to some other actions accidentally and was causing the problem.

enigma1 30-04-2008 22:51

Re: darji2 waypoints
 
I did an update for the waypoints. Added a couple of initial roam actions to get rid of the bots complaining at the beginning, added 4 extra fake brushes for the teleport space above the flags where bots will get killed should they decide to use that path. Also added an extra group of actions that is activated for the team that falls behind to gain some advantage and improve the overall balance.

I also added a different bots file with 30 bots.

The original posted link contains all files.

CK-Chaos

enigma1 03-05-2008 01:23

Re: darji2 waypoints
 
Did another update of this map's wayponts. Added a couple of extra conditions to disable specific roams for teams they're behind in score to better balance the map. Original link contains the latest files.

CK-Chaos

nedd3h 05-05-2008 07:10

Re: darji2 waypoints
 
WELL DONE!

i'd never seen this map before, it's quite good... will go well on a map-cycle to break things up a bit

looking forward to giving this one a good test run :)

enigma1 05-05-2008 13:16

Re: darji2 waypoints
 
Quote:

looking forward to giving this one a good test run
Ok, yes the very first post contains the link with all the latest files. If you see problems let us know.

I am concerned about the bots jumping around when an objective is picked up/returned for some reason. I need to re-check the nodes/actions and I don't want to go through ~800 nodes manually for that so if I get a chance I will write a php script to do different levels of validation.

From the little I checked I noticed the bots may try to reach one of the teleport points when they do this strange pattern. I do not see a reason however as they're is no connection nearby. Also the teleport issue does not show up on the ctf_pool_v2 map so I am not sure yet.

CK-Chaos

enigma1 30-01-2012 15:13

Re: darji2 waypoints
 
I did another update on the darji2 map. It now includes fake delivery actions for the flags in case both teams are holding them. I also added alternative escape routes from the flags areas so it's harder to predict the paths the bot will follow and added equivalent defense/camp actions. Hopefully you'll find the map is more enjoyable now.

The original link contains the latest darji2 waypoints and scripts.

enigma1 25-02-2012 18:40

Re: darji2 waypoints
 
Somehow with the last update I was using the old .nav file. The fritzbot will load the nav poitns from Fritz3_1.00.pk3 file instead of using the expanded ones.

So I updated the darji2 archive under the same link with the latest waypoints after realizing this.


All times are GMT +2. The time now is 22:38.

Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.