MH-TheFifthVortex

Tutorials and discussions about Mapping - Introduce your own ones!
Buggie
Godlike
Posts: 2698
Joined: Sat Mar 21, 2020 5:32 am

Re: MH-TheFifthVortex

Post by Buggie »

sektor2111 wrote: Thu May 06, 2021 11:33 pm my edits and my paths are working exactly as they are, yes, more or less helped by UScript executed by the same Engine.
If you say so, why your paths not work at start locations? (on other places too, but let's watch only start for simplicity)

It is look good, manually crafted, logical, beautiful, all very nice, except one little tine problem - its not work.
Bot not use it. I suppose nobody not able use its at all. IDK why.
scr_1620342526.png
scr_1620342526.png (9.68 KiB) Viewed 701 times
scr_1620342569.png
There latest Beta (not finished):
https://github.com/OldUnreal/UnrealTour ... a19_10.zip

Bot not able reach weapons. On respawn it just wandering. Look like network not exists at all for him.

Also test commands "rememberspot" and "showpath" fail all time.
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: MH-TheFifthVortex

Post by sektor2111 »

Because of what you do in UE1 that's why. Rip out primary area in a smaller map and it will work. I know already another "big map" where the guy combined SP episodes making DevPath to stop working after primary area/episode. This way won't work not even in beta200. All Episodes separated were working perfectly - NOT COMBINED and NEVER COMBINED. This is not how to Port a SP story into MH. Even if I do the best ever paths engine discards all due to seek cycles taking ages. You made that "mutate draw 6" now you can see what's the deal... You cannot boost what is hard-coded and never supposed to do more.

MH-GardenOfDeath has a well pathed version - it doesn't work in UT at all without XCGE, just like that - it's too big, that's why. The other trigger based version works. It's a paradox, UScript primitive and slow was capable to do more than C++ was capable to do :lol2: because this dev was poorly written since forever. Pawn could enter the network based on Distance check and "CanMoveTo" instead of a squared 640000 a$$ heading to 800 and devastating resources. Of course, here are more factors in account... also this reachable should not be unlimited or else it screws up more UT codes.

Did I say that they use a clock never shown in UScript ? Yes ? I was right.

Code: Select all

...
	clock(GetLevel()->FindPathCycles);
...
	unclock(GetLevel()->FindPathCycles);
	//debugf("Find path to time was %f", GetLevel()->FindPathCycles * MSecPerCycle);
If you look closer you'll figure where all clamps returning 0 - Null - None.
In forum there are topics like "Bots don't leave Spawn" Level titled shortly as CM4 known by cats as MH-CrystalMine4 and another insane CTF map where mapper went crazy because his map it's over UE1 boundaries and being surprised that devs are not working anymore. In CM4 DevPath doesn't respond in first area, it responds only after passing first tunnel. There is needed UScript control - which mapper finds as "dirty hack". When things are starting to work is "dirty", okay, let them clean to not work :mrgreen: .
I think I shared a GardenOfDeath version without too much DevPath but... it has Bot support... using "dirty hacks" which are working and nothing has been exploded. Perhaps someone smarter should develop a sort of UScript guider paths based moving DevPath into an Uscript state code and guiding pawn somewhere at 1100 UU ahead slowly and smoother instead of "PathCycles" laggers.

Maybe you will end doing what Higor did - replacing trash with another XXI thing - like that "UCC Compress" which in 2021 is faster than lightning.
Buggie
Godlike
Posts: 2698
Joined: Sat Mar 21, 2020 5:32 am

Re: MH-TheFifthVortex

Post by Buggie »

sektor2111 wrote: Fri May 07, 2021 8:24 am Did I say that they use a clock never shown in UScript ? Yes ? I was right.
Just a counter for show in output STAT GLOBAL command.

Code: Select all

void ULevel::GetStats( char* Result )
{
	guard(ULevel::GetStats);
	appSprintf
	(
		Result,
		"Script=%05.1f Actor=%04.1f Path=%04.1f See=%04.1f Spawn=%04.1f Audio=%04.1f Un=%04.1f Move=%04.1f (%i) Net=%04.1f",
		GSecondsPerCycle*1000 * GScriptCycles,
		GSecondsPerCycle*1000 * ActorTickCycles,
		GSecondsPerCycle*1000 * FindPathCycles,
		GSecondsPerCycle*1000 * SeePlayer,
		GSecondsPerCycle*1000 * Spawning,
		GSecondsPerCycle*1000 * AudioTickCycles,
		GSecondsPerCycle*1000 * Unused,
		GSecondsPerCycle*1000 * MoveCycles,
		NumMoves,
		GSecondsPerCycle*1000 * NetTickCycles
	);
	unguard;
}
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: MH-TheFifthVortex

Post by sektor2111 »

Then I'll try to capture the response of command for figuring when DevPath stops working. I might try to clock it with XC_Core.
Buggie
Godlike
Posts: 2698
Joined: Sat Mar 21, 2020 5:32 am

Re: MH-TheFifthVortex

Post by Buggie »

sektor2111 wrote: Fri May 07, 2021 12:33 pm Then I'll try to capture the response of command for figuring when DevPath stops working. I might try to clock it with XC_Core.
Cropped version here: https://github.com/OldUnreal/UnrealTour ... issues/389
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: MH-TheFifthVortex

Post by sektor2111 »

Reconfiguration.
I'll go to a map with two zones: One operational and one rammed.
I'll compare Time response from good zone with the Time response from bad zone... Perhaps these values are not helping. If map is over-charged it's just plain bad. Data acquired won't solve anything.
Buggie
Godlike
Posts: 2698
Joined: Sat Mar 21, 2020 5:32 am

Re: MH-TheFifthVortex

Post by Buggie »

There cropped version where all NP added to NP chain:
MH-TheFifthVortexBeta19_11_bug3.zip
(73.5 KiB) Downloaded 13 times
Bug still there.
--- EDIT ---
Another bugged version:
MH-TheFifthVortexBeta19_14_pathnode209.zip
(7.62 MiB) Downloaded 14 times
Paths not work.
But if you just delete PathNode209 - Paths start work.

Also I try on PathNode209 manually clear Path and upstreams, so paths in reachspecs but not listed in actor.
Not help.
Something weird going on native side.
Because I not see any difference between exists this actor in thousand miles of start area or not. All other stay same.
But with this actor paths not work.

But this is only there, where i delete most of NavigationPont. Now NP count is 41. On normal map state count of NP = 1329.
So I can not just delete this PathNode209 on real map, because this not solve bug. :mad2:
Buggie
Godlike
Posts: 2698
Joined: Sat Mar 21, 2020 5:32 am

Re: MH-TheFifthVortex

Post by Buggie »

As I find out, position matter. If I add to level PathNodes which not even in NP chain, then paths can stop work.
If added PN on edge then paths stop work from wider distance rather than before.
Look like some variable checked for below threshold overflowed and algo think it is end.
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: MH-TheFifthVortex

Post by sektor2111 »

Buggie wrote: Sat May 08, 2021 10:35 am If I add to level PathNodes which not even in NP chain, then paths can stop work.
Finding paths is based on NavigationPointlist, like more things from UT. However, they said that some of these "variables" are constants - which is plain stupid, so to speak this chain would be configured only at C++ Level - I don't get what was their problem anyway. I demonstrated since 2020 that this chain can be linked/unlinked/rebuild/edited in UScript without having any issue and even creating new connections with server-side C++ support, applying patches dependent on run-time factors (gravity, game-speed, etc) - because in Editor physics are not the same as in run-time and you might have more capabilities in run-time or adjusting these. But... if these are constants with any matter and we must stay in this stage 100 years, we can say good night Development and Creativity and we can rest in amoeba stage living with only what Editor does for reasons having zero logic.

Sometimes I'm sitting down talking to myself:
- they say about updating D3D drivers, OpenGL drivers;
- they talk about updating Audio drivers;
- they speak about changing default UTConsole;
- they are telling things about new game browsers;
- they pointed new demo-record drivers;
- they are pointing all sort of 'updates'...
BUT nobody and 'absolutly' nobody is talking about a replacement/enhancement of DevPath drivers which for me looks hilarious in all the way. Either way these 'constants' should be passed with new compiling support for a bit more advanced developers - nobody talks about these :wth: .
We must stay original for future 'automated amoeba builds'. I never knew that a map it's not done for being played perfectly as main purpose, properly tuned, but it's done for being edited in "fixed" versions, like this is the master purpose of a map not for run-time and for game-play. An Automated Script will never be winner in a competition with human sensors, and trying harder to make hard-coded primitive things to work to me doesn't make any sense.

From my poorly math and physics knowledge, when you have a rat-hole, don't try to push a cow inside, otherwise you'll get some results as follows: 1 - Cow will die pressurized; 2 - Wall will get broken destroying poor rat's house; 3 - Your arms might get broken trying to push the cow with external support pushing you.

When these devs are not working beyond their boundaries you have to change boundaries or forget what you want. Due to my primitive math experience, I decided to no longer use maps over 3000 specs because This Is what Engine has and not 12000 or 800000, or anything like that I as can see here and there through forum and it's called 'mapping'. By simply following UE1 rules without going over any boundary I got a ++ at stability and I'm not joking.

Several DevPath Notes of mine:
- A Node for navigation purpose must be in chain;
- reachspecs are not only in Paths array, they need to be in upStreamPaths in other side, delete all upstreampaths in a simple map and see what you get;
- finding something is based on a valid closer node and another valid closer node around seeker - if they are empty of specs data, no path will even be found - it's advisable that blind nodes to be HIGHER located from the ground base level;
- in a big space - common big uni-zoned maps, things are going almost nowhere - can work partially or they won't work at all - 800 entry range it's no longer 800 for some space reasons - remember that Skaarj problem which had to be moved, there weren't 800 UU, but lesser;
- I suspect that it might be a plus in performance if these are wrapped in certain order (search order maybe...) and not in steps triggering more internal cycles. It's why manual control and random specs placement might not be the best practice but it's heading to other advantages. I'm for these advantages.
Buggie
Godlike
Posts: 2698
Joined: Sat Mar 21, 2020 5:32 am

Re: MH-TheFifthVortex

Post by Buggie »

As I found, All NP outside NP chain linked to it, when game load map.
So if NP not in chain in UnrealEd, this is not mean same for runtime.

Also I make clean example where i when paths stop work and report about this on Github:
https://github.com/OldUnreal/UnrealTour ... -835267721

You can go on and continue yelling into void with 1000 words instead of speak few in right direction (github) - your choice.
But don't wonder if things not changed in next 10 years. Nobody can read your mind. So if you not report about issue, then issue not exists or not relevant by comparison with others.

If you not need such stuff - stop write about that everywhere (except github). All simple.

Also funny observation: UnrealEd draw all exists reachspecs simple iteration over list.
Navigation code rely on Paths, PrunedPaths, UpstreamPaths, but not use reachspecs list directly.

Return back to subject of topic:
I finally fixed map and able make paths work.
Can not say this make good, but this is different story.
Next Beta will show how much I pay for that.
Currently need fix another problem - push into MAX_POINTS limits.

90 000 points statically + 13 000 points in movers (checked by build separate map based on movers converted to brushes) = 103 000 points, but in game you got crash Points > 128 000 pretty fast.
There previous build - it work fine.
scr_1620490346.png
scr_1620490346.png (1.09 KiB) Viewed 587 times
There new build - it crashed with MAX_POINTS overflow.
scr_1620514345.png
scr_1620514345.png (1.09 KiB) Viewed 587 times
Visible difference is 500 static points, but...
Anyway I find way reduce points count, but this need a lot work.
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: MH-TheFifthVortex

Post by sektor2111 »

Buggie wrote: Sun May 09, 2021 10:23 am So if NP not in chain in UnrealEd, this is not mean same for runtime.
You have to light me here...
EDIT - DownProofs: because NavigationChain IT IS EXACTLY the same as in Editor.

This is your "map" DM-!!!!!test_paths2.unr
BugWontEverWork.PNG
BugWontEverWork.PNG (5.45 KiB) Viewed 585 times
I'm not sure if DevPath will work this way... but, if initial NavigationChain with ReachSpecs it's normal, result is normal too...
WhenConnectionsAreLogic.png
The rest of points from void won't do mainly anything as they are not connected in navigation area or in chained list. Bot was following nodes to Shield - plain UT 440.

I think I'm done with "Vortexing". My edits are normal at this point.

And for you not for GitHub I'll do a mutator for reporting navigation chain vs Total Navigationpoints. And NO, what is not chained it will stay out - in run-time too... Writing Mutator...

Edit: - Back from the lab (laughing a bit)
So let me destroy your story - I have enough experience here after all.

Code: Select all

class ChainHunt expands Mutator;

event PostBeginPlay()
{
	LogMyChain();
}

function LogMyChain()
{
	local NavigationPoint N;

	for ( N = Level.NavigationPointlist; N != None; N = N.nextNavigationpoint )
	{
		log ("Found"@N.Name$".",'NavChainHunter');
	}
	log ("_______________________________________________");
	N = None;

	foreach AllActors(class'NavigationPoint',N)
	{
		log ("Iterator search, found"@N.Name$".",'NodesHunter');
	}
}
Which is printing in RUN-TIME:

Code: Select all

NavChainHunter: Found InventorySpot856.
NavChainHunter: Found PlayerStart0.
NavChainHunter: Found PathNode231.
NavChainHunter: Found PathNode212.
ScriptLog: _______________________________________________
NodesHunter: Iterator search, found PathNode212.
NodesHunter: Iterator search, found PathNode231.
NodesHunter: Iterator search, found PlayerStart0.
NodesHunter: Iterator search, found InventorySpot856.
NodesHunter: Iterator search, found PathNode119.
NodesHunter: Iterator search, found PathNode187.
NodesHunter: Iterator search, found PathNode217.
NodesHunter: Iterator search, found PathNode202.
...
NodesHunter: Iterator search, found PathNode253.
NodesHunter: Iterator search, found PathNode254.
NodesHunter: Iterator search, found PathNode255.
I don't see any Magic connecting nodes in chain in RUN-TIME except my crazy toys and Editor. These are from your "bugged" DM map from GitHub. Why UT would be supposed to work with such things is a whole mystery for me... me one I don't have such issues and so no reasons to spam GitHub with "bugs" as long as I don't have bugs on my stage.
Get the Pistol stories killer.
ChainHunt.7z
(1 KiB) Downloaded 13 times
For completion with some knowledge base biography of mine. I have deducted and learned a lot of navigation things when I was writing BotyMan3 tester mutator and MHBotyMan..X series - EnemyTracker, CTFFlagTracker. Some of these I did not posted because certain navigationpoints from original UT can crash game due to fascinating "specialhandling" codes - which I have fixed too in my gaming repositories - nothing to say at GitHub.
Buggie
Godlike
Posts: 2698
Joined: Sat Mar 21, 2020 5:32 am

Re: MH-TheFifthVortex

Post by Buggie »

sektor2111 wrote: Sun May 09, 2021 10:27 am So let me destroy your story - I have enough experience here after all.
:rock:
sektor2111 wrote: Sun May 09, 2021 10:27 am Which is printing in RUN-TIME:

Code: Select all

ScriptLog: Add mutator ChainHunt.ChainHunt
NavChainHunter: Found PathNode255.
NavChainHunter: Found PathNode254.
[...]
NavChainHunter: Found InventorySpot856.
NavChainHunter: Found PlayerStart0.
NavChainHunter: Found PathNode231.
NavChainHunter: Found PathNode212.
ScriptLog: _______________________________________________
NodesHunter: Iterator search, found PathNode212.
NodesHunter: Iterator search, found PathNode231.
NodesHunter: Iterator search, found PlayerStart0.
NodesHunter: Iterator search, found InventorySpot856.
NodesHunter: Iterator search, found PathNode119.
[...]
NodesHunter: Iterator search, found PathNode253.
NodesHunter: Iterator search, found PathNode254.
NodesHunter: Iterator search, found PathNode255.
v469b :lol2:
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: MH-TheFifthVortex

Post by sektor2111 »

Wooow, now this is a good laugh for 469b - more like a mindless work. We are connecting in chain Empty navigation points without reachSpecs just to increase cycles when List is processed ? Lol performance "improvement"... More than that, they are outside, into void... Good luck spawning Players and navigating outside of map. Can you see now what's happening when Source-Code goes in wrong direction ? I was f@k!ng right... and not only me...
This is not a fix, it's a TroianHorse in Navigation assets. Why would have empty void nodes linked in chain when these are not concerning Start locations ?

Yep... :confused2: I will update my UT next century... These abominations of 469 are not having ANY baboon LOGIC. And this is not a compiler issue, ahah, it's what was causing wall lightning and other hilarious "business" which nobody with a sane mind and a normal logic has ever asked...

Why ? Simply because for a 469 game-server I need a Separate Special ServerActor (aiming only 469) for destroying these CRAPS added in UT, not codes :thudown: .
It would check the chain again and relinking chain with USED NavPoints and not Void Crap - and also taking evil points in account... and I need to know when this storm has to be fired for preventing lags... Yeah, thanks for "fixing" this.

Now, my friend I understand what issues were you facing... it was because of "updates". It's sad to work against a "patch" supposed to improve not for damaging...

I need now to say: Greetings, Buggie... Because I'll write actor mentioned crap destructor and navigation rebuild tool - probably some day I will need it. Or It doesn't worth doing anything as long as this is probably not the only thing slapped down...

History is repeating like a rotating wheel:
451 - needed servercrashfix because new bugs were brought in stage

once again
469 - need a navigation recovery toys due to new bugs brought in stage - empty void points linked and perhaps other funky things.

Each Touch of this game delivered new "stuff" more or less critical.

Edit - A sort of question: Do this feature include a bool option for being disabled if it does damage letting users to manage such sort of need ? Let me guess: No ! I hope I'm wrong but I doubt. Nodes useless from void without data and UnChained I think should be REMOVED not linked... either way such hack should include an option for being disabled - ahem, this is what I call a "dirty hack" not things which I do for Bots and they work - for years not from yesterday.
Buggie
Godlike
Posts: 2698
Joined: Sat Mar 21, 2020 5:32 am

Re: MH-TheFifthVortex

Post by Buggie »

Spawnpoint is too NavigationPoint. So NP can not be delete safely. IDK about any option about disable add all NP into chain.
Also possible exists bugs about that, or algo need all NP in chain for proper work now.

In general, all NP add in chain during usual build with normal UT, so if you mess with NP chain it is your problem because nobody make this thing a public contract. So you refer to implementation detail, not public API.
Red_Fist
Godlike
Posts: 2163
Joined: Sun Oct 05, 2008 3:31 am

Re: MH-TheFifthVortex

Post by Red_Fist »

" Bot not able reach weapons. On respawn it just wandering. Look like network not exists at all for him. "

When the map is really big the bots lose any idea of a goal.

So what I figured is connect a lift exit-center to connect nodes from the other sides of the maps. You would have to test it yourself. It's not that they need to follow the path, but just connect each far away section so they "know" it's a place on the bot network.

So if your map has seperate map chunks out in the BSP blank, connect them with a lift exit-center the way you want them to go through the map. Or if it's one giant map, connect some end area to the beginning area.

set Zero for extracost, I usually add like 8 or 16 to the "Z" axis.

If you test it like that I think you will see the change in how the bots act,, good or bad.
Binary Space Partitioning
Post Reply