Difference between revisions of "Multi-player"

From OrbiterWiki
Jump to navigation Jump to search
(Multiplayer background)
 
m (typo bashing)
Line 10: Line 10:
 
Hurdles split into roughly two camps: logical and technical. Logical hurdles need cunning to overcome but are wholly soluble in the addon (eg. lag compensation). Technical problems relate to limitations placed on the addon by Orbiter itself (eg. being unable to jump simtime, inability to control landed craft etc.).
 
Hurdles split into roughly two camps: logical and technical. Logical hurdles need cunning to overcome but are wholly soluble in the addon (eg. lag compensation). Technical problems relate to limitations placed on the addon by Orbiter itself (eg. being unable to jump simtime, inability to control landed craft etc.).
  
The first logical problem with multiplayer in Orbiter is range of speeds. The craft need to be visible to other players whilst sat on the ground at Havana, and equally when [[LEO|orbiting]] 200miles above the Earth prograde, an equally retrograde. That's a difference in speeds of 15 kilometres per second.
+
The first logical problem with multiplayer in Orbiter is range of speeds. The craft need to be visible to other players whilst sat on the ground at Havana, and equally when [[LEO|orbiting]] 200 miles above the Earth prograde, and equally retrograde. That's a difference in speeds of 15 kilometres per second.
  
 
So what?
 
So what?
Line 16: Line 16:
 
Well, in your driving game, if you have a tenth-of-a-second lag at 180mph, your car will appear to jitter 8 metres. Irritating, but still on the road.
 
Well, in your driving game, if you have a tenth-of-a-second lag at 180mph, your car will appear to jitter 8 metres. Irritating, but still on the road.
  
If your point of reference is the surface of the Earth, so you have no jitter on the ground, a tenth of a second will cause jitter of 750 metres -- half a mile. It's not going to be easy to dock when you're not sure which cublic kilometer your craft will be in next second!
+
If your point of reference is the surface of the Earth, so you have no jitter on the ground, a tenth of a second in [[LEO]] will cause jitter of 750 metres -- half a mile. It's not going to be easy to dock when you're not sure which cublic kilometre your craft will be in next second!
  
  
An example of a technical hurdle is how to deal with timeacceleration, and different system times. Orbiter works out the rotation angle of the planet depending on the SimTime. Different start times, time accelerations, pauses etc. cause these to become desynchronised. Suddenly a vessel sat on the pad at Canaveral appears half way into the Atlantic to one user and somewhere around India.
+
An example of a technical hurdle is how to deal with time acceleration, and different system times. Orbiter works out the rotation angle of the planet depending on the SimTime. Different start times, time accelerations, pauses etc. cause these to become desynchronised. Suddenly a vessel sat on the pad at Canaveral appears half way into the Atlantic to one user and somewhere around India.
  
 
Another technical hurdle would be supporting animations on ship (eg. opening the DG's docking doors), or telling the Shuttle to start in Orbiter configuration on everybody's system.
 
Another technical hurdle would be supporting animations on ship (eg. opening the DG's docking doors), or telling the Shuttle to start in Orbiter configuration on everybody's system.
Line 27: Line 27:
 
==Attempts==
 
==Attempts==
  
#Toni Ylisirniö developed the first recorded interactive multiplayer plugin with his seminal [[IRCMFD]]. Added mostly as a toy for regulars on Orbiter's [[IRC]], it needed manual updates and really only addressed only the speed-difference hurdle by switching to relative-to-closest-vessel position reporting when vessels passed within 15km of each other. Development has ceased.
+
#Toni Ylisirniö developed the first recorded interactive multiplayer plugin with his seminal [[IRCMFD]]. Added mostly as a toy for regulars on Orbiter's [[IRC]], it needed manual updates and really only addressed the speed-difference hurdle by switching to relative-to-closest-vessel position reporting when vessels passed within 15km of each other. Development has ceased.
  
#[[MultiOrb]] took the IRCMFD model and provided automation (to deal with the logical hurdle of advising other craft of orientation and accelerative changes), as well as expanding the supported craft range. Again it didn't seek to address time differences. Development has ceased.
+
#[[MultiOrb]] took the IRCMFD model and provided automation (to deal with the logical hurdle of advising other craft of orientation and accelerative changes), as well as expanding the supported craft range and addressing some of the relative position reporting issues. Again it didn't seek to address time differences. Development has ceased.
  
#[[OMP]] is a still-ongoing project, unrelated to the others outside of discussive advice, providing a more in-depth framework and seeking to address the time difference problem by synchronising the PCs with the simplified Network Time Protocol. Believed still under developement.
+
#[[OMP]] is a still-ongoing project, unrelated to the others outside of discursive advice, providing a more in-depth framework and seeking to address the time difference problem by synchronising the PCs with the simplified Network Time Protocol. Believed still under developement.
  
#[[Project Hamac]] is a proof-of-concept technology demonstrator, offering virtually no solutions to Orbiter technical hurdles, but addressing most logical problems by implementing a physics server-graphical thin client model. Development has transferred to the [http://openkosmos.sourceforge.net/ Kosmos project].
+
#[[Project Hamac]] is a proof-of-concept technology demonstrator, offering virtually no solutions to Orbiter technical hurdles (bar docking), but addressing most logical problems by implementing a physics server-graphical thin client model. Development has transferred to the [http://openkosmos.sourceforge.net/ Kosmos project].
  
 
No comprehensive product has yet been produced, and consequently this area of Orbiter development should still be considered experimental.
 
No comprehensive product has yet been produced, and consequently this area of Orbiter development should still be considered experimental.

Revision as of 18:01, 19 March 2006

Background

Pretty much since the dawn of Orbiter, users have asked: how can I play online with my friends?

Used to multiplayer features in virtually all modern games from arcade-style shooters to photo-realisitic flight simulators, it seems it should be logical to simply extend these engines to Orbiter.

It has proven not so.

Hurdles

Hurdles split into roughly two camps: logical and technical. Logical hurdles need cunning to overcome but are wholly soluble in the addon (eg. lag compensation). Technical problems relate to limitations placed on the addon by Orbiter itself (eg. being unable to jump simtime, inability to control landed craft etc.).

The first logical problem with multiplayer in Orbiter is range of speeds. The craft need to be visible to other players whilst sat on the ground at Havana, and equally when orbiting 200 miles above the Earth prograde, and equally retrograde. That's a difference in speeds of 15 kilometres per second.

So what?

Well, in your driving game, if you have a tenth-of-a-second lag at 180mph, your car will appear to jitter 8 metres. Irritating, but still on the road.

If your point of reference is the surface of the Earth, so you have no jitter on the ground, a tenth of a second in LEO will cause jitter of 750 metres -- half a mile. It's not going to be easy to dock when you're not sure which cublic kilometre your craft will be in next second!


An example of a technical hurdle is how to deal with time acceleration, and different system times. Orbiter works out the rotation angle of the planet depending on the SimTime. Different start times, time accelerations, pauses etc. cause these to become desynchronised. Suddenly a vessel sat on the pad at Canaveral appears half way into the Atlantic to one user and somewhere around India.

Another technical hurdle would be supporting animations on ship (eg. opening the DG's docking doors), or telling the Shuttle to start in Orbiter configuration on everybody's system.

As one delves deeper into this it becomes aparent the technical hurdles are the key to the viability of a multiplayer plugin. It's been postulated core support is required before a general interface can become effective.

Attempts

  1. Toni Ylisirniö developed the first recorded interactive multiplayer plugin with his seminal IRCMFD. Added mostly as a toy for regulars on Orbiter's IRC, it needed manual updates and really only addressed the speed-difference hurdle by switching to relative-to-closest-vessel position reporting when vessels passed within 15km of each other. Development has ceased.
  1. MultiOrb took the IRCMFD model and provided automation (to deal with the logical hurdle of advising other craft of orientation and accelerative changes), as well as expanding the supported craft range and addressing some of the relative position reporting issues. Again it didn't seek to address time differences. Development has ceased.
  1. OMP is a still-ongoing project, unrelated to the others outside of discursive advice, providing a more in-depth framework and seeking to address the time difference problem by synchronising the PCs with the simplified Network Time Protocol. Believed still under developement.
  1. Project Hamac is a proof-of-concept technology demonstrator, offering virtually no solutions to Orbiter technical hurdles (bar docking), but addressing most logical problems by implementing a physics server-graphical thin client model. Development has transferred to the Kosmos project.

No comprehensive product has yet been produced, and consequently this area of Orbiter development should still be considered experimental.

See also

Category:Multiplayer addons