<div dir="ltr"><div dir="ltr"><div dir="ltr"><br></div><div>MMO - massively multiplayer online</div><div>DIS distributed interactive simulation - a web3d component 28</div><div>CONCEPT: web3d browsers load identical scenes, and share sensor events, and each instance does its own routing diagram after sensor event is shared.</div><div><a href="https://freewrl.sourceforge.io/tests/28_Distributed_interactive_simulation/elevator/MMO_Sensor_sharing.mp4 ">https://freewrl.sourceforge.io/tests/28_Distributed_interactive_simulation/elevator/MMO_Sensor_sharing.mp4 </a> <br></div><div>- 2 instances of freewrl with DIS activated, showing same elevator3.x3d scene<br></div><div><a href="https://freewrl.sourceforge.io/tests/28_Distributed_interactive_simulation/elevator/">https://freewrl.sourceforge.io/tests/28_Distributed_interactive_simulation/elevator/</a><br></div><div>- in video we can see avatar of other instance as green cone</div><div>- when current scene clicks elevator up button, it relays that sensor click event to other app instance, which triggers the elevator in the other scene to go up at the same time</div><div>- the avatar in the other scene rides its elevator up, and sends its new avatar pose to the current scene, so appears they are riding up elevator together.</div><div>- the code sensor intercept point is general enough to capture TouchSensor, GeoTouchSensor, LineSensor, PointSensor (not web3d spec), PlaneSensor, MultiTouchSensor (not web3d spec), CylinderSensor, SphereSensor, ProximitySensor, GeoProximitySensor, Anchor. </div><div>- it broadcasts sensor events to other app instances via DIS CommentPdu, which has variable number of variable-length records. All sensor hits on a frame are queued, and when processing dis send events, it reads the queue and packs into a single CommentPdu and broadcastes. </div><div>- other app instances once per frame in dis_receive function parse the pdu stream, and direct all CommentPdus to the pdu2sensor function, which iterates over the CommentPdu variable records and calls the appropriate sensor functions for each sensor event.</div><div>-Doug</div><div><br></div><div><br></div></div></div>