For direct access use https://forums.oldunreal.com
It's been quite a while since oldunreal had an overhaul, but we are moving to another server which require some updates and changes. The biggest change is the migration of our old reliable YaBB forum to phpBB. This system expects you to login with your username and old password known from YaBB.
If you experience any problems there is also the usual "password forgotten" function. Don't forget to clear your browser cache!
If you have any further concerns feel free to contact me: Smirftsch@oldunreal.com

Nalis not teleporting away at higher framerates

Unreal Unreal and more Unreal
BSzili
Posts: 1
Joined: Fri Sep 12, 2025 8:45 pm

Nalis not teleporting away at higher framerates

Post by BSzili »

I apologize if this has been discussed before, I tried searching for a few keywords an nothing related came up in the first dozen or so pages :)
Playing with Epic's original patches I noticed that the Nalis never seem to teleport away, they are just stuck meditating forever. I vividly remember that eerie teleportation sound from back when I first played Unreal using the software renderer, so I was wondering what's going on. Then I found a someone suggesting that it's related to the framerate. I limited my fps o 30 and whoosh, the Nali teleported right away as I loaded my save. What gives?

I had to find out so I peeked into Nali.uc, and found the Tick function of the FadeOut state:

Code: Select all

	function Tick(float DeltaTime)
	{
		local int NewFatness; 

		if ( !bFading )
		{
			NewFatness = fatness + 50 * DeltaTime; // this is the timer for the teleportation
			bFading = ( NewFatness > 160 );
		}
		else if ( Style == STY_Translucent )
		{
			ScaleGlow -= 3 * DeltaTime;
			if ( ScaleGlow < 0.3 )
			{
				PlaySound(sound'Teleport1',, 2.0);
				Destroy();
			}
			return;
		}
		else
		{
			NewFatness = fatness - 100 * DeltaTime;
			if ( NewFatness < 80 )
			{
				bUnlit = true;
				ScaleGlow = 2.0;
				Style = STY_Translucent;
			}
		}

		fatness = Clamp(NewFatness, 0, 255);
	}
It looks fine on the surface, the delta time is taken into account too, but then I realized the NewFatness counter is an int, so the minimum increment is 1.
E.g. If the game runs as 60 fps then this is going to happen:

Code: Select all

DeltaTime = 1 / 60 = ~0,0167
50 * 0,0167 = 0,8333 which is less than 1
This means that if the game runs faster than 50 fps NewFatness will never increase and the teleportation won't finish. The Queen has a similar logic for the teleportation, but it uses an increment value of 100, so in theory you are safe for up to a 100 fps.

I hope this will be interesting to someone besides me, I just let this out of my system ;D

Return to “Unreal General Forum”