Editing Project Hamac

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 4: Line 4:
 
}}
 
}}
  
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.
+
==History==
 +
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 multi-player 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 multiplayer 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, 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.
+
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.
  
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.
+
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.
  
 
==See also==
 
==See also==
* [[Multi-player]] -- an overview of multi-player add-ons for Orbiter
+
[[Multiplayer]] -- an overview of multiplayer addons for Orbiter
* [[IRCMFD]]
 
* [[Multiorb]]
 
* [[OMP]]
 
  
[[Category:Articles]]
+
[[IRCMFD]]
[[Category:Add-ons]]
+
 
[[Category:Utilities add-ons]]
+
[[Multiorb]]
[[Category:Multi-player add-ons]]
+
 
[[Category:Add-ons by David Henderson]]
+
[[OMP]]
 +
 
 +
[[Category:Addons]]
 +
[[Category:Multiplayer addons]]
 +
[[Category:Addons by David Henderson]]

Please note that all contributions to OrbiterWiki are considered to be released under the GNU Free Documentation License 1.2 (see OrbiterWiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)

Template used on this page: