Host my own Beam NG multiplayer server

Discussion in 'General Discussion' started by kapicarules, Oct 11, 2017.

  1. atv_123

    atv_123
    Expand Collapse

    Joined:
    Aug 5, 2012
    Messages:
    1,206
    As suggested before in many many other threads (although I see this is your first post, so I won't go into that) we know multiplayer isn't impossible. We know this entirely. It is much more complicated for a game Like BeamNG and RoR than, lets say, a typical car game like Forza where, as you stated, all you would need is, "the Information (like the Vector) that describes the position and movement of the car, Car Type and styling". In other games, you are totally correct. That is almost all that is needed and the game can just calculate the rest based on the geometry of the known car model that is already in the games files.

    BeamNG... well... it doesn't work this way. Not if you want it to be accurate anyways. BeamNG uses Nodes and Beams to simulate its vehicles. Every node has a position that needs to be taken into account. Luckily... as long as you keep track of which node is which... rotation is no longer a problem this way. That being said though... there can be upwards of 500 nodes per car at times... that can be a lot.

    Again though... I say this, but as discussed before, this isn't even the problem. It has been proven that there are functioning methods that can transmit the position of all the nodes based on the reference nodes positions, and then apply rotation to the reference nodes only to transmite a full blown representation of a vehicle. Plus, to add to that, the data stream can be compressed enough that multiple vehicles can be handled with even the most average internet connection.

    The problems with multiplayer arise when you try to apply collisions to this physics engine over the internet. If even the slightest bit of lag happens, both cars end up getting torn to shreds... I experienced this in RoR when multiplayer collisions were in their infancy. Even lightly hooking up to someone else's car with my tow truck ended up scattering both of our vehicles halfway across the map. Or running into someone would end up with you phazing half way through them before both vehicles just went mental. Remember when in the early days of BeamNG you would hit another car and get crash welded to it almost every time? Imagine that about 100 times worse in multiplayer and having that collision being a ticking time bomb for blowing the vehicles to kingdom come. That was RoR's multiplayer collisions.

    The great hurdle is how to make the collision system stable enough to work across iffy internet connections. I am sure estama is probably pulling his hair out somewhere over this very problem right now as he has basically had his hands in it since the RoR days.
     
    • Agree Agree x 3
  2. Shotgun Chuck

    Shotgun Chuck
    Expand Collapse

    Joined:
    Mar 6, 2015
    Messages:
    1,312
    I may or may not be taking this as a sign that official multiplayer is in the plans at some point.
     
    • Agree Agree x 1
  3. NoahMarcelh

    NoahMarcelh
    Expand Collapse

    Joined:
    Jan 7, 2015
    Messages:
    123
    Maybe it is, i hope so!
     
  4. BombBoy4

    BombBoy4
    Expand Collapse

    Joined:
    May 16, 2015
    Messages:
    2,046
    I think it has more to do with the EULA, or causing security issues.
     
    • Agree Agree x 3
  5. Dean Wang

    Dean Wang
    Expand Collapse
    Banned

    Joined:
    Sep 22, 2016
    Messages:
    2,055
    Is multiplayer even possible in t3d ?
     
  6. BombBoy4

    BombBoy4
    Expand Collapse

    Joined:
    May 16, 2015
    Messages:
    2,046
    Yes, but .drive is very different. The devs said they wanted beam to be its own engine at some point, but don't quote me on that.
     
  7. Dyghaun

    Dyghaun
    Expand Collapse

    Joined:
    Jul 12, 2017
    Messages:
    151
    there's a two way problem...

    on one hand we could stream as little data as possible and have the complex processing of crashes happen individually at each end.
    with that, input lag isn't the real problem but at the cost of precision...
    for this 'theory', my and your PC could run just like in single player, with your controls directed to an AI vehicle in my simulation and the same for the other way around.

    however, the way beam works, means that the AI I see, your representation, may not be exactly where you are in your game, specially playing for longer time.
    So there has to be some correction for that...
    However, no matter how well implemented is that correction, the complex car interactions would always differ between players.

    For hard crashes that nobody drives away from, I can see that working, but for things such as demolition Derby, you can't get good results from this method.

    If I only tell you where I am, but let you process how damaged I'll be from a crash in your PC, and my PC processes the same for me, we can get differing results
    (you process I loose a wheel and my PC says I keep it for instance)

    that happens because some parameters in Bng are processed at the gfx rate.
    so in order for two PCs to produce the same results theirs frames would need to be perfectly in sync. Impossible...

    the other approach, in order to keep precision, is to stream the data about every node and possibly even every beam between PCs.
    that way the results of crashes are the same in every PC participating
    now I don't only tell you where I am and allow you to calculate, instead I tell you where's every part of me, how I am.
    And you tell me the same.
    basically at the same time I'll be trying to calculate what happens with me and update it to you, while you're doing all the same.

    it becomes clear how that can lead to lots of issues like phasing into each other, welding and exploding...
    Not to mention the incredible input lag you get.

    So, as you can see, there's no easy way to get beam online in a satisfactory way.
    Until devs find solutions for these problems or decide on what compromises to take, our only option is to enjoy single player.
     
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice