PathsDebug
-
- Godlike
- Posts: 3006
- Joined: Sat Mar 21, 2020 5:32 am
PathsDebug
Simple tool for debug Navigationt Network by trace paths between two actors
Usage:
1. Open in UnrealEd v469b PathsDebug.u
2. Use new button appear as brush builder.
You need set Target and direction of show path.
Select Target actor and press build.
Now select other actor and press build for show path to/from Target.
If you need change Target use reset option.
Or as usuaul (v436):
Add it to EditPackages.
Install:
unpack into System
Usage:
1. Open in UnrealEd v469b PathsDebug.u
2. Use new button appear as brush builder.
You need set Target and direction of show path.
Select Target actor and press build.
Now select other actor and press build for show path to/from Target.
If you need change Target use reset option.
Or as usuaul (v436):
Add it to EditPackages.
Install:
unpack into System
You do not have the required permissions to view the files attached to this post.
Last edited by Buggie on Sat Aug 12, 2023 8:56 pm, edited 5 times in total.
-
- Adept
- Posts: 344
- Joined: Fri Nov 06, 2015 10:12 am
- Personal rank: Curious
- Location: St. Cloud, Florida
Re: PathsDebug
Oh this is really nice! Will help out with doing rough tests on paths for maps.
"Woah what?! I wish I was recording that...."
-
- Godlike
- Posts: 6433
- Joined: Sun May 09, 2010 6:15 pm
- Location: On the roof.
Re: PathsDebug
Very interesting but there is a simple problem. Paths concerning "Blue Paths" are available but not all Paths. There are spots connected which are reporting a negative result. In game they are working. Solution is applying multiple levels - Bot Size more exactly and results are going positive...
Snippet...
Report:
And route went visible.
Snippet...
Code: Select all
Scout.FindPathToward(A);
if (Scout.RouteCache[0] == None)
{
log ("Shrink at Bot Size");
Scout.SetCollisionSize(20,40);
Scout.FindPathToward(A);
}
if (Scout.RouteCache[0] == None)
{
BadParameters("Scout not able find path from" @ B.Name @ "to" @ A.Name);
}
Code: Select all
ScriptLog: Shrink at Bot Size
So, I see what I failed in my attempt to check paths - perhaps I need to do some changes to my Paths Builder...
You do not have the required permissions to view the files attached to this post.
-
- Godlike
- Posts: 3006
- Joined: Sat Mar 21, 2020 5:32 am
Re: PathsDebug
Small update for add different sizes to scout which try find path:
Update in the first post: viewtopic.php?f=5&t=15106
Update in the first post: viewtopic.php?f=5&t=15106
You do not have the required permissions to view the files attached to this post.
-
- Experienced
- Posts: 88
- Joined: Thu Nov 03, 2011 5:12 am
Re: PathsDebug
Unfortunately this (FindPathToward?) does not appear to work for pathes leading through warp zones.
EDIT: Hmm, it appears that upon loading this .u some of the PathNodes on maps can vanish (The ones placed in warp zones e.g.)!
Hmm, I get the same when loading XC_PathsWorker.u manually.
I wonder if just something with my PathNodes is not right that they vanish upon just loading these .u file packages.
I updated my upload of my botpathing and location string tampering of the awesome DM-2001 by slartybartfast.
viewtopic.php?p=134896#p134896
Quite some nodes in warp zones vanish upon loading one of the mentioned .u files (and likely upon other things done in the editor which I still have to uncover).
EDIT: Hmm, it appears that upon loading this .u some of the PathNodes on maps can vanish (The ones placed in warp zones e.g.)!
Hmm, I get the same when loading XC_PathsWorker.u manually.
I wonder if just something with my PathNodes is not right that they vanish upon just loading these .u file packages.
I updated my upload of my botpathing and location string tampering of the awesome DM-2001 by slartybartfast.
viewtopic.php?p=134896#p134896
Quite some nodes in warp zones vanish upon loading one of the mentioned .u files (and likely upon other things done in the editor which I still have to uncover).
Last edited by a9902957@nepwk.com on Thu Mar 24, 2022 7:56 pm, edited 3 times in total.
-
- Godlike
- Posts: 3006
- Joined: Sat Mar 21, 2020 5:32 am
Re: PathsDebug
Fixed.
Update at first post: viewtopic.php?f=5&t=15106
Update at first post: viewtopic.php?f=5&t=15106
You do not have the required permissions to view the files attached to this post.
-
- Godlike
- Posts: 6433
- Joined: Sun May 09, 2010 6:15 pm
- Location: On the roof.
Re: PathsDebug
Notes/Observations:
I was using PathsDebug for testing a CTF stage. Definitely RouteCache points are mapped pointing a red line - only 16 points. I believe here we can have all Paths/Lines... by tracking "PreviousPath" whatever. I see that internal chain is being connected after a single check, loading these variables with data. As result, after testing paths I'm just closing Editor without re-saving map. I prefer to keep clean internal chain because this is dynamic after all and is being rebuild in run-time when a Bot wants to find a path to something.
These internals can be cleaned by calling "ClearPaths()" from Pawn/Scout/etc...
I was using PathsDebug for testing a CTF stage. Definitely RouteCache points are mapped pointing a red line - only 16 points. I believe here we can have all Paths/Lines... by tracking "PreviousPath" whatever. I see that internal chain is being connected after a single check, loading these variables with data. As result, after testing paths I'm just closing Editor without re-saving map. I prefer to keep clean internal chain because this is dynamic after all and is being rebuild in run-time when a Bot wants to find a path to something.
These internals can be cleaned by calling "ClearPaths()" from Pawn/Scout/etc...
-
- Godlike
- Posts: 3006
- Joined: Sat Mar 21, 2020 5:32 am
Re: PathsDebug
Small update:
- Clear paths at end.
- Draw full path, not only first 16 items,
Update in the first post: viewtopic.php?f=5&t=15106
- Clear paths at end.
- Draw full path, not only first 16 items,
Update in the first post: viewtopic.php?f=5&t=15106
-
- Godlike
- Posts: 6433
- Joined: Sun May 09, 2010 6:15 pm
- Location: On the roof.
Re: PathsDebug
Yep... I believe we can find out what's the goal for a Bot during Run-Time, and I think we can even calculate the total route length where Bot wants to move...
this way answering with a MindReader what Bot is thinking about... Last Node without "previousPath" is the closer node to the Target - any Target... so we can see why Bot wants certain direction and target-reason for moving there, even if goal is at 120 Paths Distance not only for 16 points .
Look what I did before your update...
Image...
this way answering with a MindReader what Bot is thinking about... Last Node without "previousPath" is the closer node to the Target - any Target... so we can see why Bot wants certain direction and target-reason for moving there, even if goal is at 120 Paths Distance not only for 16 points .
Look what I did before your update...
Code: Select all
if ( Scout.RouteCache[15] != None )
{
NPrev = Scout.RouteCache[15];
KeepTracking:
if ( NPrev.previousPath != None )
{
j++;
NPrev = NPrev.previousPath;
CM = NPrev.Spawn(class'ClipMarker');
if ( NPrev == A )
{
//Target Node is here or the closer node to the target
GoTo EndCycles;
}
}
else
{
GoTo EndCycles;
}
if ( j >= 984 )
{
log ("1000 Nodes Limit has been Reached...");
GoTo EndCycles;
}
GoTo KeepTracking;
}
EndCycles:
}
CM = None;
i = 0;
j = 0;
Scout.ClearPaths();
Scout.Destroy();
You do not have the required permissions to view the files attached to this post.
-
- Godlike
- Posts: 3006
- Joined: Sat Mar 21, 2020 5:32 am
Re: PathsDebug
Nope. You cannot. Just because network grid can be used by anyone. So if there few Pawns use it, it rewrite each time. And RouteCache is only way be sure path related to this pawn.
-
- Godlike
- Posts: 6433
- Joined: Sun May 09, 2010 6:15 pm
- Location: On the roof.
Re: PathsDebug
If it's used a Bot special for testing DM maps capable to report things in "PickDestination" I think results can be pretty much conclusive. Paths are changing for all Pawns but when is used ONE Bot or maybe two, changes are not that fast... they happen only when Seeking process takes place - less pawns = less cycles.
Anyway It looks like I got even total distance to the goal (using real distance not what reachSpecs are saying).
Definitely PathsDebug plugin builder is another useful thing for figuring where AlternatePaths are recommended to be in simple maps and what spots are preferred as shortest routes which of course won't match exactly run-time mode where Translocator and other "SpecialCost" things have a different word...
Anyway It looks like I got even total distance to the goal (using real distance not what reachSpecs are saying).
Definitely PathsDebug plugin builder is another useful thing for figuring where AlternatePaths are recommended to be in simple maps and what spots are preferred as shortest routes which of course won't match exactly run-time mode where Translocator and other "SpecialCost" things have a different word...
-
- Godlike
- Posts: 6433
- Joined: Sun May 09, 2010 6:15 pm
- Location: On the roof.
Re: PathsDebug
If you don't mind I've added a bit of "reporting" to the toy as long as... I'm loving it....
MH-LostInTimeV3
Testing Route from PlayerStart4 to MonsterWayPoint11 (logically valid) - ClipMarkers are no longer drawn at a moment, they are pointing road until somewhere in the fields. It looks like Editor is not adding too many ClipMarkers for some reason (perhaps logically hard-coded)...
Edit:
MH-LostInTimeV3
Testing Route from PlayerStart4 to MonsterWayPoint11 (logically valid) - ClipMarkers are no longer drawn at a moment, they are pointing road until somewhere in the fields. It looks like Editor is not adding too many ClipMarkers for some reason (perhaps logically hard-coded)...
By resuming test from last shown marker - route to MonsterWayPoint11 is no longer available... That's all with over-sized maps...
You do not have the required permissions to view the files attached to this post.
-
- Adept
- Posts: 344
- Joined: Fri Nov 06, 2015 10:12 am
- Personal rank: Curious
- Location: St. Cloud, Florida
Re: PathsDebug
is it possible to add the ability for the Tool to check If Transloc and jumpspot are working? I notice that the scout tends to ignore these special Navigation cases.
"Woah what?! I wish I was recording that...."
-
- Godlike
- Posts: 3006
- Joined: Sat Mar 21, 2020 5:32 am
Re: PathsDebug
On big maps nav network often stop work after total length of paths cross some limit.
https://github.com/OldUnreal/UnrealTour ... issues/389
Also in some cases paths not able use:
https://github.com/OldUnreal/UnrealTour ... issues/300
For me it use JumpSpot.
Anyway add some options for control scout:
var() bool bCanWalk;
var() bool bCanJump;
var() bool bCanSwim;
var() bool bCanFly;
var() bool bCanOpenDoors;
var() bool bCanDoSpecial;
var() bool bCanTeleport;
Updated at first post: viewtopic.php?f=5&t=15106
https://github.com/OldUnreal/UnrealTour ... issues/389
Also in some cases paths not able use:
https://github.com/OldUnreal/UnrealTour ... issues/300
Automatically merged
Anyway add some options for control scout:
var() bool bCanWalk;
var() bool bCanJump;
var() bool bCanSwim;
var() bool bCanFly;
var() bool bCanOpenDoors;
var() bool bCanDoSpecial;
var() bool bCanTeleport;
Updated at first post: viewtopic.php?f=5&t=15106
-
- Godlike
- Posts: 6433
- Joined: Sun May 09, 2010 6:15 pm
- Location: On the roof.
Re: PathsDebug
Scout is NOT a Bot...SilverSound wrote: ↑Thu Mar 31, 2022 5:52 am is it possible to add the ability for the Tool to check If Transloc and jumpspot are working? I notice that the scout tends to ignore these special Navigation cases.
Code: Select all
class JumpSpot extends LiftCenter;
...
event int SpecialCost(Pawn Seeker)
{
local Bot B;
B = Bot(Seeker);
if ( B == None ) //When seeker is not a Bot
return 100000000; //Passing through is forbidden
...
Here is needed a Tester Bot aiming Editor environment or else... combos won't be a subject for discussions.
Sektor was able to find paths through combos by using XC_Engine in run-time and replacing stock functions (rushed and poorly coded if you ask my opinion) with custom functions allowing flying Pawns to pass because... flying Pawn can move how wants without "tools".
Edit:
For some reason (perhaps environment calculations), a route is being found VIA TranslocDest in CTF-Coret, from FlagBase0 to PathNode47 or PathNode46. And then...
I think JumpSpot should work too if assets are discarding conditions from SpecialCost in Editor - good to know.
Here is the proof - using exactly TranslocDest.
You do not have the required permissions to view the files attached to this post.