[x3d-public] Multiplayer strategies

GL info at 3dnetproductions.com
Thu Feb 28 05:46:47 PST 2019


John, While a "proper" NetworkSensor implementation on the client side may not currently be possible, the specification remains a little too incomplete to make much advances on the counter-part server side and the server-to-server communication that will need to occur as well. For obvious reasons, both the client and server sides should preferably be developed concurrently, but in the absence of such best-case-scenario opportunity, I'd continue to advocate looking at possible solutions that would fit with the current and future 3D-in-the-web-browser schemes. May it have a different approach under a different name, perhaps a subset of NetworkSensor, but in any case, 3D scenes, objects and avatars need to have the ability to communicate and exchange data between clients.  

 

Having said that, I take Don's point about the difficulties inherent to modifying schemas in real-time. The funny thing  is, I was always under the impression that this was precisely one of the advantages of moving to XML encoding.  Can you say 'cognitive dissonance'? The price you pay for not paying attention for too long, or maybe there is something I am missing. Luckily, I don't have that issue with Classic VRML, which I use at the MU client's core, and typically inline X3D assets on top of that. Javascript and WebSockets is what I was planning on using to build a Web browser based MU client, tough I was really hoping for a solid X3D standard, but now that you mention AJAX, I feel we're somewhat getting closer… though the risks are very high as I was saying. Also thanks for the s-expressions tip. Cheerz

 

 

 

From: John Carlson [mailto:yottzumm at gmail.com] 
Sent: Wednesday, February 27, 2019 10:43 PM
To: info at 3dnetproductions.com; x3d-public at web3d.org
Subject: RE: [x3d-public] Multiplayer strategies

 

No, we should not renew the networking group with the current proposal.  >From the website:

 

“Because the NetworkSensor node allows definition of new fields by name, a proper implementation requires native X3D-player support and a full Prototype-based implementation is not possible.”

 

I talked to Don about this last night, and extending/modifying the schema or X3DUOM in real-time seems like a no-go, but I would wait for a python or JavaScript profile that contains it.  The quoted phrase is kind of politically phrased.  Java, C, C# and C++ can do it, you have to extend them through dynamic linking or class loading at runtime.  You can get object systems for them (Amulet for C++ comes to mind, https://www.cs.cmu.edu/afs/cs/project/amulet/www/amulet-home.html), but it’s been more acceptable to use firmly defined data structures (despite PROTO existing). My suggestion to Don was that we want to add, change or delete schema nodes and schema fields in real-time.   Getting several hosts to do this together in realtime may be difficult.

 

It seems that changing the schema in real time is not acceptable to this universe. Changing the schema (nodes, especially grouping node changes)  is what breaks X3D-Big-Bang. You have to dang start all over again creating test cases. Or filter through all your test-cases to determine which ones are no longer legal (even though there may not be any).

 

If you really want to do it in Java, I have a suggestion, add a new jar into Java at runtime (yes I’ve done this, you can pay me for details, a 12-pack of ginger ale will do, but I can’t promise you it will work in the newer versions of Java). Don wouldn’t accept my “patch” to do this, so it’s no longer free.

 

Let’s do dynamic semantics? Ever play a game with changing rules (dang that sounds interesting to program on the computer)?  There’s nothing new under the sun said a book that doesn’t change. Is there a new edition of the universe?

 

Once you accept a schema changer into the standard, the standard falls apart, period.  If you want your own schema without learning XML Schema, we are developing tools for that.  See X3DUOM and associated projects. “Define your own X3DJSAIL extensions”  We’ll have to have versioned Java classes, I guess.

 

Again, session.io (WebSockets),  DIS or AJAX, take your pick.  DIS seems like it’s the best thing for Native Client, and the JavaScript and WebSockets solutions are best for the web.  Websockets hint: https://hackernoon.com/scaling-websockets-9a31497af051  I doubt if session.io will scale (we had problems with 2 clients in a space game), so you’re frankly left with AJAX and websockets.  There was this: https://en.wikipedia.org/wiki/Project_Darkstar (written in Java, server side, now known as reddwarf server).

 

Why can’t we add a bunch of SFStrings to an MFStrings to do networking?

 

John “s-expressions are the bomb, xml and json are toy squirt guns caused by C and UNIX” Carlson

 

>What is needed is a decentralized array of MU servers operating in VR zones. I've thought about adapting the X3Daemon server to X3DOM and/or WebGL to do just that, and it should work great. But the issue is, once we start doing this, and anyone at large can connect to a server in the array, then the potential for data stream coding errors, hack attempts and mischief would go off the chart. That leads us back to good old NetworkSensor, which should have clearly defined specifications, standards, format, protocol and parameters about what can pass through it. Servers could then filter the traffic content to ensure compliance before accepting and responding to network requests.  Unfortunately, that area of X3D development seems to have stalled years ago. The mailing list (link below) is silent except for the monthly reminders. Maybe this would be a good time to revive the working group.  GL

 

 

>http://www.web3d.org/x3d/content/examples/Basic/Networking/NetworkSensorConnectionNodes.html

 

>http://web3d.org/mailman/options/x3d-networking_web3d.org/

 

 

 

 

 

From: x3d-public [mailto:x3d-public-bounces at web3d.org] On Behalf Of Christoph Valentin
Sent: Tuesday, February 26, 2019 2:30 PM
To: Albert Jan Wonnink; x3d-public at web3d.org
Subject: Re: [x3d-public] Multiplayer strategies

 

Hi Albert.

I agree to all of these and I would like to add the requirement for MU capable, simulated and/or animated interactive models like cars, helicopters and so on in addition to avatars, where models should be reusable in all multiuser scenes.

My 2c

Christoph 
-- 
Diese Nachricht wurde von meinem Android Mobiltelefon mit GMX Mail gesendet.

Am 26.02.19, 18:43, Albert Jan Wonnink <awonnink at hotmail.com> schrieb:

I think one has to consider extensions that we might need in the near future, like having the same personal avatar (or even a real time point cloud based look-alike model) that can be used on every multiplayer 3d website. These should also work when overlaying the real world with a virtual one (AR).

 

It seems to me that cloud based services will be needed to do the synchronization of these avatars, moving objects and chat on a web location.

 

To accomplish this, one could allow the website owner to specify the ‘synchronization provider’ url in their pages, that should work with a specified public protocol for these synchronizations.

 

Of course the protocol should also provide functionality for private meetings.

 

Albert Jan

 

Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986>  for Windows 10

 

_______________________________________________ x3d-public mailing list x3d-public at web3d.org http://web3d.org/mailman/listinfo/x3d-public_web3d.org 

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20190228/b448d6c4/attachment.html>


More information about the x3d-public mailing list