PDA

View Full Version : AirTime is back... optionally


Ravu al Hemio
2nd Sep 2004, 01:49 PM
Okay guys, I got angry when good ol' AirTime was replaced by StuntPoints. And what happens if Ravu al Hemio, AKA [~ANT~]B!7ch, gets angry? He either curses, kicks and spits around, or makes a nice change.

The attached package contains two files which should be unzipped into the UT2004\System directory. Once done, the gametype menu will contain an entry boldly stating UnWheel Big Air (T). When you activate this, you can pick a BigAir map and play it, just that instead of getting points through daredevil-like stunts, you get them based on Air Time (so set the Point Limit very high; you gain them pretty fast!!!).

If you want to run a server with this package, I suppose you know what to do: Add a line saying
ServerPackages=UnWheelBigAirTimed
under [Engine.GameEngine] in your UT2004.ini.

I have not modified (only read) any UnWheel class file, I just derived my classes from some.

Please read the Readme file for the legal mumbo-jumbo (not my fault if something bad happens, that it's a release candidate, etc). If you want to tell me about something, post in here or send an E-mail to the_white_timberwolf [at] yahoo.de.

Oh yeah: I hereby give permission to the members of the UnWheel Team to reuse any of the classes in the included package, UnWheelBigAirTimed.u, if appropriate credit is given ("Portions by Ondra Hosek, used under permission").

So, whaddaya think? (Constructive criticism please!)

MD5 signature of UnWheel BigAir Timed RC2.zip: 2DEE662F6B78F71C42618CB7BA990830

Shrimp
2nd Sep 2004, 02:13 PM
OH NO YOU LOOKED AT MY AWEFUL CODE!!!! AAAAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHHH!!!!!!!!

Ahem, yes, well, sorry if it's a mess, didn't have time to clean it up for UT2004: ECE :(

Nice, I'll give it a try later ;)

Ravu al Hemio
3rd Sep 2004, 12:30 AM
OH NO YOU LOOKED AT MY AWEFUL CODE!!!! AAAAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHHH!!!!!!!!
Awful? Hell no!!! It might not have the 2000 comments like Epic's has, but it is quite clearly built up. Besides: a game that is so much fun simply does NOT have crappy code. Maybe faulty, maybe a bit slow code, but not awful.

Ahem, yes, well, sorry if it's a mess, didn't have time to clean it up for UT2004: ECE :(
I don't complain. It's okay. Just that you shouldn't be so sure that only English-speaking people will play it. I think internationalisable strings might be a good idea for the next version; I might make some changes to the code in the future to slap "Checkpoint!" into an .INT file (because that's what they are for! Then I will make a German and maybe a Czech translation saying "Kontrollpunkt!" and "Záchytný bod!" respectively. Hard-coded strings in 'defaultproperties' sections don't matter, because they actually are used if there is no language file. So, you can slap "Checkpoint!" in the default props too.)

Nice, I'll give it a try later ;)
Thanks ;) I sure do need alphatesters!

EDIT: All right, here are the zipped classes with internationalisation support and the corresponding .INT file. Please merge the code, so that I can start translating into German for the next version! (You bet that Germany, Austria, Liechtenstein and Switzerland combined have a very large gamers community!)

The_Head
3rd Sep 2004, 10:24 AM
Just tested this mutater. its nice to have airtime back rather than points, points occasionally seem a bit random.
Any chance of when you are in the air you see the time goin up? I think the Beta 3 version of UnWheel did this.
Nice Job keep up the good work

Ravu al Hemio
3rd Sep 2004, 11:26 AM
Just tested this mutater. its nice to have airtime back rather than points, points occasionally seem a bit random.
Thanks for the positive feedback!
Any chance of when you are in the air you see the time goin up? I think the Beta 3 version of UnWheel did this.
Actually, I don't think it did, but I know just the way to activate it.
EDIT: It might take a bit longer than I though... :( Oh well, I'll see what will happen ;)
Nice Job keep up the good work
Will do ;)

ProjectX
3rd Sep 2004, 11:58 AM
Thanks for the positive feedback!

Actually, I don't think it did, but I know just the way to activate it.
EDIT: It might take a bit longer than I though... :( Oh well, I'll see what will happen ;)

Will do ;)

Sorry to dissappoint you man, this is great work, but you aren't the "first guy to make a mod for UnWheel". That would be JCBDigger who coded the "unrigid fixed camera" a significant improvement over the rigid fixed camera days of yore.

Ravu al Hemio
3rd Sep 2004, 01:12 PM
Sorry to dissappoint you man, this is great work, but you aren't the "first guy to make a mod for UnWheel". That would be JCBDigger who coded the "unrigid fixed camera" a significant improvement over the rigid fixed camera days of yore.

All right *changes sig*

Sorry, The_Head, but because nobody (more intelligent than me) ever wrote the code to update the airtime measurement dynamically and my brain is unfortunately completely useless when doing advanced logic thinking, it is going to be no-go.
*curses over his disfunctional logical thinking, lack of patience and catastrophic short-term memory, whilst ignoring the fact that he actually has a very good long-term memory, which is really useless. "And I am supposed to accomplish anything?!"*

(Oh yeah: when anybody can help me with this, just open the package and browse for Engine/Actor/UWAttachment/UWAirTimerSV. I have only commented out the faulty lines, so you can see what I still was able to do.)

The_Head
3rd Sep 2004, 01:21 PM
nobody ever wrote the code to update the airtime measurement dynamically and my brain is unfortunately completely useless when doing advanced logic thinking, it is going to be no-go.
Shame bout that. would have been nice. thanks for trying anyway

ProjectX
3rd Sep 2004, 01:36 PM
Shame bout that. would have been nice. thanks for trying anyway

It'd be something like the UT2004 clock except it only starts when you're in the air, and it goes up not down.

EDIT:

Hey Head, played around abit in your DM-Storm. It has good atmos :2thumb: and it would take little work to make it into a roamer/rabbit map. If you feel up to it I'd definately play it he more rabbit maps the merrier.

Ravu al Hemio
3rd Sep 2004, 02:27 PM
It'd be something like the UT2004 clock except it only starts when you're in the air, and it goes up not down.

Well, this is what I have gotten to so far. Maybe Shrimp could go check it out...
function Tick(float DeltaTime)
{
local bool bGrounded; // car on its wheels?
local UWSCar UC; // car to test
local int i, j; // i: iterator for aired-wheel checking, j: counter of aired wheels

if (Owner.IsA('UWSCar') && (UWSCar(Owner).Controller != None))
UC = UWSCar(Owner);
else
return;

// new method for getting bGrounded
bGrounded = true; //grounded by definition
j = 0; //reset counter
for (i = 0; i < UC.Wheels.Length; i++)
{
if ( UC.Wheels[i].bWheelOnGround == false ) //if a wheel of that damned bugger is overground...
{
j++; //... add one to the counter of wheels in the air.
}
}

if ( j >= WheelsUpToStartTimer ) //If there are enough wheels in the air as configured...
{
bGrounded = false; //... then we consider the car NOT grounded.
}

if (!bGrounded && QuickEnoughWUVT(UC)) //When flying in the air or sliding on roof. Unfortunately, NeedsFlip() check was too brutal; go for configurability (see PassesWUVT)
{
if (UWPlayer(UC.Controller).StartTime < 1) //If the car just flew up in the air...
{
log("UWBAT: Started timing at"@Level.TimeSeconds@"because"@j@"wheel(s) is/are in the air.");
UWPlayer(UC.Controller).StartTime = Level.TimeSeconds; //... start timing.
}


//log("UWBAT: Wheel in the air, time must be updated constantly.");
if ( FlyDetected || ((Level.TimeSeconds - UWPlayer(UC.Controller).StartTime) > MinAirTimeToCountAsStunt) ) //If the fly is long enough for a stunt...
{
if (bConstantlyUpdateAirTime) //...and the time must be updated all the time...
{
UWPlayer(UC.Controller).Times[0] += Level.TimeSeconds - UWPlayer(UC.Controller).StartTime; //...add the airtime...
log("UWBAT: Whilst flying, air time updated at"@Level.Timeseconds@"to"@UWPlayer(UC.Controller).Times[0] + Level.TimeSeconds - UWPlayer(UC.Controller).StartTime$".");
UC.PlayerReplicationInfo.Score = UWPlayer(UC.Controller).Times[0]; //...set it as the score...
Level.Game.CheckScore(UC.PlayerReplicationInfo); //...update the client...
UWPlayer(UC.Controller).StartTime = 0; //...and make it seem long enough.
}
FlyDetected = true;
}
}
else //when on ground.
{
//if (bConstantlyUpdateAirTime)
// FlyDetected = false;
//if ( (UWPlayer(UC.Controller).StartTime > 0 && (Level.TimeSeconds - UWPlayer(UC.Controller).StartTime) > MinAirTimeToCountAsStunt) )
if ( FlyDetected && !bConstantlyUpdateAirTime )
{
log("UWBAT: We have landed at"@Level.TimeSeconds$". Adding"@Level.TimeSeconds - UWPlayer(UC.Controller).StartTime@"points to player's score.");
UWPlayer(UC.Controller).Times[0] += Level.TimeSeconds - UWPlayer(UC.Controller).StartTime;
UC.PlayerReplicationInfo.Score = UWPlayer(UC.Controller).Times[0];
Level.Game.CheckScore(UC.PlayerReplicationInfo);
UWPlayer(UC.Controller).StartTime = 0;
}
FlyDetected = false;
}
}

Anybody can help?

ProjectX
4th Sep 2004, 03:46 AM
You'd have to wait till Shrimp comes off of doing whatever he does between coding (or off from coding in most cases judging by the rate at which we get new features) and have a peek at it, cos he's te only one on the team (as far as I know) who has serious coding knowledge

Ravu al Hemio
25th Sep 2004, 12:08 PM
A determined expression was visible on Ravu's face. He took his gloves, his protective eyewear, his gas mask and the container of nitric acid and approached the first bug. It bared its fangs at him, but he didn't flinch. He tipped the container, and with a loud sizzling noise, the bug was torn apart by the acid.
Okay, this didn't really happen, but...

You think I would lead this project die? I'd better see bugs than projects dead, really. With new mental energy, I've decided to play with this *old* project of mine. And the result: even more timed Big Air!

The_Head and others sharing his opinion: dynamic updating of airtime now works!!! You just have to add this at the end of your UT2004.ini:

[UnWheelBigAirTimed.UWAirTimerSV]
bConstantlyUpdateAirTime=true

Check out the top post for the newest version (BETA 1). Yes, we're out of the alpha stage now, so I am searching for a truckload of beta testers now. If you feel up to the job, sign up at these forums if you haven't done so yet, download UnWheel and my file, install them and tell me what you found out.

ProjectX
25th Sep 2004, 12:19 PM
Okay, this didn't really happen, but...

You think I would lead this project die? I'd better see bugs than projects dead, really. With new mental energy, I've decided to play with this *old* project of mine. And the result: even more timed Big Air!

The_Head and others sharing his opinion: dynamic updating of airtime now works!!! You just have to add this at the end of your UT2004.ini:

[UnWheelBigAirTimed.UWAirTimerSV]
bConstantlyUpdateAirTime=true

Check out the top post for the newest version (BETA 1). Yes, we're out of the alpha stage now, so I am searching for a truckload of beta testers now. If you feel up to the job, sign up at these forums if you haven't done so yet, download UnWheel and my file, install them and tell me what you found out.

I'll have a go at it, any chance you could implement a mutator to add cinematic effects (e.g. fading, motion blur, slow-down, FOV change, cinematic view mode, or if you're feeling ambitious: camera paths around the car while it flies) when the cars go off the ground for more than say 3 seconds

That would be uber-cool if you could.

Though it might conflict with view-trigger volumes.

Ravu al Hemio
25th Sep 2004, 12:22 PM
I'll have a go at it, any chance you could implement a mutator to add cinematic effects (e.g. fading, motion blur, slow-down, FOV change, cinematic view mode, or if you're feeling ambitious: camera paths around the car while it flies) when the cars go off the ground for more than say 3 seconds

That would be uber-cool if you could.

Though it might conflict with view-trigger volumes.
Theoretically... know about any mutators that do the same in "normal" UT2003/UT2004?

ProjectX
25th Sep 2004, 12:32 PM
Theoretically... know about any mutators that do the same in "normal" UT2003/UT2004?

No, but if you look at the matinee editor, it lets you enable a "cinematic mode", motion blur and FOV changes time slowdown would just be gamespeed

Smokin
25th Sep 2004, 11:39 PM
I know that we had Motion blur in unrealspeed, it turned on when you reached a certain speed.
Also i find that the fixed camera in Unwheel seems to jump around and get caught on invisable things and the free form camera dosnt. I know its not totaly what your talking about but its in the same area.

ProjectX
26th Sep 2004, 04:30 AM
I know that we had Motion blur in unrealspeed, it turned on when you reached a certain speed.
Also i find that the fixed camera in Unwheel seems to jump around and get caught on invisable things and the free form camera dosnt. I know its not totaly what your talking about but its in the same area.

Oh yeah, Shrimp if you're reading this you need to make the fixed camera collide with objects like te freeform one. is very ugly when you turn sharply and stick the camera through the terrain, or a bsp wall, or a static mesh.

Ravu al Hemio
26th Sep 2004, 10:27 AM
NEW VERSION: BETA 2

Okay, I have kicked the ass of some other dastardly bugs again (namely one which prevents the game from counting airtime if the player was moving 'against an axis' and another one making the airtime go into extreme negatives instead of positives), and added a "Some Cool FX" feature (not only) for ProjectX - highly configurable for camera rotation, slow motion and motion blurring. More info on all the variables in the attached readme.

The download is at the top of this thread again; in the next version, I will do thorough testing of replication (server/client) variables and decide on which variables are serverside and which clientside. Stay tuned... and give me constructive criticism on this release too, please!

ProjectX
26th Sep 2004, 11:14 AM
Downloaded. Looking forward to this!

Am I righ in thinking that these settings don't yet appear in the "game rules" menu and that I have to edit the ini to get them to work, right?

Ravu al Hemio
26th Sep 2004, 11:59 AM
Downloaded. Looking forward to this!
Have a big lot of fun!

Am I right in thinking that these settings don't yet appear in the "game rules" menu and that I have to edit the ini to get them to work, right?
Oh yes. The GUI is also on my To-Do list (as well as the replication and registering WOTgreal... once I will be able to get a credit card. It helped me a big lot in coding for Unreal games).

ProjectX
26th Sep 2004, 02:29 PM
Woah, I just got the settings tweaked to my perfection and they rock, here's my settings:


bConstantlyUpdateAirTime=true
WheelsUpToStartTimer=2
MinAirTimeToCountAsStunt=1
bSomeCoolFX=True
FXMotionBlur=True
FXSlowMoSpeed=0.4
FXRotAxis=RAX_PITCH
FXRotSpeed=500
FXFOV=120
FXStartThreshold=1

Ravu al Hemio
27th Sep 2004, 09:51 AM
Woah, I just got the settings tweaked to my perfection and they rock, here's my settings:

bConstantlyUpdateAirTime=true
WheelsUpToStartTimer=2
MinAirTimeToCountAsStunt=1
bSomeCoolFX=True
FXMotionBlur=True
FXSlowMoSpeed=0.4
FXRotAxis=RAX_PITCH
FXRotSpeed=500
FXFOV=120
FXStartThreshold=1

Nice settings there... even though from time to time, I felt a need for a bucket (my stomach felt somehow quirky) - mainly in Avalanche and its long fall.

By the way, in online play, the special effects don't work - maybe because some kind of anti-tampering things. I *might* fix that in the future, or just as well mark it as a "valid security feature" and let it go.

Anyways, people, I encourage you to get youself a copy of this small mod, try it out and post your favourite FX settings for other peeps to check out! (By the way, the size of the mod expanded from 7KB to 9KB in the last version change... so those with a 56k modem might download about a microsecond longer :D

ProjectX
27th Sep 2004, 02:14 PM
I've only got one problem so far - If you land on the roof of the car it still considers it to be in air so you rack up a ton of points while watching a somewhat nauseating animation

Ravu al Hemio
28th Sep 2004, 12:23 AM
I've only got one problem so far - If you land on the roof of the car it still considers it to be in air so you rack up a ton of points while watching a somewhat nauseating animation
Hmm... that doesn't happen over here; the car must move slower than MinAirTimeToCountAsStunt for the counter to stop counting. I'll see to that though.

I am making good progress on the GUI and configs; I already made a HUD menu containing the stuff for "Some Cool FX". Next, I just have to make the rest of AirTimer configurable...

Ravu al Hemio
28th Sep 2004, 08:26 AM
Sorry for the double-post

Okay, I have good news and bad news. The good news is the release of a
NEW VERSION: RELEASE CANDIDATE 1.
The bad news is that because I have added a graphical user interface, the size of the whole archive has grown from 9KB to 16KB. Big difference, I know ;), I just feel sorry for those 56kayers who will have to download this three seconds or so longer... :D

Okay, the new features are all to do with the GUI. You can configure the special effects through the Options > HUD menu (just pick "UnWheel Big Air (T)" from the combo box at the bottom and click "Configure"). The other options can be configured through the normal "Rules" dialog tab in the Instant Action or Host Game pages respectively. I think it has already enough features and has a limited number of bugs, so let us squish some more. Volunteers to become testers, step forth!

EDIT: had to make a little bugfix, newest version is Release Candidate 1a.


Why are you looking for the download here? It is at the top of the thread.

Dracarys
27th Oct 2004, 07:39 PM
It crashes whenever I get into teh air for any length of time :(
UT2004 Build UT2004_Build_[2004-09-07_17.17]

OS: Windows XP 5.1 (Build: 2600)
CPU: AuthenticAMD Unknown processor @ 2011 MHz with 1023MB RAM
Video: RADEON 9800 SE x86/MMX/3DNow!/SSE2

General protection fault!

History: FOpenGLRenderInterface::SetGlobalColor <- ATerrainInfo::RenderDecorations <- RenderLevel <- UWBA-MountainTown.myLevel <- FLevelSceneNode::Render <- FPlayerSceneNode::Render <- UGameEngine::Draw <- UWindowsViewport::Repaint <- UWindowsClient::Tick <- ClientTick <- UGameEngine::Tick <- Level UWBA-MountainTown <- UpdateWorld <- MainLoop <- FMallocWindows::Free <- FMallocWindows::Realloc <- 676F4C57 0 FArray <- FArray::Realloc <- 0*2 <- FMallocWindows::Free
[edit] it works now, strange...

Ravu al Hemio
1st Apr 2005, 01:38 PM
!!! WARNING !!! Big Fat Painful Thread Bump Here !!! WARNING !!!

Well, I "awoke from the dead" after my PC got repaired at last (and the Counter-Strike: Source fascination wore off and I revisited the high-speed action only UT2004 could give me) and so I got myself UnWheel MSU. Seems there weren't many big additions since I beta-tested it, but the progress is at least partly tremendous.

At the beginning of the thread, you will find the newest version of BigAir Timed that makes it compatible with MSU and renews my copyrights for 2005. :D

So if anybody still wants to play with a bit of AirTime (mind you, playing it in MountainTown or Tricky is real fun), don't hesitate to get this little bugger!

ProjectX
5th Apr 2005, 04:00 AM
Just tried it and I'd forgotten how fun it was, the slowmo also helps with aligning the wheels in jumps! There's only one problem, but it's pretty major. When you turbo it shows the camera where you last did a slomo stunt, as apposed to the turbo cam.

Ravu al Hemio
5th Apr 2005, 09:22 AM
I was trying to get rid of that, but I couldn't exactly find out the source of the bug. I know it is pretty annoying...