I don't know the purpose of friends in such a game but this is doable by only making a child game of BotPack.DeathMatchPlus and writting there this useless attitude. Will be needed a custom DM with a few lines changed. These lines are original which are giving to Bot his attitude directives.
function byte AssessBotAttitude(Bot aBot, Pawn Other)
{
local float skillmod;
if ( bNoviceMode )
skillmod = 0.3;
else
skillmod = 0.2 - aBot.skill * 0.06;
if ( aBot.bKamikaze )
return 1;
else if ( Other.IsA('TeamCannon')
|| (aBot.RelativeStrength(Other) > aBot.Aggressiveness + skillmod) )
return 0;
else
return 1;
}
aBot does a self check into DM game for attitude toward "other". Here bot has fear in front of Cannon but also has fear in front of "Other" if that Pawn seems stronger than Bot in cause, else it will hate, so to speak will attack Pawn.
- 0 = Fear
- 1 = Hate
- 2 = Ignore
- 3 = Friendly
like in Bot code:
result = DeathMatchPlus(Level.Game).AssessBotAttitude(self, Other);
Switch (result)
{
case 0: return ATTITUDE_Fear;
case 1: return ATTITUDE_Hate;
case 2: return ATTITUDE_Ignore;
case 3: return ATTITUDE_Friendly;
}
When bot goes kamikaze has nothing to lose, he is in low health, sick, no friends, no girls, no food (kidding here), mainly will attack enemy knowing that it will die but at least will try to kill enemy at once with him, in RocketLauncher arenas usually is often seen. Wounded but will go to attack.
But the Bot does not run very well to the Pickup . He can take it if he just runs past. The Bot runs better to the shield or to the flag. Is there an easy way for Game Type to make the Bot run to the Pickup at once?
If that pickup is not linked in Path-Net (just added or summoned) it won't distract Bot, else it has to be in state pickup. See somewhere some map in Splitting MH packages thread one of my demo maps using a sort of burguer based on what was doing FeraliDragon but a bit changed for MH purposes, go see it.
See how are moving bots there...
Hint:
In order to figure if that desirability works, put a log inside or Broadcast a message on screen...
You have posted a code with a pickup and desirability, I don't get what is that hard to put a log in that pickup. Yeah, a map heavy loaded with pickups and with a bunch of Bots becomes server-intensive as long as Bot is aggressive doing a lot of queries here and there. Did you see Burguer map ? THERE I used logs to see how much Bot likes a burguer and when does it like that. In that case is shown how to manipulate Bot - yes, this is doable in non team-games based on pickups, fake pickups so to speak done just for distraction.
Trivia: Even if pickup grows desirability at extremes, if map is bad pathed Bot will never deal with that pickup, so testing is... sensitive, it do required pathing knowledge as well because these desirability things are tested a lot when Bot is in "Roaming".
Why do you think I drop away maps with 333 PathNodes in a small stupid room and similar ? That's a featured server damage, not mapping. I like maps with Bot support but falling into insanity is not my goal at this point.
sektor2111
Perhaps you would be more comfortable to communicate by mail? (gadavre@mail.ru)???
I found A.I. error in the UnrealTournament.log, but I can't fix it myself. However, I want to lay out my mod SmartBomb on this site. Please help!
Spoiler
This error does not appear if the Bot is given a weapon by default (ImpactHammer). But weapons should not be in my Мod at all. And I removed all the weapons through the function bool CheckReplacement(Actor Other, out byte bSuperRelevant)
Last edited by Gadavre on Mon Oct 16, 2017 6:44 pm, edited 1 time in total.
Posting 1)
NO, is about desirability function - that is called when Bots are roaming. By placing logs inside them you can figure how active is a pickup in a map even in game it looks like is sitting down there doing nothing.
Bot has native engine support in roaming through FindBestInventoryPath. That thing can be used by any pawn - implemented. As result I could made that DM tester tool which called (less inspired Botyman), if in v1 there a not many features and V2 was using a bad dependent code, at least V3 is relevant for my latest toys - this is other discussion. More phrases before to be taken here as spam are doable in some chat (HoF uses a chat in main page, IRC, skype, etc.) E-Mails are too slow. On, Skype I have the same ID - you can catch me there from time to time and those are restricted, I'm not using private term because are not that private as people are thinking... I see that I can understand your English, so I'm not disturbed about communication - G00gle translations might brush things as well...
Posting2)
That roaming is indeed a bit complex, but not a rocket science, my rules are clear anything accessed must be in brackets under a condition IF that thing exist else... you can have even more bad turns.
If you want to share your "pickdestination" here in a spoiler probably others will want to read and learn some stuff as well, it might be helpful - just saying..
sektor2111 wrote:
Posting2)
That roaming is indeed a bit complex, but not a rocket science, my rules are clear anything accessed must be in brackets under a condition IF that thing exist else... you can have even more bad turns.