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 http://www.racesimcentral.net/.
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)))