CTF-XV-Hydro16 (v5)

Tutorials and discussions about Mapping - Introduce your own ones!
User avatar
OjitroC
Godlike
Posts: 3613
Joined: Sat Sep 12, 2015 8:46 pm

Re: CTF-XV-Hydro16 (v3)

Post by OjitroC »

EvilGrins wrote: Thu Mar 10, 2022 6:57 pm
OjitroC wrote: Thu Mar 10, 2022 1:20 pmThe map would obviously need some 'conversion' work to remove the monsters
Why remove them? Just shoot them.
Not my kind of MH map - too many high powered monsters - lots of WarNukingGround stuff amongst other things (which include 40 Alien Queens with 50K health) - so I have neither the time nor the inclination to actually play that map - now use it for something more akin to my taste (MonsterSpawn).
EvilGrins wrote: Thu Mar 10, 2022 6:57 pm
OjitroC wrote: Thu Mar 10, 2022 1:20 pmA very large map suitable for tanks and helis is MH-UM-Airbase
I can't find a download link for it and can't remember where I got it from so it's a bit academic.
It's there - http://80.82.222.16/REDIRECT/UZ/?sort=n&rev=1
Nice find!

Of the few ONS/VCTF maps for UT99 I would say Dreamus and Torlan are the most suited to tanks/helis - possibly also ExploCity - they do have some texture issues and one needs to have regard to Ferali's comments about the originator of the ONS mod (though I have no idea if he made those maps).
User avatar
Gustavo6046
Godlike
Posts: 1462
Joined: Mon Jun 01, 2015 7:08 pm
Personal rank: Resident Wallaby
Location: Porto Alegre, Brazil
Contact:

Re: CTF-XV-Hydro16 (v3)

Post by Gustavo6046 »

I have been working on an update to the map which greatly tones down on the vehicles, and focuses on a few other additions which may give a bit of an edge to infantry. As well as improved pathing.

It's gonna be my last attempt at doing something that doesn't instantly screw up the map in terms of playability and of appeasing the good people here. While it's true that the original doesn't need anything added on top of it, that doesn't mean all additoin is bad, just that there's a high bar for what constitutes a worthy addition.

(I had some reallly fancy brushwork added, but I had to remove it because it caused the BSP tree to explode into smithereens. Sad.)

Also, right now the upcoming v4 has a huge invisible wall in the middle area with the bridges. Heck.
"Everyone is an idea man. Everybody thinks they have a revolutionary new game concept that no one else has ever thought of. Having cool ideas will rarely get you anywhere in the games industry. You have to be able to implement your ideas or provide some useful skill. Never join a project whose idea man or leader has no obvious development skills. Never join a project that only has a web designer. You have your own ideas. Focus on them carefully and in small chunks and you will be able to develop cool projects."

Weapon of Destruction
User avatar
EvilGrins
Godlike
Posts: 9698
Joined: Thu Jun 30, 2011 8:12 pm
Personal rank: God of Fudge
Location: Palo Alto, CA
Contact:

Re: CTF-XV-Hydro16 (v3)

Post by EvilGrins »

OjitroC wrote: Thu Mar 10, 2022 8:46 pmtoo many high powered monsters - lots of WarNukingGround stuff amongst other things
Hey, you know me, I love unusually powerful monsters...
Image
OjitroC wrote: Thu Mar 10, 2022 1:20 pmNice find!
Yes, my Google-Fu is strong.
http://unreal-games.livejournal.com/
Image
medor wrote:Replace Skaarj with EvilGrins :mrgreen:
Smilies · viewtopic.php?f=8&t=13758
User avatar
sektor2111
Godlike
Posts: 6410
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: CTF-XV-Hydro16 (v3)

Post by sektor2111 »

Back in topic... These sort of paths are just a guess work, I'm not having any curiosity about them.

Code: Select all

... //X pages
...
SpecMissing: Pruned Spec with index 4859 could not be found inside LiftExit45 . Trying to attach ReachSpec.
SpecAttached: Spec 4859 has been attached to LiftExit45 at position PrunedPaths[6].
SpecMissing: Pruned Spec with index 4860 could not be found inside LiftExit10 . Trying to attach ReachSpec.
SpecAttached: Spec 4860 has been attached to LiftExit10 at position PrunedPaths[1].
SpecMissing: Pruned Spec with index 4861 could not be found inside PathNode46 . Trying to attach ReachSpec.
SpecAttached: Spec 4861 has been attached to PathNode46 at position PrunedPaths[7].
SpecMissing: Pruned Spec with index 4862 could not be found inside InventorySpot2439 . Trying to attach ReachSpec.
SpecAttached: Spec 4862 has been attached to InventorySpot2439 at position PrunedPaths[1]
...
... //Y Pages
DeLocate: ReachSpec 3881 does not belongs to LiftExit1. It will be unreferenced.
DeLocate: ReachSpec 1595 does not belongs to LiftExit0. It will be unreferenced.
DeLocate: ReachSpec 1596 does not belongs to LiftExit0 as an upStreamPath. It will be unreferenced.
DeLocate: ReachSpec 2824 does not belongs to LiftExit0. It will be unreferenced.
DeLocate: ReachSpec 2825 does not belongs to LiftExit0 as an upStreamPath. It will be unreferenced.
DeLocate: ReachSpec 3859 does not belongs to FlagBase1. It will be unreferenced.
DeLocate: ReachSpec 3860 does not belongs to FlagBase1 as an upStreamPath. It will be unreferenced.
DeLocate: ReachSpec 3337 does not belongs to FlagBase0. It will be unreferenced.
DeLocate: ReachSpec 3338 does not belongs to FlagBase0 as an upStreamPath. It will be unreferenced.
DeLocate: ReachSpec 3777 does not belongs to FlagBase0. It will be unreferenced.
DeLocate: ReachSpec 3858 does not belongs to FlagBase0 as an upStreamPath. It will be unreferenced.
LostData: ________________________________________________________________
LostData: ReachSpecs missing from PrunedPaths[0-15] 	= 3517.
FixedWithSuccess: ReachSpecs successfully attached 	= 3517.
FixFailures: ReachSpecs attaching failures - probably no place = 0.
LostData: ________________________________________________________________
SpecTest: Testing and fixing specs took: 
	0.327605 seconds.
First of all PrunedPaths are PrunedPaths and not Paths, and they don't belong to upStreamPaths lists - and if you ask my opinion about them I'm finding PrunedPaths USELESS. Maps supporting DevPath are working normally without these and without VisNoReachPaths.
A complete CleanUp can be done in multiple steps or only one step by defragmenting all ReachSpecs, but... it's not like these are very needed. I'd rather prefer to build them more simple and more clean... Like here...
The_Hygro_3.PNG
User avatar
Gustavo6046
Godlike
Posts: 1462
Joined: Mon Jun 01, 2015 7:08 pm
Personal rank: Resident Wallaby
Location: Porto Alegre, Brazil
Contact:

Re: CTF-XV-Hydro16 (v3)

Post by Gustavo6046 »

I simply use XC_PathRebuild.

I assume the aerial paths can be used by helicopter bots (if not I'll remove the airborne pathnodes).

I didn't change much apart from moving and deleting some pathnodes; v4 will have much more path cleanup (manual!), as I already had done a couple days ago. Just doing a bit extra path cleanup today, and... a level-geometry related surprise soon enough... :)

Image

(The core philosophy right now is that paths should serve to connect areas, not to mesh every corner of them; and that PathNodes should only serve this purpose if there aren't other NavigationPoints, like inventory, doing that for you, or if paths without them are shitty.)


I don't know what you mean by PrunedPaths, though. I've never seen them. :(
"Everyone is an idea man. Everybody thinks they have a revolutionary new game concept that no one else has ever thought of. Having cool ideas will rarely get you anywhere in the games industry. You have to be able to implement your ideas or provide some useful skill. Never join a project whose idea man or leader has no obvious development skills. Never join a project that only has a web designer. You have your own ideas. Focus on them carefully and in small chunks and you will be able to develop cool projects."

Weapon of Destruction
User avatar
sektor2111
Godlike
Posts: 6410
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: CTF-XV-Hydro16 (v3)

Post by sektor2111 »

PrunedPaths can be seen only with DrawPaths mutator - IF ARE PLACED NORMALLY, Editor doesn't show them...
UnEdCam.cpp

Code: Select all

			// Draw all paths. //Sektor - EXCEPT PRUNED, LOL
			if( (Viewport->Actor->ShowFlags&SHOW_Paths) && Viewport->Actor->GetLevel()->ReachSpecs.Num() )
			{
				for( INT i=0; i<Viewport->Actor->GetLevel()->ReachSpecs.Num(); i++ )
				{
					FReachSpec& ReachSpec = Viewport->Actor->GetLevel()->ReachSpecs( i );
					if( ReachSpec.Start && ReachSpec.End && !ReachSpec.bPruned ) //Suuuure... all paths - Not today
					{
						Viewport->RenDev->Draw3DLine
						(
							Frame,
							ReachSpec.MonsterPath() ? C_GroundHighlight.Plane() : C_ActorArrow.Plane(),
							LINE_DepthCued,
							ReachSpec.Start->Location, 
							ReachSpec.End->Location
						);
					}
				}
			}

And then... ReachSpecs are removed from Paths and UpStreamPaths when are Pruned and moved to PrunedPaths lists which ARE NOT DRAWN due to original decisions which I really don't get what was all about these "secret" paths.

Code: Select all

int FPathBuilder::Prune(AActor *Node)
{
	guard(FPathBuilder::Prune);
	
	int pruned = 0;
	ANavigationPoint* NavNode = (ANavigationPoint *)Node;

	int n,j;
	FReachSpec alternatePath, straightPath, part1, part2;
	int i=0;
	while ( (i<16) && (NavNode->upstreamPaths[i] != -1) )
	{
		part1 = Level->ReachSpecs(NavNode->upstreamPaths[i]);
		n=0;
		while ( (n<16) && (NavNode->Paths[n] != -1) )
		{
			part2 = Level->ReachSpecs(NavNode->Paths[n]);
			INT straightPathIndex = specFor(part1.Start, part2.End);
			if (straightPathIndex != -1)
			{
				straightPath = Level->ReachSpecs(straightPathIndex);
				alternatePath = part1 + part2;
				if ( ((float)straightPath.distance * 1.2 >= (float)alternatePath.distance) 
					&& ((alternatePath <= straightPath) || straightPath.BotOnlyPath() 
						|| alternatePath.MonsterPath()) )
				{
					//prune straightpath
					pruned++;
					j=0;
					ANavigationPoint* StartNode = (ANavigationPoint *)(straightPath.Start);
					ANavigationPoint* EndNode = (ANavigationPoint *)(straightPath.End);
					//debugf("Prune reachspec %d from %s to %s because of %s", straightPathIndex,
					//	StartNode->GetName(), EndNode->GetName(), NavNode->GetName()); 
					while ( (j<15) && (StartNode->Paths[j] != straightPathIndex) )
						j++;
					if ( StartNode->Paths[j] == straightPathIndex )
					{
						while ( (j<15) && (StartNode->Paths[j] != -1) )
						{
							StartNode->Paths[j] = StartNode->Paths[j+1];
							j++;
						}
						StartNode->Paths[15] = -1;
					}

					j=0;
					while ( (j<15) && (StartNode->PrunedPaths[j] != -1) )
						j++;
					StartNode->PrunedPaths[j] = straightPathIndex;
					Level->ReachSpecs(straightPathIndex).bPruned = 1;

					j=0;
					while ( (j<15) && (EndNode->upstreamPaths[j] != straightPathIndex) )
						j++;
					if ( EndNode->upstreamPaths[j] == straightPathIndex )
					{
						while ( (j<15) && (EndNode->upstreamPaths[j] != -1) )
						{
							EndNode->upstreamPaths[j] = EndNode->upstreamPaths[j+1]; //Relocating with forward Specs
							j++;
						}
						EndNode->upstreamPaths[15] = -1; //Last will be always -1
					}
					// Note that all specs remain in reachspec list and still referenced in PrunedPaths[]
					// but removed from visible Navigation graph:
				}
			}
			n++;
		}
		i++;
	}

	return pruned;
	unguard;
}
Inventories are another subject here and they definitely are linked with related InventorySpot. But ReachSpecs here are messed up.

Notes: XC_EditorAdds from XC v25a is targeting UT469a, it will not deal normally in UT469b. For UT469b XC used must be XC v25b. Here in UT469b I did not investigate many details because... that Editor is crashing often during inspection of various lists elements and toggling ViewPorts, which doesn't happen for me in any 436 440 version not having these extra (bugged) features.

Shortly, XC builder version which you were using is not for that UT Editor version or... it's bugged.

Edit: Let's look at something - PlayerStart24 vs VehicleExit0 (What does that Node ?)

Code: Select all

InputDescribeSpec: Reading ReachSpec 3514
Out: Paths[5]-Index 3514
Start=	PlayerStart24
End=	VehicleExit0
Radius=70
Height=70
Flags=9
Dist=792 UU
Pruned=1.
This path named 3514 cannot be seen but... is there and is not in PrunedPaths, it is placed in Paths from PlayerStart24 and upStreamPaths from VehicleExit0 which is not what Engine was intended to do and I don't know why was placed this way. I'm not sure if I need to setup a fix for such a scenario as long as map looks really overloaded and paths can be simplified and created correctly from byte zero.
Last edited by sektor2111 on Sat Mar 12, 2022 10:58 am, edited 3 times in total.
User avatar
Gustavo6046
Godlike
Posts: 1462
Joined: Mon Jun 01, 2015 7:08 pm
Personal rank: Resident Wallaby
Location: Porto Alegre, Brazil
Contact:

Re: CTF-XV-Hydro16 (v3)

Post by Gustavo6046 »

I'm using the UT Editor from v469b, and XC_Engine 25b. So it cannot be that.

Maybe we should call @Higor
"Everyone is an idea man. Everybody thinks they have a revolutionary new game concept that no one else has ever thought of. Having cool ideas will rarely get you anywhere in the games industry. You have to be able to implement your ideas or provide some useful skill. Never join a project whose idea man or leader has no obvious development skills. Never join a project that only has a web designer. You have your own ideas. Focus on them carefully and in small chunks and you will be able to develop cool projects."

Weapon of Destruction
User avatar
sektor2111
Godlike
Posts: 6410
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: CTF-XV-Hydro16 (v3)

Post by sektor2111 »

Okay... Let me try:
Higor ! What's up with PrunedPaths ???
User avatar
Gustavo6046
Godlike
Posts: 1462
Joined: Mon Jun 01, 2015 7:08 pm
Personal rank: Resident Wallaby
Location: Porto Alegre, Brazil
Contact:

Re: CTF-XV-Hydro16 (v4)

Post by Gustavo6046 »

Updated download link with new version! It's quite changed, in a few ways, but I'll keep most of it a surprise...

(I hope I've redeemed myself Sektor by cutting down on the pointless pathnodes... and not redeemed in the Redeemer way...)

sektor2111 wrote: Sat Mar 12, 2022 10:55 am Okay... Let me try:
Higor ! What's up with PrunedPaths ???
Higor! Higor? Are you listening?!!

Damn, I think we need to shout louder or something. :p
"Everyone is an idea man. Everybody thinks they have a revolutionary new game concept that no one else has ever thought of. Having cool ideas will rarely get you anywhere in the games industry. You have to be able to implement your ideas or provide some useful skill. Never join a project whose idea man or leader has no obvious development skills. Never join a project that only has a web designer. You have your own ideas. Focus on them carefully and in small chunks and you will be able to develop cool projects."

Weapon of Destruction
User avatar
sektor2111
Godlike
Posts: 6410
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: CTF-XV-Hydro16 (v4)

Post by sektor2111 »

Okay, now let's see The Other Bugs not related to original devs but mapping related... Some "Brandon" was having issues (I guess...).
Drop an eye over this LiftExit49... I'm speechless...
Hygro_Dry.PNG
I don't think Bots are moving through walls... and neither through vehicles...
Last edited by sektor2111 on Sat Mar 12, 2022 12:24 pm, edited 1 time in total.
User avatar
esnesi
Godlike
Posts: 1018
Joined: Mon Aug 31, 2015 12:58 pm
Personal rank: Dialed in.

Re: CTF-XV-Hydro16 (v4)

Post by esnesi »

I'd wish topics about maps were about the map them self, instead of 75% or even more goes about bot-pathing.
99% of the mappers that release maps over at this forum, release them for multiplayer.
Instead they are getting talked down, or simple ignored because they don't contain paths for bots.

*ontopic ;)
Not a flexible map for XV.
Reasons are the same which are mentioned already.
Size > Width of paths.


Oasis / Bloodgulch are the maps that will flow best on online-games with XV.
Seeing these maps give the room to chase eachother, gaining eachother, resulting in action gameplay.
Maps like this one, or CTF-XV-U are maybe best suited for a 1v1 game.
User avatar
sektor2111
Godlike
Posts: 6410
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: CTF-XV-Hydro16 (v4)

Post by sektor2111 »

All discussion is taken from map (v3) - nothing off-topic.

This Map and XVehicles = Not the best ever match.
Visible miss-balance: Some ripper ammo in one base it's on the ground, in the other base it's needed some jumping...
Zones:

Code: Select all

ZoningChecker: ZoneInfo1 and ZoneInfo9 share the same zone
ZoningChecker: ZoneInfo2 and ZoneInfo3 share the same zone
Because of the two brushes which I was pointing a few posts ago.

Several PlayerStart actors are facing walls causing a delay in reactions.

And... LEVEL VALIDATE Mythological command - somehow imported (like a functional clone) to UScript told me these:

Code: Select all

LEVELVALIDATE: Level Validation:
PlayerStart: Checking PlayerStart0
PlayerStart: Checking PlayerStart2
PlayerStart: Warning, potential unusable PlayerStart2
PlayerStart: Checking PlayerStart3
PlayerStart: Warning, potential unusable PlayerStart3
...
...
Null: Found Uncompiled UT_WarHeadAmmo1.
Null: Found Uncompiled UT_WarHeadAmmo2.
LEVELVALIDATE: Error: 2 PlayerStart actors don't fit!
NullCodes: Found 2 junk actors that have not been compiled.
LEVELVALIDATE: Validation done...
More stuff from Buggie:

Code: Select all

ScriptLog: Actors with DrawType = DT_Mesh invisible in game and editor if Mesh = None:
ScriptLog: UT_WarHeadAmmo1
ScriptLog: UT_WarHeadAmmo2
ScriptLog: ZoneInfo which share zone with another ZoneInfo:
ScriptLog: ZoneInfo3 placed in zone of ZoneInfo2
ScriptLog: ZoneInfo9 placed in zone of ZoneInfo1
ScriptLog: Light with bDynamicLight: 1
ScriptLog: ZoneInfo with AmbientBirghtness == 0:
ScriptLog: LevelInfo0
ScriptLog: ZoneInfo1
ScriptLog: ZoneInfo2
ScriptLog: ZoneInfo3
ScriptLog: SlimeZone0
ScriptLog: ZoneInfo4
ScriptLog: ZoneInfo5
ScriptLog: ZoneInfo6
ScriptLog: ZoneInfo9
ScriptLog: ZoneInfo10
ScriptLog: ZoneInfo13
ScriptLog: PathNode too close:
ScriptLog: VehicleExit4 WalkPathNode11 71.554176
ScriptLog: WalkPathNode7 InventorySpot2458 64.365021
ScriptLog: WalkPathNode11 VehicleExit4 71.554176
ScriptLog: PathNode160 InventorySpot2379 57.672432
ScriptLog: PathNode151 TranslocStart8 86.981110
ScriptLog: PathNode176 LiftExit50 63.510654
ScriptLog: PathNode183 LiftExit39 70.135307
I think these are ON-Topic :?
User avatar
OjitroC
Godlike
Posts: 3613
Joined: Sat Sep 12, 2015 8:46 pm

Re: CTF-XV-Hydro16 (v4)

Post by OjitroC »

An example of a map that is, in my view, more suited to tanks - the Infiltration map Road to Kandahar
RoadtoKandahar1.jpg
RoadtoKandahar.jpg
It's larger than one would gather from these screenshots with plenty of space to move around between the rock outcrops and trees - it has the added bonus of bunkers in some of the larger rock outcrops plus airstrikes (should one want those) and overhead jets and helis.
User avatar
Gustavo6046
Godlike
Posts: 1462
Joined: Mon Jun 01, 2015 7:08 pm
Personal rank: Resident Wallaby
Location: Porto Alegre, Brazil
Contact:

Re: CTF-XV-Hydro16 (v4)

Post by Gustavo6046 »

There is also DM-BeachHead, but that one has broken player starts (just like this one apparently does, or at least used to!) so bots often take forever to actually join.

Automatically merged

Some of these issues were already in the original Epic level (e.g. the ripper ammo imbalance, which I'll "fix" anyway). Also, the zones are already fixed in v4.

I will fix the immured PlayerStarts.

There are no UT_WarHeadAmmo actors found by "Search for Actors". Those used to be a MyLevel subclass of WarHeadAmmo which fixed some things, but they didn't work, plus I changed the level layout and the redeemer placement since anyway. The redeemer used to be easy to access, because of the presence of stronger tanks; since v4 it's a little tucked away, see if you can find it. :)

As for the NavigationPoints that stick very close together, there should only be LiftExits/TranslocStarts very close to each other now, and that's by design. :)
"Everyone is an idea man. Everybody thinks they have a revolutionary new game concept that no one else has ever thought of. Having cool ideas will rarely get you anywhere in the games industry. You have to be able to implement your ideas or provide some useful skill. Never join a project whose idea man or leader has no obvious development skills. Never join a project that only has a web designer. You have your own ideas. Focus on them carefully and in small chunks and you will be able to develop cool projects."

Weapon of Destruction
User avatar
sektor2111
Godlike
Posts: 6410
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: CTF-XV-Hydro16 (v4)

Post by sektor2111 »

Gustavo6046 wrote: Sun Mar 13, 2022 6:47 am There are no UT_WarHeadAmmo actors found by "Search for Actors".
False, if they are not drawn due to their properties this doesn't means that they are not there. Two builders reported them and are invalid - uncompiled.
If you need help for finding an actor in a map I'll be happy to help...
Hygro_3.PNG
Next one:
DM-BeachHead which I found looks like is not exactly an UT map, just hosted as UT map...

Code: Select all

Warning: Failed to load 'Invasion': Can't find BoolProperty in file 'BoolProperty Engine.SavedMove.bSent'
Warning: Failed to load 'D:\Editor\UnrealTournament\Maps\DM-BeachHead.unr': Can't find BoolProperty in file 'BoolProperty Engine.SavedMove.bSent'
Warning: Failed loading package: Can't find BoolProperty in file 'BoolProperty Engine.SavedMove.bSent'
Warning: Failed loading package: Can't find BoolProperty in file 'BoolProperty Engine.SavedMove.bSent'
Yeah, Engine.SavedMove.bSent, I don't have such things over here...
Post Reply