Difference between revisions of "Project Hamac"

From OrbiterWiki
Jump to navigation Jump to search
(Hamac summary)
 
m
Line 4: Line 4:
 
}}
 
}}
  
==History==
+
Having experience with first and second generation [[Multi-player|multi-player]] projects in [[IRCMFD]] and [[MultiOrb]], the [[CCCP Fleet|CCCP Team]] were looking for multi-player strategies for their in-development simulator [http://openkosmos.sourceforge.net/ Kosmos]. Two methods were suggested. The first was developed wholly internally by Russell Smith based on plans for [[MultiOrb]] before it was shelved. The second, a 'thin client' system, had no previous developments to build on, so a plug-in for Orbiter was made to obtain test results.
Having experience with first and second generation [[Multiplayer|multiplayer]] projects in [[IRCMFD]] and [[MultiOrb]], the [[CCCP Fleet|CCCP Team]] were looking for multiplayer strategies for their in-development simulator [http://openkosmos.sourceforge.net/ Kosmos]. Two methods were suggested. The first was developed wholly internally by Russell Smith based on plans for [[MultiOrb]] before it was shelved. The second, a 'thin client' system, had no previous developments to build on, so a plugin for Orbiter was made to obtain test results.
 
  
 
==Method==
 
==Method==
Using bare TCP and UDP connections between server and clients, Project Hamac would rightly be a third-generation multiplayer system, in the same bracket as [[OMP]].
+
Using bare TCP and UDP connections between server and clients, '''Project Hamac''' would rightly be a third-generation multi-player system, in the same bracket as [[OMP]].
  
 
The concept of the ''thin client'', however, means Orbiter is only used as the rendering engine and supplier of basic ship-local physics (rotation, thrust, docking etc.). A central physics server determines the dynamics, specifically the orbit, and controls the flow of data to the clients providing a jitter-free inter-user experience at the expense of slight lag when executing translations.
 
The concept of the ''thin client'', however, means Orbiter is only used as the rendering engine and supplier of basic ship-local physics (rotation, thrust, docking etc.). A central physics server determines the dynamics, specifically the orbit, and controls the flow of data to the clients providing a jitter-free inter-user experience at the expense of slight lag when executing translations.
  
 
==Current status==
 
==Current status==
Whilst some modifications were made to the code to make the system user-facing, mutliple problems were encountered when trying to extend the system to Orbiter (for example, when a ship is docked, it will not update its position at the same time as a neighbour making three-way docking impossible with this system), consequently development was stopped as the technique was proven as successful and the [http://openkosmos.sourceforge.net/ target system] will not have these problems that need to be worked around.
+
Whilst some modifications were made to the code to make the system user-facing, multiple problems were encountered when trying to extend the system to Orbiter (for example, when a ship is docked, it will not update its position at the same time as a neighbor making three-way docking impossible with this system), consequently development was stopped as the technique was proven as successful and the [http://openkosmos.sourceforge.net/ target system] will not have these problems that need to be worked around.
  
The project, comprising the physics server (''orbits'') and the plugin (''hamac.dll''), is publically available for users to experiment with or to deploy a public service.
+
The project, comprising the physics server (''orbits'') and the plug-in (''hamac.dll''), is publically available for users to experiment with or to deploy a public service.
  
 
==See also==
 
==See also==
[[Multiplayer]] -- an overview of multiplayer addons for Orbiter
+
* [[Multi-player]] -- an overview of multi-player add-ons for Orbiter
 +
* [[IRCMFD]]
 +
* [[Multiorb]]
 +
* [[OMP]]
  
[[IRCMFD]]
+
[[Category:Add-ons]]
 
+
[[Category:Multi-player add-ons]]
[[Multiorb]]
+
[[Category:Add-ons by David Henderson]]
 
 
[[OMP]]
 
 
 
[[Category:Addons]]
 
[[Category:Multiplayer addons]]
 
[[Category:Addons by David Henderson]]
 

Revision as of 18:47, 7 March 2007

Project home: Project Hamac
Author: David 'dh219' Henderson
Current version: Unknown
Compatibility: Unknown


Having experience with first and second generation multi-player projects in IRCMFD and MultiOrb, the CCCP Team were looking for multi-player strategies for their in-development simulator Kosmos. Two methods were suggested. The first was developed wholly internally by Russell Smith based on plans for MultiOrb before it was shelved. The second, a 'thin client' system, had no previous developments to build on, so a plug-in for Orbiter was made to obtain test results.

Method

Using bare TCP and UDP connections between server and clients, Project Hamac would rightly be a third-generation multi-player system, in the same bracket as OMP.

The concept of the thin client, however, means Orbiter is only used as the rendering engine and supplier of basic ship-local physics (rotation, thrust, docking etc.). A central physics server determines the dynamics, specifically the orbit, and controls the flow of data to the clients providing a jitter-free inter-user experience at the expense of slight lag when executing translations.

Current status

Whilst some modifications were made to the code to make the system user-facing, multiple problems were encountered when trying to extend the system to Orbiter (for example, when a ship is docked, it will not update its position at the same time as a neighbor making three-way docking impossible with this system), consequently development was stopped as the technique was proven as successful and the target system will not have these problems that need to be worked around.

The project, comprising the physics server (orbits) and the plug-in (hamac.dll), is publically available for users to experiment with or to deploy a public service.

See also