5 ms·
Rendering things (~textures) already happens entirely locally. It has never been any other way. Also, intelligently rendering things at different resolutions in
by usea 4y ago
Rendering things (~textures) already happens entirely locally. It has never been any other way. Also, intelligently rendering things at different resolutions in different scenarios is ancient technology at this point [0].
Roughly speaking, the only thing that's happening over the internet in a multiplayer game is communicating information about players such as location and discrete actions performed. Small numbers about the state of the game, not graphics or textures or anything like that. When you move, the 2999 other players need to know where you moved to, or where you are now. This has to happen many times per second to create a believable simulation. Even just sharing things like "I moved 2 inches in this direction in the last 30ms" or "I pulled the trigger of my gun when pointing at this angle" between 3000 participants is extremely challenging. It is heavily affected by the particulars of the game design, too. A turn-based game has to communicate a lot less often. Games that can guarantee no interactions between certain segments of players can reduce the information as well. Many game designs require that all players have up-to-date information at all times, or that things don't happen out of order.
[0]: https://en.wikipedia.org/wiki/Level_of_detail_(computer_graphics) https://en.wikipedia.org/wiki/Level_of_detail_(computer_grap...
- deleted 4y ago[deleted]
- majormajor 4y agoI read Carlo Rovelli's book The Order of Time about time, relativity, etc. One of the striking things - that I couldn't fully follow, frankly - was something along the lines of there's a limited cone of spacetime for which you can even tell what relative order things happen in. That there's not a valid concept of "simultaneity" for places far, far, far apart due to speed of light, time dilation, whatnot. So: just design a game where your players are so far apart that the speed of light is the mechanism that guarantees no interactions between some players. ;) But more relevantly, this seems to be one of those problems that's been hampered by the slowing of single-core performance. Though disk and memory and network keep getting faster, so I wonder what the absolute limit if a game really focused on processing single state globally above all else would be. Maybe even at high bandwidth the latency to thousands of players wouldn't be good enough to get all the updates out?
- Scaevolus 4y ago> just design a game where your players are so far apart that the speed of light is the mechanism that guarantees no interactions between some players. ;) EVE Online :)
- lifeisstillgood 4y agoHonestly it's one thing that almost convinced me the universe is really a version of the Matrix - like an ant farm running in some alien bedroom.
- Dylan16807 4y agoFor a single person in VR, you can track 6 positions, 3 with orientations too, using about 36 bytes. Add some more state and let's say 50 bytes per update. If you update the hundred most visible people at 60fps, and the rest at 10fps, then you could have 3000 people walking around the same area with about 14Mbps of bandwidth. That's quite doable! Gunplay adds more data for bullets but also you probably don't need such detailed positioning, and you can get away with sending the positions of only the nearby players and bullets.
- charcircuit 4y agoYour math is wrong and 6 positions and 3 orientations is not enough to communicate an entire player's skeleton. It's important to send skeletons that way each player only has to solve for bone positions and orientations for just themselves instead of for thousands of players. You will also want to send weights for blenishapes for face tracking. Another thing you left out was the audio data for voice chat.
- Dylan16807 4y ago> Your math is wrong and You can't just say that. Show your work. 4 bytes can give you 2mm resolution within a 2.5x3.5x3.5 meter box. 1250x1750x1750 < 2^32 4 bytes can also give you orientation within 1/6 of a degree. ~42000 square degrees on the surface of a circle x 360 for rotation x 6^3 < 2^32 This could be slightly more optimal but it's a good round baseline. Improving it is a matter of a handful of bits. > It's important to send skeletons that way each player only has to solve for bone positions and orientations for just themselves instead of for thousands of players. How long does it take to calculate? Modern CPUs have a lot of cores, and GPUs can do so much math. > Another thing you left out was the audio data for voice chat. I did, because you don't need to hear 3000 people. And the server could merge large groups of further-away people into single tracks if you really wanted it. A hundred Opus tracks can fit into 2-3Mbps.
- DonHopkins 4y agoIt's incumbent upon you to show your work first, before demanding somebody else do it first. And if really helps if your math and understanding of bandwidth and latency isn't wrong, and even more if you can show you have some actual first hand experience in the field, like developing and shipping a working product. I don't think your numbers add up either, and you're wildly underestimating the difficulty and complexity of the problem. Which real time multi player VR simulations have you shipped? I'm happy to show you my work, an application called "Pantomime" that I developed and shipped 7 years ago, which runs smoothly over local WiFi, but terribly over long haul internet. My work that I'm showing you taught me that merely 2mm translational resolution and 1/6 degree rotational resolution would totally ruin the physics simulation and sense of immersion and realism: https://www.youtube.com/watch?v=NEeFdDluEJ8 https://www.youtube.com/watch?v=NEeFdDluEJ8 https://apps.apple.com/nl/app/pantomime-bug-farm/id969738938 https://apps.apple.com/nl/app/pantomime-bug-farm/id969738938 https://apps.apple.com/nl/app/reality-construction-kit/id1514708594 https://apps.apple.com/nl/app/reality-construction-kit/id151... Representing user input and object rotations and positions as precise floating point numbers is absolutely necessary when there is a physics simulation involved (see "good VR" prerequisite #3 below, "graphically and physically realistic worlds"). The "Butterfly Effect" explains why slight differences in initial conditions (and especially the high frame and precision with which the iPad can measure real time human input gestures, which can be meaningfully gentle and nuanced, like carefully balancing a spinning coin on an iPad, or gently pushing over a stone monolith -- see 2:00 in the video I linked to above) will cascade into enormous differences in later state. https://en.wikipedia.org/wiki/Butterfly_effect https://en.wikipedia.org/wiki/Butterfly_effect The person giving the Pantomime demo is my colleague David Levitt, who used to work with Chuck Blanchard, Thomas Zimmerman, and Jaron Lanier at VPL, and whose definition of the three goals of "good" VR I've written about on HN before, over 8 years ago: https://news.ycombinator.com/item?id=8023893 https://news.ycombinator.com/item?id=8023893 DonHopkins on July 12, 2014 | parent | context | favorite | on: What I mean when I say "I think VR is bad news" Here are three goals for "good VR" from David Levitt, with whom I work at Pantomime Corporation, and who used to work on VR at VPL: http://pantomimecorp.com/pantomime-technology/virtual-reality/ http://pantomimecorp.com/pantomime-technology/virtual-realit... When Pantomime co-founder Levitt was a research scientist and product manager with VPL Research, the inventors of virtual reality, they had three prerequisites for a VR system: 1) a way to reach in, in 3D 2) shared reality — support for multiple users and viewpoints 3) graphically and physically realistic worlds VPL offered a DataGlove to provide 3D input, while its flagship Reality Built for Two VR product offered networked multi-person worlds. Expensive graphics computers and custom hardware brought the full 1992 price to $500,000, which only a few huge corporations could afford. When Dr. Levitt joined VPL, thanks to an amazing infrastructure by lead VPL engineer Chuck Blanchard, he added realistic gravity, collisions, and throwing a ball into the VR system for physical realism. But two decades later, the public and technologists have become so impatient that the new systems calling themselves VR have punted even on the core original criteria. Head-mounted systems like the Oculus Rift offer no way to reach in. In demos, visitors twiddle a 1980s style game joystick. And users don’t natively network — in an Oculus demonstration you don’t see the other users in the VR world — not even the other players sitting alongside you in the demo. http://pantomimecorp.com/2014/06/10/facebook-vp-to-pantomime-ceo-we-need-interactive-virtual-reality/ http://pantomimecorp.com/2014/06/10/facebook-vp-to-pantomime... David Levitt: "I work in Virtual Reality, and everyone’s wondering what you can say about your acquisition of Oculus VR. In particular, I’ve had demos of it: I could look around but I couldn’t reach in. Do you have solutions for that that you can talk about?" Jay Parikh: “You can’t interact with anything. These are big, hard problems … what you do with your hands, because you can’t do anything with your hands — or it’s hard to be using a controller when you can’t see your hands and you have the goggles on — these are problems we have to solve in a good and seamless way.” More on the VPL DataGlove: http://www.britannica.com/EBchecked/topic/630181/virtual-reality-VR/253105/Entertainment#ref884340 http://www.britannica.com/EBchecked/topic/630181/virtual-rea... [...]
- Julesman 4y agoThanks for the explanation.