As you all know you get pings around 1000 ms to the other side of the
world over the internet. This makes online racing troublesome if we want
to race globally, which we of course want :o), especially since most of
the fastest sim racers live in Australia, at least according to the
results in the Grand Prix Legends demo at [link lost in import]
I've previously posted to this NG a suggestion to a solution were you
just have collision detection turned off, like the ghosts in F1RS. Some
liked this idea and some didn't :o). We all would like to have collision
detection turned on, but this is very much more difficult to implement in
a racing simulator, compared to the ghost multiplayer solution and when
you have to allow pings over 1000 ms.
Byron Forbes was one of those who really wanted collision detection on
and I've had some really nice discussions with him on this matter. I've
also discussed a lot with Ian Lake. The result of these discussion is a
suggestion to a multiplayer feature which allows for pings between
players to be well over 1000 ms, and here it is:
The rules of larger than 1000 ms pings multiplayer online racing:
1. You can collide with the AI cars in your own simulation.
2. The AI cars in your simulation are trying to have the same position as
the real player cars.
3. The first real player who crosses the finish line wins.
4. You get your position in relation to the real player in front of you
as a time (ex. +0.543 Ian Lake), upto three times per lap (split times)
depending on the track length. Note, this is the time to the real player,
not the AI representing him, so you could be in front of the AI and still
get a positive time.
5. You get your position in relation to the real player behind you as a
time (ex: -1.367 Byron Forbes), upto three times per lap (split times)
depending on the track length. Note, same as the note in 4.
6. An AI behind you will not try to pass you until the real player
(represented by the AI) is at least 0.5 seconds (probably not the best
choice of time, perhaps a full second is better?) in front of you.
7. The AI to AI racing in your sim is non existing, since they just
try to show where the real players are.
8. The AI follow some prerecorded driving line from each player. This
could be either the qualifying lap or a couple of offline race laps
(prefered). The AI try to keep up with each real player by following the
prerecorded driving lines. This is done without warping or other
unnatural driving from the AI.
9. Bumping into an AI wont hurt the AI, only you will be hurt, thus the
real player represented by the AI will not be hurt either.
10. The AI in your sim only change place with each other when the whole
car of the real player is in front of the whole car of the other real
player. This will be done as a slipstreaming or an outbraking manouver.
11. When an AI has to pass a real player to keep up with the real player
it is representing. It either do it slip streaming, if possible without
adding unrealistic acceleration or top speed, or by putting itself side
by side to the real player just before braking into the corner and then
perfectly outbrake the real player. In the later case an unrealistic
increase of top speed is allowed.
12. The sim will only allow your participation in the online race if you
use exactly the same setup for the race as in the provided offline
laps??? In qual you may use a different setup.
13. The simulator corrects the driving line in the offline laps, if they
are to much off from a normal line. For example zickzacking on the
straights and blocking while entering a corner will be corrected.
14. When a real player enters the pits the AI car representing the real
player in all the other players simulation will be moved from the track
straight into the pit, perhaps by dissolving on the track and reappearing
in the pit.
15. An alternative to 14. When you get called into the pit you have to
deny it before the second split time or you will be forced to pit. This
is so the AI representing you in the other simulations will have time to
do the same thing as you do. This rule could perhaps be combined with
rule 14, so if you have some accident before the pit entry you could go
straight into the pit and rule 14 will apply.
This suggestion doesn't need a server. All players can connect to all
others via for example Kali. Kali will only be used for the simulator to
get the ip-addresses of all the other players, after that the simulators
wont need Kali. A 28.8k modem should have no trouble sending 29 ip-
packets and receiving 29 ip-packets, all within one second, which is all
that is needed. Two or three seconds isn't actually a problem either :o).
Getting the position of another real player every third second isn't a
problem, since all the AI does is to increase or decrease it's pace to be
approximately where the real player are.
What do you all think, could this happen in the near future of the sport
we all like to call Simulator Racing :o)?
/Christer, a 34 year old software engineering consultant, and one serious
sim racer :o)))
>What do you all think, could this happen in the near future of the sport
>we all like to call Simulator Racing :o)?
No, because it is too far removed from real *racing*. A lot of the skill,
and IMHO most of the enjoyment of sim racing, comes from the passing and
defending manoeuvers. Unless this is done in real time with the guy in
front knowing that he has to defend his line and the guy behind reacting,
in real time, to those movements, you're not really racing.
Sorry, Christer, but you're really barking up the wrong tree with this
idea. You would do better to devote your time to finding someone in the US
to get you a TEN account. Oh, and then you'll realise that the only reason
why the Australians are so fast in GPL is that everyone else is racing on
TEN.... <g>
btw - on TEN I've raced a guy from Korea and it was mostly very good with
very little warping, perfectly capable of close drafting at Dega and going
round the turns door to door (*much* better than anything I ever managed
with F1RS via Kali (or even on a LAN for that matter!), so don't let your
experiences with Kali/F1RS cloud your judgement). Australia isn't really
that much further away than Korea. Within the time it would take to develop
your idea and iron out all the bugs, the technology may well be there to
allow global racing in real time <g>
Cheers,
Richard
--
We all bump into each other every day of our lives, and we render our opinions
whether we know anything or not, and if anybody catches us out we lie...
Thanks a lot for following up my post, Richard :o), I was afraid I would
get no response at all. Now read my follow up below.
says...
I guess they all beat you silly then, since you are as slow as we are
:o). I guess the TEN drivers would have no trouble beating everyone in
the GPL demo either :o)? I bet they cant, thus challenging them :o).
Even if we could communicate at the speed of light it would still take
125 ms for a signal to travel to the other end of our globe. 125 ms is 10
meters at 300 kph, or two car lengths. There is no technology today which
makes it possible to communicate with speeds greater than the speed of
light. I'm hoping for such a technology, but if we are unlucky there
might never be one :o(((. I'm guessing TEN already use a similar solution
which we are proposing, which would actually mean that TEN are fooling
you into believing that you're racing in real time <g>. Sounds horrible
doesn't it :o).
Why not see beyond this and see the increadible possibilities which lies
within exchanging ideas? I really dont think Einstein could of come up
with the relativity theory if he didn't have anyone to exchange ideas
with at all. I know he had some really great conversations with Bohr, for
example. I also bet he used many of the ideas currently available at that
time.
I've have had some really great conversations with Byron and Ian, but
among us it's probably Ian who's the Einstein :o))). Byron would be Bohr,
I guess, and I'm just the publisher :o). I've had some great
conversations with you to, Richard, and I've certainly used the result of
our conversations to change my ideas. Hope you dont mind :o). I of course
cant judge if the ideas have improved or not, I leave that to the market
:o).
/Christer, use others to improve ideas, so I can get more fun when
driving a racing simulator :o)))
Quoted text (14 lines)
> >What do you all think, could this happen in the near future of the sport > >we all like to call Simulator Racing :o)? > No, because it is too far removed from real *racing*. A lot of the skill, > and IMHO most of the enjoyment of sim racing, comes from the passing and > defending manoeuvers. Unless this is done in real time with the guy in > front knowing that he has to defend his line and the guy behind reacting, > in real time, to those movements, you're not really racing. > Sorry, Christer, but you're really barking up the wrong tree with this > idea. You would do better to devote your time to finding someone in the US > to get you a TEN account. Oh, and then you'll realise that the only reason > why the Australians are so fast in GPL is that everyone else is racing on > TEN.... <g>It will be just as racing the AI's offline, but they will race at the
pace of the real drivers participating in the race. The AI will work as a
filter, though, so taking out other drivers will be impossible :o). If
you crash it's all your own fault :o). If you disconnect you're a DNF
:o).
/Christer
remove "has.no.life." in email, cause it's the SPAM filter
This is a very interesting idea. I'ld love to see it happen.
>I guess they all beat you silly then, since you are as slow as we are
>:o). I guess the TEN drivers would have no trouble beating everyone in
>the GPL demo either :o)? I bet they cant, thus challenging them :o).
Most couldn't, some can. I got down to 1:07.3 before getting bored with
just driving round; it's a great driving model but.... <g>
Yes, N2 on TEN does use code to 'predict' where the other car is, but this
is significantly different to what you are proposing. Remember that whilst
a car may be moving 10 metres at 300kph, it is the *change* in the speed
that is important. If it is continuing in a straight line at constant
velocity then a time delay doesn't matter at all. So it is the amount of
change in direction and speed that can happen within the latency period
that is important. Granted that this is rather less with a NASCAR than a F1
car but by and large it works very well using the TEN mechanism.
Some form of prediction will always be required, but it needs to be based
on where the cars *actually* are, not on some pre-recorded laps! Take the
following point for instance:
OK, so I drive soem offline laps being careful to take a tight line into
each and every corner (not blocking, just being careful). If you then use
those laps to base the prediciton stuff on, no-one will *ever* pass my car
since with an accurate F1 type sim it simply isn't possible (or at least
shouldn't be <g>) to drive round the outside of a car through a corner
(anyone for a Brabbham fan car? <g>).
Alternatively, what if I always took a wide line into a corner because that
was the fastest line. Well, it would be very easy to stick the nose of the
car inside and make the pass if 'my' AI always took that line, but if we
were actually *racing* then I would have defended the line.
Take a F1RS ghost lap and try to pass the ghost without ever overlapping
with it? If you manage it, now do so 50 times, if you ever overlap, it's
equivalent to crashing out. In what way does this really differ from what
you are proposing?
Too right he did <g> Einstein is very much over-rated. He had the genius to
take some already published stuff and make the connection to produce the
Special Theory, but that was very much his high spot. The General Theory
proved to be more or less correct but it took better mathematicians than
him to really work it out, and let's not forget that he point blank refused
to accept many of the implications of his 'own' theories later in his life.
I'm not against the exchange of ideas, but I really think it's a shame to
waste so much energy trying to come up with a solution that is so diluting
the whole point of online racing. It's OK to admit that some things are
technically impossible or simply not worth it - and concentrate on
improving those things that are!
Cheers,
Richard
--
We all bump into each other every day of our lives, and we render our opinions
whether we know anything or not, and if anybody catches us out we lie...
Ahh, nice to see someone who sees the possibilities instead of the
limitations :o)
/Christer
says...
says...
> >I guess they all beat you silly then, since you are as slow as we are
> >:o). I guess the TEN drivers would have no trouble beating everyone in
> >the GPL demo either :o)? I bet they cant, thus challenging them :o).
> Most couldn't, some can. I got down to 1:07.3 before getting bored with
> just driving round; it's a great driving model but.... <g>
It will be real nice to see this driving model in both N3 and ICR3 :o))).
So, if I slammed the brake down at 300 kph, then your simulator gets that
information 125 ms later, wouldn't this mean that the car representing me
in your sim would brake 10 meters later, or two car lengths???
We haven't worked out all the details and dont think we have to either,
but to answer this one: Both you and I know that you will not drive a
perfect race :o). So when you miss out on a corner, taking it a bit
slower than you usually do, then the AI car representing you in all the
other players sim have to slow down to match it's pace to yours. This
could be done in several ways and without warping. Remember the AI
representing you will try to be where you are on the track. One solution
could be that the AI is a bit slow out of the corner in which you were
slow entering, then the real player behind your AI can get a chance to
slip-stream passed you. There could be other solutions to this, but I
guess you see my point.
Again, we have not worked out the details. For example the AI could be as
smart as it defends the racing line itself in relation to how fast your
offline race laps were. The faster your offline laps are the better your
AI defends it's line.
In the way that you, in our suggestion, race the AI's as you would in an
offline race, but the AI's pace are about the same as the real drivers
around the world also participating in the race. If you are on the inside
of an AI into the corner it will of course not drive into you, it will do
what a normal AI would do in an offline race.
Einstein was only an example. I believe all great thinkers have been
inspired and influenced by other thinkers, good or bad.
IMO, if you spend your time solving problems, even if the problems are
already solved or you come to the wrong conlusions, then you have not
wasted your time at all. I believe that any time spent solving problems
is good for once brain. I could be wrong, though, but the latest research
on the brain point in that direction. Yes, I know, Richard, you think I
should spend more time solving problems :o), and I will, trust me :o).
BTW, the solution we propose, could very much, in some degree, already be
used at NROS. If they for example changed the warping to be a change of
pace (increase or decrease) of the AI to match the real players real
track position, then it would look a bit more like the idea we propose.
I use my right to disagree :o). IMO, it's not OK to admit that some
things are technically impossible or not worth it, unless one are really
convinced, perhaps not even then :o). I guess we have stumbled on the
classic halt-problem - When do we stop trying to solve a problem?
/Christer, we really dont have a clue, do we :o)?
Quoted text (7 lines)
> At the end of the day, as long as I have access to a low enough latency > environment to race I will do so in preference to an 'AI' solution. I > already have that environment and it can only get better as the technology > improves, hence why I don't see a great future in your proposal for myself > at least. But if you really want to race those Australians atm then your > solution is worth pursuing. Now all you've got to do is persuade a software > company that it is worthwhile.... ;-)Imagining, imagining, imagining... There it is... My heart rate just went
up :o))))))))).
/Christer, just got a smile all over my face :o)
Quoted text (12 lines)
> > I think you are vastly underestimating the amount of effort required to > > implement this. Just a little example - what happens at the start of the > > race? With large latencies, even the simple synchronisation of the starts > > is likely to be difficult. Now take into account the fact that in the rush > > for the first corner there's going to be a lot of passing and by the time > > half a lap is complete the chances are that each of the drivers' PCs is > > going to have a completely different view of what happened at the start! > > Working out algorithms to sort this out is not a 'no brainer', indeed far > > from it. > So hard?? Why? How is it different from the AI now? All that needs to be done is to make > cars faster/slower as needed to match incoming packets. Where's all the fuss?Quoted text (9 lines)
> I think you are vastly underestimating the amount of effort required to > implement this. Just a little example - what happens at the start of the > race? With large latencies, even the simple synchronisation of the starts > is likely to be difficult. Now take into account the fact that in the rush > for the first corner there's going to be a lot of passing and by the time > half a lap is complete the chances are that each of the drivers' PCs is > going to have a completely different view of what happened at the start! > Working out algorithms to sort this out is not a 'no brainer', indeed far > from it.Quoted text (8 lines)
> > if the gap gets to 3+ seconds say, then that car could just warp to its real location since it > > would be at a safe distance. Once again, where's the big deal? > There will be no warping :o))). Seriously, I would prefer the AI behind > me in this situation to just be glued to my behind and then either > slipstream me or outbrake me. If I'm all over the track trying to block > it I risk taking myself out and loosing a lot of time, and time is > important, since the driver with the best race time wins the race.I dont think you have to know if the AI behind you should be in front of
you or not, just race as you would a normal race, sooner or later that AI
will start attacking you, or perhaps you will start to pull away :o).
Some more rules after emailing with Byron, Ian and Richard :o).
15. If a real driver makes a mistake then his AI makes a similar mistake
at a similar track section a bit later. Say you make a mistake entering
turn 1, then the AI representing you makes a similar mistake entering
turn 2 or 3, depending on current pings. Remember we have delays upto one
or two seconds here :o).
16. If a real driver makes a mistake, so it's very easy for the AI behind
him to pass, then they will pass, no matter where the AI's real drivers
are. For example at the start, or a real driver going off the track.
These 16 rules would of course work much better in a server solution than
if we would use no server, but then I guess we would have to pay to the
company maintaining the server. Say around 10 USD a month, would be quite
acceptable to me :o).
/Christer, wonder if we have any readers at all left in this thread now
:o)


































