Fog Zone

Discussions about UT99
Post Reply
hee
Experienced
Posts: 92
Joined: Wed Jan 16, 2019 2:11 am

Fog Zone

Post by hee »

A question for the sages of unreal.

I set up a fog zone. Checking the zone view it was clearly zoned out.......but no fog....as clear as a bell.

Has the fog zone been implemented...or am I daft?

Also the cloud zone was like a brick wall...instant death on entry (even as a ghost).
User avatar
UnrealGGecko
Godlike
Posts: 2900
Joined: Wed Feb 01, 2012 11:26 am
Personal rank: GEx the Gecko
Location: Kaunas, Lithuania
Contact:

Re: Fog Zone

Post by UnrealGGecko »

Make sure the VolumetricLighting option in your renderer settings is set to true, happened to me a few times :P
User avatar
Barbie
Godlike
Posts: 2792
Joined: Fri Sep 25, 2015 9:01 pm
Location: moved without proper hashing

Re: Fog Zone

Post by Barbie »

hee wrote: Sat Mar 28, 2020 5:17 amI set up a fog zone. Checking the zone view it was clearly zoned out.......but no fog....as clear as a bell.
As UnrealGGecko indicated, make sure that you can see fog at all. Open for example map MH-Shrak3 and check if you can see the fog on the ground.

hee wrote: Sat Mar 28, 2020 5:17 amAlso the cloud zone was like a brick wall...instant death on entry (even as a ghost).
IMO "cloud" zone has nothing to do with clouds or fog - that zone destroys everything, even spectators or flags (forever) in CTF games. So cloud zones should be used with care.
"Multiple exclamation marks," he went on, shaking his head, "are a sure sign of a diseased mind." --Terry Pratchett
hee
Experienced
Posts: 92
Joined: Wed Jan 16, 2019 2:11 am

Re: Fog Zone

Post by hee »

Thanks for the info. But considering the rendering overhead I have decided to solve the problem a different way.

@barbie

Just curious. If that is what a cloud zone does, why would anyone use it?
User avatar
Barbie
Godlike
Posts: 2792
Joined: Fri Sep 25, 2015 9:01 pm
Location: moved without proper hashing

Re: Fog Zone

Post by Barbie »

hee wrote: Sun Mar 29, 2020 4:05 amIf that is what a cloud zone does, why would anyone use it?
Probably it is intended to have projectiles shot into the sky vanishing instead of exploding at the map's border. This would also give the name a sense.
"Multiple exclamation marks," he went on, shaking his head, "are a sure sign of a diseased mind." --Terry Pratchett
User avatar
Feralidragon
Godlike
Posts: 5489
Joined: Wed Feb 27, 2008 6:24 pm
Personal rank: Work In Progress
Location: Liandri

Re: Fog Zone

Post by Feralidragon »

Barbie wrote: Sun Mar 29, 2020 1:36 pm
hee wrote: Sun Mar 29, 2020 4:05 amIf that is what a cloud zone does, why would anyone use it?
Probably it is intended to have projectiles shot into the sky vanishing instead of exploding at the map's border. This would also give the name a sense.
Yep, that's exactly why they exist.
The issue though is that they destroy everything, which is problematic for things like spectators, CTF flags, etc, but which can be fixed with a custom cloud zone excluding those from destruction.
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Fog Zone

Post by sektor2111 »

A CloudZone in a DM game is not exactly that critical, it will act like some "WhoPushedMe" mutator. Someone was shooting you, and you fall into CloudZone. This is counting as kill for the player which was shooting you - That's Why can be used. Why is happening this ? Because Pawn, ANY, in UT if takes damage from another Pawn in a non-team game usually is completing variable called ENEMY with pawn shooter. CloudZone takes in account this "Enemy" and it's calling the kill function accordingly. Of course the code doesn't check for actor entered what type is and what conditions must accomplish (visible, health, type of actor, ect) because it was pretty much poorly coded - somehow usual for 1999... I hope in future UT 469 this CloudZone will get some fix...
User avatar
Feralidragon
Godlike
Posts: 5489
Joined: Wed Feb 27, 2008 6:24 pm
Personal rank: Work In Progress
Location: Liandri

Re: Fog Zone

Post by Feralidragon »

sektor2111 wrote: Sun Mar 29, 2020 5:17 pm I hope in future UT 469 this CloudZone will get some fix...
To not clutter this thread, could you elaborate more on this, namely which and how actors should be handled in a CloudZone here?

The ones that come to my mind are the spectators and CTF flags for instance, but I am sure you have a lot more cases in mind (you and everyone else), so those may at least be addressed in v469 before its release, otherwise it may only make it much later on into v470 or so.
User avatar
OjitroC
Godlike
Posts: 3605
Joined: Sat Sep 12, 2015 8:46 pm

Re: Fog Zone

Post by OjitroC »

Feralidragon wrote: Sun Mar 29, 2020 9:51 pm To not clutter this thread, could you elaborate more on this, namely which and how actors should be handled in a CloudZone here?
Is that the right thread for this?

Decals are a problem - a CloudZone destroying Decals caused multiple crashes of Terraniux's MH-Mesopheric (a map entered in the 2018 mapping competition).
hee
Experienced
Posts: 92
Joined: Wed Jan 16, 2019 2:11 am

Re: Fog Zone

Post by hee »

Barbie wrote: Sun Mar 29, 2020 1:36 pm
hee wrote: Sun Mar 29, 2020 4:05 amIf that is what a cloud zone does, why would anyone use it?
Probably it is intended to have projectiles shot into the sky vanishing instead of exploding at the map's border. This would also give the name a sense.
Wow...that actually makes sense, but I am still not sure it is a good solution. There is a kind of intrinsic problem with maps. If you have any kind of open map simulating real terrain, it obviously cannot be infinite. There is always a border, so the question is how to handle it. If you had a cloud zone at the edge where a player could go, instead of merely being blocked, the player would die a gruesome death. If you had a good backdrop, the player might not even be aware of the border. If your map has jets, then it becomes even more problematic as even without a cloud zone, the border would be lethal. I suppose a cloud zone could be put specifically at the upper border of the map...but I don't know. I think if the upper border is high enough (and with open maps I have played it usually is) it would not have an effect on game play as you would be too busy to notice the ultimate fate of rocket misfires. But still...it is something to consider.
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Fog Zone

Post by sektor2111 »

Spectators, decals, generally pawns already dead, for more others a test map would show more. Else CloudZone On-Line it's not that evil because destruction ON-Line it's... slow - and server WILL NEVER attach a decal anywhere.

Hey... Wiki, see this:

Code: Select all

void ADecal::execAttachDecal( FFrame& Stack, RESULT_DECL )
{
	guard(ADecal::execAttachDecal);
	P_GET_FLOAT(TraceDistance);
	P_GET_VECTOR_OPTX(DecalDir,FVector(0,0,0));
	P_FINISH;

	*(INT*)Result = 0;
	if( !GetLevel()->Engine->Client || !GetLevel()->Engine->Client->Decals ) //Level out of client won't do anything
		return;

#ifndef NODECALS
	if( Region.Zone->bFogZone ) //in Fog we don't have them (- but we can see them if already there LOL)
		return;
	if(!Texture) //At least this was smart check - respect - you could do more elsewhere too
	{
		debugf(TEXT("AttachDecal: No Texture"));
		return;
	}
	MultiDecalLevel = Min<INT>(MultiDecalLevel, 4);
It's why a server doesn't crash with decals in a CloudZone - only at other funky stuff without sanity checks, and then I can play my CloudZoned maps 100 times with no single crash until I might die starved.

Edit:
Not only CloudZone, but every single code which any of you is doing and performing "Destroy()" should have a sanity check for bStatic bNoDelete stuff - forget Epic "strategic" codes. I could see in old mods this blind removal of actors which in fact are never removed. To not mention mappers forcing destructive decorations as bStatic and what they do when you shot them...

Learn to eliminate bad actors in a more domestic way if actor in destruction it's causing more or less damage:
Fake destruction below if needed in mods (- perhaps even before PREBEGINPLAY in new game-types):

Code: Select all

Actor.Disable('Touch');
Actor.Disable('UnTouch');
Actor.Disable('Trigger');
Actor.Disable('UnTrigger');
Actor.Disable('Timer');
Actor.Disable('Tick');
//Actor.GotoState(''); //if after Level.bStartup
//or
//.Actor.InitialState =''; //during Level.bStartUp
Actor.Event = '';
Actor.Tag = '';
Actor.AttachTag='';
//Actor.SetBase(None); //if done later after Level.bStartUp
Actor.SetCollision(False,False,False);
Actor.SetCollisionSize(0,0);
Actor.DrawType(DT_None);
//More Skin stuff ? Bla bla Multiskins ect
Actor.bHidden=True;
//Optional craps
if (NavigationPoint(Actor) == None)
{
Actor.bCollideWorld = False;
Actor.SetPhysics(PHYS_Falling); //Jeronimo !
}
Eg: MonsterWayPoint doing damage at function Touch out of MonsterHunt game - same as AssaultRandomizer which should never be deleted ?
Else CloudZone can be more smarter... not stacking actors but you cannot destroy a Mover entered in that zone LOL...
Post Reply