Search Unity

Server-side dead reckoning?

Discussion in 'Multiplayer' started by duke, Oct 30, 2009.

  1. duke

    duke

    Joined:
    Jan 10, 2007
    Posts:
    763
    This isn't directly related to Unity, but definitely relevant to networking with Unity! Has anyone looked into a simple, non-graphical engine that takes collision hulls (probably as fbx or obj's) to calculate dead reckoning and server-side authentication of player movement?

    I'm thinking Newton (http://newtondynamics.com/forum/newton.php) may be a good candidate. Plug it in to the server as a library, and to the client/Unity for development to check that results in Unity are the same or very similar to those verified in Newton. This would be for checking that:

    -Players are walking on and not under or above terrain.
    -Players are being obstructed by static objects like buildings, rocks, trees and not sailing through them.

    Has anyone done anything along these lines?
     
  2. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    with the headless client you could, given you have a windows / osx server, actually use a specifically written client to fullfill that job as it is granted to do all as it is required.

    if I were to write one from ground up then I would either use physx (for beeing on the same tech as unity) or bullet

    newton just does not want to be used with its licensing and technical level.
     
  3. duke

    duke

    Joined:
    Jan 10, 2007
    Posts:
    763
    Headless Unity sounds over-heady-y :p I'd forgotten Unity used PhysX, so i'll look into that - and thanks for the heads up on Newton.

    It's also appealing that I can offload a great deal of the simulation code to the GPU.
     
  4. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    if you have a server with a cuda capable gpu and that on a gaming server, you did something misserably wrong ;)
     
  5. SixTimesNothing

    SixTimesNothing

    Joined:
    Dec 26, 2007
    Posts:
    167
    I've been thinking of doing something like this using Photon along with PhysX (using a C# wrapper).

    I haven't really progressed on it yet as the PhysX bit is kinda hard and I haven't had time to look into it more, but I think it would be a pretty good solution.