|
Not even sure what that means @ deadowl. If anyone knows anything about scripting, please explain it in a simpler form lol. I've just always thought that they could just duplicate the public room..
|
So on the internet, the two most common transport protocols are UDP and TCP. A transport protocol is the technology that's responsible for transmitting data between two computers. TCP ensures that all data gets through. UDP doesn't.
Here's a really dumbed down version. TCP is ideally 3 steps which is what happens if you leave out all the 1.1, 1.2, 2.1, and 2.2:
1. Hey other machine on the internet, can you give me this data?
1.1. Hey other machine on the internet, did you get that? I'm asking for this data. (Repeat as needed)
1.2. I saw you tried sending me a message, but I couldn't understand it, could you try again? (Repeat as needed)
2. Here's the data.
2.1. Hey, did you get the data? I'm not hearing that you got the data. (Repeat as needed)
2.2. Hey other machine on the internet, I didn't hear that! the signal's bad can you try again? (repeat as needed)
3. Okay I got it.
UDP is more like:
1. Server can you give me the data?
2. Sure, here ya go, if any of the data gets screwed up on the way, I provided a means for you to figure that out.
So basically what goes on with TCP connections (which everyone is using), is that there is chatter back and forth between your player, the server and other players. The more players there are, the more data being sent, the more lag.
Now with events, you could maintain TCP connections for the host and the participants, and set up a client feature for spectating events that just blasts data over UDP to everyone that wants to watch, everything's just being broadcast by the server and if you get a fuzzy signal you have to live with that. That would prevent lag from the number of spectators causing issues, while at the same time making it available for viewer consumption. It's not all that different from someone running a Twitch stream alongside an MMO (minus the IRC).
A crude MS Paint chart:
Edit: should note that I don't know whether players game clients talk directly to one another (I speculate that they do), but it definitely increases the volume of data being transferred, in which case the lines on the left side of the graph would represent data transfer sources and destinations without intermediaries.
The least trivial way to implement this would just be to have events streamed to a service like Twitch by a host (assuming they can stream a full screen version) or a bot. Doing it at the server level would be a more difficult task and would require a programmer with a background in computer networks programming.