rec.autos.simulators

why is rfactor

Jeff Rei

why is rfactor

by Jeff Rei » Sun, 14 Aug 2005 18:49:55

Almost all current racing games use position updates as opposed
to control inputs for online racing. Need for Speed 4 - High Stakes
and Need for Speed 5 - Porsche Unleashed are two of the few
games that allow players to choose between control inputs or
position updates for online play. The limit is 8 players per
race and virtually no one uses control input mode because there
is too much delay in control feedback.

Another issue is that some racing games react differently
depending on the system they are running on. Control input
for online play wouldn't work at all on these games.

Yes, and that's exactly what happens online. If the replays record
enough telemetry information for every car in a race, then they
can be used to check for cheats. This is how it's done in NR2003.

You just have to put up with it in some games. In NR2003, a server
can ban specific players, which helps, but it also gets abused,
some players getting unfairly banned. In LFS, a player can post
a vote during a race to eject a player, again the potential for
abuse occurs here, like the "crasher" putting up a vote to ban
the "crashee".

Real time cheat detection schemes are difficult to implement. EA
uses this for NFS7 (Underground 1) and NFS8 (Underground 2). The
server code tries to determine if the telemetry info it receives
indicates a cheat or unfair play. Even with months of updates,
EA never got this to work right. It rarely detects true cheats,
and about 90% of the time that it does disqualify a player, it
wrongly does so (false detection of a cheat or unfair play).

< saving control inputs during replays

If both control inputs and telemetry were saved during replays, then
the replay could be re-run using the control inputs to check for
hacked physics. However this would mean that all factors affecting
performance, like tuning, would be included in the replay, and a lot
of players guard their setups. Note that Need For Speed 2 thru 5
save only the control inputs for replays (along with car id,
tuning, assist and cheat codes used), and work perfectly, even
when viewed on other systems. In order for this to work, the control
inputs are filtered (one byte for each control input, sampled at a
fixed rate) before being applied to a player's car and stored in the
replay. For NFS 2 thru 5, these replays make great cheat detectors
for offline runs, since it just used the creator's control inputs
on the viewers game.

< some games are system senstitive, so control inputs wouldn't work
< it also means that these games aren't fair

EA's NFS7 was extremely affected by system speed. There was a patch
but it over-compensated, so that faster lap times would occur on
slower machines. On some newer racing games, the peformance varies
from system to system, the same control inputs on one system won't
have the same results as the same control inputs on another system.
This could be do to the controller (wheel versus joystick), system
speed, graphics card speed, sound card speed, ... .

Live for speed S1 runs better if you enable force feedback, as
this has the affect of adding a stability assist in the game.

Since most newer games use telemetry based replays, replays can't
be interchanged to check if the game runs the same on two different
systems. In the case of one of the more popular games, I read a
thread were a player played a game at a friend's house, and had
to adjust the setup to compensate for the game performing differently
between the two systems (the player brought his own controller,
a momo racing wheel, and used the same controller driver, so it
wasn't a controller issue). One of the systems resulted in faster
lap times than the others.

One test that can be used is to run fraps to capture screen data while
running a race. I've found a few games where performance seems to
improve when running a fraps capture while playing. Another simple
thing to try is to reduce the graphics (lower resolution).

The only games I know of that use controller input based replays
are the Need for Speed games 2 through 5, and Toca Race Driver 2.
These are also the only games I've confirmed to run on multiple
systems and perform exactly the same.

Byron Forbe

why is rfactor

by Byron Forbe » Thu, 18 Aug 2005 00:52:49


    I think that you, and others in this thread, and Papy even, have
overlooked the opportunity to use each clients computer cpu to do AI ie any
car with no incoming data defaults to AI control. There are a number of
things that can happen when data resumes eg the car flashes for the same
amount of time it was discoed (5 sec max say) and during this flashing is
only a ghost ie no collision.

    Also, prediction is probably always in use in Papy sims I'd say anyway.
I would imagine the server looks at all client pings eg client A is pinging
the server at 100, client B at 50 so there is a local client prediction on A
and B's game, relative to each other, of 150ms ahead. I would imagine that
there are "benifit of the doubt" routines for collision, especially in the
braking zones.

   As for Velocity and acc, those deltas could also be computed by clients
from incoming data.

    A rule I'd like to see all sim companies stick to is that there is never
a collision based on prediction - only when the data proves overlap at the
same point in time.

Nick

why is rfactor

by Nick » Thu, 18 Aug 2005 21:01:41

For using AI to predict, it's overkill because usually the prediction
is only needed for a small amount of time, a quarter of a second say,
so just extrapolating from the last known vel/acc is close enough.
When delays start to increase beyond a second, there are far more
problems with that clients connection than just lag, and they will
probably be disconnected anyway.

I'm pretty sure clients never simulate collisions with predicted data,
I mean, clients *predict* collisions, but the server is the only one
with the true information on positions of all cars, the server
calculates the collision and tells the clients.  You will never collide
with a car because of prediction, only because of true contact,
although you might collide with somebody because you *thought* they
weren't there (due to prediction), the truth is they were there, you
just didn't see them because of the packet loss.

You could calculate velocity and acceleration from storing old
positions, but the velocity would be quite inaccurate, and the
acceleration would be dire.  Imagine a car going through a chicane in a
quick left-right fashion, and you will quickly see that the large swing
of the velocity vector and the massive swing of the acceleration vector
cannot even be estimated with any kind of accuracy by taking old car
positions.

All I can say is, I once thought as you did, 'it seriously can't be as
hard as people make it sound', but when you try it, it really is.  You
can't figure out all the ifs and buts and situations for lots of cars
interacting over lossy, laggy channels in your head, you just need to
keep trying it out and fixing all the problems which come up with
prediction, collisions, etc...  this is definitely one area where the
practical bears no resemblance to the theory whatsoever-and jeez do I
wish it did!

Nick

why is rfactor

by Nick » Thu, 18 Aug 2005 21:55:33

Or, there was when Quake came out.  QuakeWorld introduced clientside
prediction which removed this phenomenon for the 95% of cases where
your character is not physically interacting with another player (eg a
car-car collision, or player collision in Quake).  That was 1996, by
the way.

That is true, but only for badly coded games.  Sorry, I mean games that
have been coded not to take this into account.  If you're going to use
control inputs, then you make sure your game is deterministic with
regard to the same inputs.  In truth, this isn't such a big deal.  If
you record replays using control inputs, then you want them to play
back in the same way on all systems.  The only games I can remember
which had this problem were Grand Prix 2, maybe GP3 as well, and I
haven't played GP4 enough to know if it's in there as well, but I
expect so.

Do you know for a fact that it works this way?  That clients send their
positions to the server and the server accepts them on blind faith
until you check after the race to see if anybody was moving a bit
outside the game laws of physics?  If that's the case (I'm not
suggesting it isn't, I would just like proof because it sounds a bit
far-fetched), do Papy not care about online cheating, because that's a
huge and easily-exploited hole, and I'd like to know how they got
around it.

And that's exactly the same concept as control input based multiplayer.
 If you like, you could think of it as each client seeing a real-time
'replay' of each other client in the game.  You can crash into them
because the server calculates the collisions for each client.

Byron Forbe

why is rfactor

by Byron Forbe » Sat, 20 Aug 2005 05:16:53


    There are hoards that can tell you this is wrong - I have countless
recollections of a car on the low line "warping" up into the car to the
outside. You know it is crude, linear prediction because you will often see
the lower car immediately drop back down to where it actually is once
dataflow recommences.

Nick

why is rfactor

by Nick » Sat, 20 Aug 2005 22:10:18


>     There are hoards that can tell you this is wrong - I have countless
> recollections of a car on the low line "warping" up into the car to the
> outside. You know it is crude, linear prediction because you will often see
> the lower car immediately drop back down to where it actually is once
> dataflow recommences.

1) If the client predicts somebody to move up into them, then simulates
a crash, that client will have a 'predict' crash, but when the server
data gets through, it will tell the client that no, there wasn't
actually a crash, you just thought there was, and that client will warp
from the crash state back to racing.  I've had that happen to me in
NR2002 where I've crashed into someone, got up into the wall, started
rolling, then popped back onto my wheels on the racing line and
continued racing...

2) I used to race NR2002 on dialup, and a few times I've been the cause
of 'warp' collisions, where I've hit someone and the people behind said
I warped into them because of my bad connection.  Every single time it
has been me making a mistake and pushing up into him.  On my machine, I
see it happen oh-so-clearly, but everybody else sees me in a cloud of
warp and just assumes it was a predict collision.  I even had it happen
5 laps from the end of a RASCAR race, where I hooked the apron, pushed
up and put somebody in the wall (sorry!), but everybody else thought it
was warp.  I came clean and admitted my mistake :)

Byron Forbe

why is rfactor

by Byron Forbe » Sun, 21 Aug 2005 02:05:13



>>     There are hoards that can tell you this is wrong - I have countless
>> recollections of a car on the low line "warping" up into the car to the
>> outside. You know it is crude, linear prediction because you will often
>> see
>> the lower car immediately drop back down to where it actually is once
>> dataflow recommences.

> 1) If the client predicts somebody to move up into them, then simulates
> a crash, that client will have a 'predict' crash, but when the server
> data gets through, it will tell the client that no, there wasn't
> actually a crash, you just thought there was, and that client will warp
> from the crash state back to racing.  I've had that happen to me in
> NR2002 where I've crashed into someone, got up into the wall, started
> rolling, then popped back onto my wheels on the racing line and
> continued racing...

> 2) I used to race NR2002 on dialup, and a few times I've been the cause
> of 'warp' collisions, where I've hit someone and the people behind said
> I warped into them because of my bad connection.  Every single time it
> has been me making a mistake and pushing up into him.  On my machine, I
> see it happen oh-so-clearly, but everybody else sees me in a cloud of
> warp and just assumes it was a predict collision.  I even had it happen
> 5 laps from the end of a RASCAR race, where I hooked the apron, pushed
> up and put somebody in the wall (sorry!), but everybody else thought it
> was warp.  I came clean and admitted my mistake :)

   Well, I have warped up into people heaps of times - in my replay there is
clearly no contact and they end up in the wall - permanently!

    You are simply wrong about that.

    I'd need to see a replay of what you describe in 1) - got one? I've
never seen anything like that in 7 years!

Nick

why is rfactor

by Nick » Sun, 21 Aug 2005 08:00:55


>    Well, I have warped up into people heaps of times - in my replay there is
> clearly no contact and they end up in the wall - permanently!

>     You are simply wrong about that.

Okay, so it can happen, it's never happened to me though, all of my
high ping 'warp' accidents have been caused by me, not warp.  I have
absolutely no idea how the game can even work if clients can have
accidents with predicted cars unless the server decided there was
contact... weird.

Well I don't have NR2003, this was NR2002, and I was on dialup, so it's
a pretty specialised situation.  I'd guess it was in NR2003 though.  I
don't make a habit of saving client replays, because they're always
wrong (especially if you're a 56k'er!) and just eat my much-coveted HD
space!  I used to get it a lot on Papy superspeedway servers, where
there are *always* crashes involving lots of cars, and due to my lag
and the erratic trajectories involved, my poor 56k connection couldn't
cope and cars would be jumping everywhere-so I'd always hit somebody.
About half the time the server would correct me back into the race-and
I could even keep on going if I remembered to hold my control inputs
while my computer was predicting a crash, in case I was really still
going around the track!

Pete

why is rfactor

by Pete » Sun, 21 Aug 2005 09:28:37




> >    Well, I have warped up into people heaps of times - in my replay there is
> > clearly no contact and they end up in the wall - permanently!

> >     You are simply wrong about that.

> Okay, so it can happen, it's never happened to me though, all of my
> high ping 'warp' accidents have been caused by me, not warp.  I have
> absolutely no idea how the game can even work if clients can have
> accidents with predicted cars unless the server decided there was
> contact... weird.

> >     I'd need to see a replay of what you describe in 1) - got one? I've
> > never seen anything like that in 7 years!

> Well I don't have NR2003, this was NR2002, and I was on dialup, so it's
> a pretty specialised situation.  I'd guess it was in NR2003 though.  I
> don't make a habit of saving client replays, because they're always
> wrong (especially if you're a 56k'er!) and just eat my much-coveted HD
> space!  I used to get it a lot on Papy superspeedway servers, where
> there are *always* crashes involving lots of cars, and due to my lag
> and the erratic trajectories involved, my poor 56k connection couldn't
> cope and cars would be jumping everywhere-so I'd always hit somebody.
> About half the time the server would correct me back into the race-and
> I could even keep on going if I remembered to hold my control inputs
> while my computer was predicting a crash, in case I was really still
> going around the track!

Gotta go with Byron here.  Played GPL (another Papy product) online
many, many times on dialup with plenty of warp going on amongst the
drivers and if you got catapulted off the track that was it.  I cannot
recall a single situation where I reappeared back on track going merrily
on my way after what seemed like a collision based upon warp.  Seems
strange that they would have sorted this for NR2002 (which I never
played online) and then gone back to how it used to be with NR2003
(which I have played online many times with the same problems).

--
Pete Ives
Remove All_stRESS before sending me an email

Andrew MacPhers

why is rfactor

by Andrew MacPhers » Sun, 21 Aug 2005 14:39:00



> Gotta go with Byron here.  Played GPL (another Papy product) online
> many, many times on dialup with plenty of warp going on amongst the
> drivers and if you got catapulted off the track that was it.

WHS. With modem connections it could be a nightmare at times. Cars
disappearing, then reappearing miles away, then back again. I got used
to backing well away from anyone who started to "flicker".

Andrew McP

Remco Moed

why is rfactor

by Remco Moed » Sun, 21 Aug 2005 19:29:12

On Sat, 20 Aug 2005 06:39 +0100 (BST),




>> Gotta go with Byron here.  Played GPL (another Papy product) online
>> many, many times on dialup with plenty of warp going on amongst the
>> drivers and if you got catapulted off the track that was it.

>WHS. With modem connections it could be a nightmare at times. Cars
>disappearing, then reappearing miles away, then back again. I got used
>to backing well away from anyone who started to "flicker".

Ah, the good old days....blinking cars in a Monza T1....sigh

Cheers!

Remco

Jeff Rei

why is rfactor

by Jeff Rei » Sun, 21 Aug 2005 19:51:36

Since the newer games use telemetry based replays, there's really
no easy way to confirm that a game isn't system sensitive.

I found that Live For Speed S1 gave a player the equivalent of a
steering assist if a force feedback controller was instead of a
non-force feed back controller. The increased stability
allowed you to push the limits harder and resulted in better
lap times.

The original Need for Speed Underground 1 was one of the worst
offenders ever in this regard to system peformance. It was improved,
but never completely fixed.

The moderators for many NR2003 online servers review replays for
evidence of cheating or deliberate wrecking. I would assume that
league servers do the same.

but as I mentioned, every one hated using contol input mode for
multiplayer play. It slowed down your own cars response time by too much,
and it didn't solve the lag - collision issue. I've been recently
playing NR2003 online, and there have been a few times where I've been
close to another car and that car has been spun, even though my
game didn't detect any contact, and my replay showed that there
was clearly a gap between the cars (usually about a foot), yet the
other car responded as if there was a collision. I'm pretty sure
that the replay on the other system would have shown a collision.
I call this "lag" induced collision. It was really bad back in
the early days of online racing because most players were using
slow modems.

One of the first racing games to have server based online play was
NFS4 (High Stakes). Almost all NFS4 online play was done with collision
off. Most NFS5 (Porsche Unleashed) play was done with collision off.
These games didn't simulate drafting so it wasn't an issue. Lag was
never an issue, because there were no collisions between cars (just
objects). Wreckers didn't exist. Personally, I found the collision
off online racing to be just as enjoyable as collision on racing
with the newer games of today. The racing can be closer when you
can drive right through the car ahead of you. In the case of
NFS4 and NFS5, it was handled well because you could see the dash
and through the windshield of any car you were driving through.

NFS4 control input sampling rate is 32 times a second. NFS5 is 64.
I don't know what modern games use, but the cycle time for
a control input based online racing would really mess up the force
feedback so often used these days. Even in the non-force feedback
day of NFS4 and NFS5, control input based online racing really
messed up the handling of the cars (most were using modems in those
days so the cycle time was probably much worse than it would
be today).

Jeff Rei

why is rfactor

by Jeff Rei » Sun, 21 Aug 2005 19:55:45

Even with high speed connections, racing in a pack of 20+ cars nn
a super speedway race in NR2003, where most are bumper to bumper and
side by side at 190mph, a small amount of lag often leads to huge
wrecks. You see a car flickering and you'd be wise to back off or
try to get by and get a car between you and the lagging car.

Nick

why is rfactor

by Nick » Sun, 21 Aug 2005 20:36:04


> but as I mentioned, every one hated using contol input mode for
> multiplayer play. It slowed down your own cars response time by too much

Well, you can negate that entirely by doing clientside prediction,
which began in QuakeWorld.  Just because the game you describe didn't
bother doing it, and suffered the lag, doesn't mean that it happens in
every other game.
Pete

why is rfactor

by Pete » Sun, 21 Aug 2005 21:40:13



> On Sat, 20 Aug 2005 06:39 +0100 (BST),



> >> Gotta go with Byron here.  Played GPL (another Papy product) online
> >> many, many times on dialup with plenty of warp going on amongst the
> >> drivers and if you got catapulted off the track that was it.

> >WHS. With modem connections it could be a nightmare at times. Cars
> >disappearing, then reappearing miles away, then back again. I got used
> >to backing well away from anyone who started to "flicker".

> Ah, the good old days....blinking cars in a Monza T1....sigh

> Cheers!

> Remco

Remember one time racing at Monaco I started from somewhere near the
back and managed to tiptoe through cars*** from barriers, guard
rails and even lampposts on my way up to *** square.  I was laughing
so much at the time at all these oddly placed cars,*** like
ornaments around the circuit that I was struggling to keep the car on
the road.

Great times!!

--
Pete Ives
Remove All_stRESS before sending me an email


rec.autos.simulators is a usenet newsgroup formed in December, 1993. As this group was always unmoderated there may be some spam or off topic articles included. Some links do point back to racesimcentral.net as we could not validate the original address. Please report any pages that you believe warrant deletion from this archive (include the link in your email). RaceSimCentral.net is in no way responsible and does not endorse any of the content herein.