Re: Map's Navigation Network aka Bot Support - basics
Posted: Mon Jan 04, 2021 8:05 am
Another stuff good to be described as a basic thing for DeathMatch mapping it's about PlayerStarts - because these are navigation points after all.
Let's have an image about plain UT sorting PlayerStart actors available:It's about 16 pieces potential candidates... If you have more, they might be USELESS.
However... I think we can have more than 16 spawn locations using something... simple.
We can have a Tag for 16 Such actors and adding other 16 with a similar TAG but set as bEnabled = False. We can complete stage with a "TimedTrigger" using bRepeating = True at whatever interval or a "StochasticTrigger". Each time when Trigger is firing "Event" corresponding to this "Tag" it will switch a PlayerStarts row with the other one and then you can have at random 32 PlayerStarts by toggling firsts 16 Actors with next 16 Actors. Stage can be combined with dispatchers firing more events at different tags and disabling/enabling more that 16 PlayerStart actors, it's all about logic of triggering these...
In XC_Engine based games, these tweaks are not needed because this Engine uses a replacement taking in account a wider range of PlayerStart actors.
The UnderNote: A PlayerStart disabled or enabled will be still a part of navigation chain and if it has paths passing through it's good as a PathNode...
Let's have an image about plain UT sorting PlayerStart actors available:
Code: Select all
function NavigationPoint FindPlayerStart(Pawn Player, optional byte InTeam, optional string incomingName)
{
local PlayerStart Dest, Candidate[16], Best;
local float Score[16], BestScore, NextDist;
....
However... I think we can have more than 16 spawn locations using something... simple.
We can have a Tag for 16 Such actors and adding other 16 with a similar TAG but set as bEnabled = False. We can complete stage with a "TimedTrigger" using bRepeating = True at whatever interval or a "StochasticTrigger". Each time when Trigger is firing "Event" corresponding to this "Tag" it will switch a PlayerStarts row with the other one and then you can have at random 32 PlayerStarts by toggling firsts 16 Actors with next 16 Actors. Stage can be combined with dispatchers firing more events at different tags and disabling/enabling more that 16 PlayerStart actors, it's all about logic of triggering these...
In XC_Engine based games, these tweaks are not needed because this Engine uses a replacement taking in account a wider range of PlayerStart actors.
The UnderNote: A PlayerStart disabled or enabled will be still a part of navigation chain and if it has paths passing through it's good as a PathNode...