Announcement

Collapse
No announcement yet.

Blue man Vehicle Physics Plugin

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

    So just to confirm, once the client-authoritative netcode is in, it will be easily hackable in a competitive online game?

    Comment


      xetura, place the suspension components inside the collision bounds of your main vehicle mesh.

      Originally posted by Vaei View Post
      So just to confirm, once the client-authoritative netcode is in, it will be easily hackable in a competitive online game?
      Yes, I will be trying to do some detection systems but it won't be as safe as server authoritative movement. This is only the case if client mode is selected, standard server mode will still be safe.
      I will expose net update callbacks to BPs so developers can do their own detection systems if they need to.
      Assets: Military Ammunition (Released)
      Plugins: BlueManBPFunctionLibrary C++ plugin (Free), Blue Man Vehicle AI Plugin (Released), Air Resistance C++ Plugin (WIP), Blue Man Vehicle Physics Plugin (Marketplace)
      Projects: Giants Of Destruction

      Comment


        Originally posted by Blue man View Post
        xetura, place the suspension components inside the collision bounds of your main vehicle mesh.
        .
        At first I thought you meant my wheels had to be inside my vehicle collision lol, but I figured it out. You just need the origin(rotation point) of the wheels inside the collision bounds. Seems to be working! The only thing now is my suspension travel is pretty long. I guess I could make my wheel meshes slightly larger, but that won't change it much.

        Any word on removing and adding different engines or wheels as an actor? I can remove a wheel and replace it with one as long as it's an attached child, but I can't seem to bring in another. Also like I said before, removing the engine component while playing crashes the game/editor. Any advice on how to do this properly would be much appreciated. Thanks so much for the help so far.

        Comment


          Originally posted by xetura View Post

          At first I thought you meant my wheels had to be inside my vehicle collision lol, but I figured it out. You just need the origin(rotation point) of the wheels inside the collision bounds. Seems to be working! The only thing now is my suspension travel is pretty long. I guess I could make my wheel meshes slightly larger, but that won't change it much.

          Any word on removing and adding different engines or wheels as an actor? I can remove a wheel and replace it with one as long as it's an attached child, but I can't seem to bring in another. Also like I said before, removing the engine component while playing crashes the game/editor. Any advice on how to do this properly would be much appreciated. Thanks so much for the help so far.
          I will be adding and example for changing the wheel to my example project when I get some time to do so. Vehicle will fly into space if your new wheel has collision on it, in the next patch collision will get disabled for you automatically but for now you have to remove it manually. Open the static mesh editor and remove collision from your wheel. For the engine component, it is referenced in almost every component of the vehicle and that is why it crashes when you remove it. I would suggest making a function for now that takes presets so you can quickly change between different engine setups. I will look into adding a "Detach" function for it.
          Last edited by Blue man; 12-23-2017, 08:47 AM.
          Assets: Military Ammunition (Released)
          Plugins: BlueManBPFunctionLibrary C++ plugin (Free), Blue Man Vehicle AI Plugin (Released), Air Resistance C++ Plugin (WIP), Blue Man Vehicle Physics Plugin (Marketplace)
          Projects: Giants Of Destruction

          Comment


            Originally posted by Blue man View Post

            I will be adding and example for changing the wheel to my example project when I get some time to do so. Vehicle will fly into space if your new wheel has collision on it, in the next patch collision will get disabled for you automatically but for now you have to remove it manually. Open the static mesh editor and remove collision from your wheel. For the engine component, it is referenced in almost every component of the vehicle and that is why it crashes when you remove it. I would suggest making a function for now that takes presets so you can quickly change between different engine setups. I will look into adding a "Detach" function for it.
            Awesome. I'll be looking forward to the patch and new example project.

            Comment


              Originally posted by Blue man View Post
              xetura, place the suspension components inside the collision bounds of your main vehicle mesh.


              Yes, I will be trying to do some detection systems but it won't be as safe as server authoritative movement. This is only the case if client mode is selected, standard server mode will still be safe.
              I will expose net update callbacks to BPs so developers can do their own detection systems if they need to.
              Is GRIP the game you're currently working on? Saw it on Steam and it looked like it uses your plugin at least.

              Standard server mode will be unresponsive with any latency I assume, there's no client-side prediction going on is there?

              Looking forward to further updates on the client based prediction, currently it's broken (wheels jitter) but I assume you know that and it's because it's in development. I know what it's like working on a fulltime project where you're being relied on so not expecting any ETA, but if there is one at some point or any further updates please let me know I shall keep checking back here too. If you need anything tested or feedback that will assist in the netcode flick me a PM.

              Comment


                Originally posted by Vaei View Post

                Is GRIP the game you're currently working on? Saw it on Steam and it looked like it uses your plugin at least.

                Standard server mode will be unresponsive with any latency I assume, there's no client-side prediction going on is there?

                Looking forward to further updates on the client based prediction, currently it's broken (wheels jitter) but I assume you know that and it's because it's in development. I know what it's like working on a fulltime project where you're being relied on so not expecting any ETA, but if there is one at some point or any further updates please let me know I shall keep checking back here too. If you need anything tested or feedback that will assist in the netcode flick me a PM.
                It's not Grip (it would be amazing if it was ), their new physics simulation came out roughly when I released my plugin so they might be using it, don't know.
                I'm aware of the current issues with client side prediction, I will be rewriting it. Main problem is how to handle dynamic collision between 2 vehicle. This is the reason why Forza and other racing games go with client authority (I watched a few videos of it and other players are teleporting in poor network conditions instead of the local player, it shows that client has the authority).
                Assets: Military Ammunition (Released)
                Plugins: BlueManBPFunctionLibrary C++ plugin (Free), Blue Man Vehicle AI Plugin (Released), Air Resistance C++ Plugin (WIP), Blue Man Vehicle Physics Plugin (Marketplace)
                Projects: Giants Of Destruction

                Comment


                  Originally posted by Blue man View Post

                  It's not Grip (it would be amazing if it was ), their new physics simulation came out roughly when I released my plugin so they might be using it, don't know.
                  I'm aware of the current issues with client side prediction, I will be rewriting it. Main problem is how to handle dynamic collision between 2 vehicle. This is the reason why Forza and other racing games go with client authority (I watched a few videos of it and other players are teleporting in poor network conditions instead of the local player, it shows that client has the authority).
                  So basically the issue is that network/client are never completely precise and a difference in the transform position even to the 7th digit can cause a wildly different deflection angle?

                  Would a workaround (not sufficient for everyone, but for me it would be) be to use a capsule specifically for colliding players? It should minimize the potential error?

                  Grip really does look like your plugin!

                  Comment


                    Originally posted by Vaei View Post

                    So basically the issue is that network/client are never completely precise and a difference in the transform position even to the 7th digit can cause a wildly different deflection angle?

                    Would a workaround (not sufficient for everyone, but for me it would be) be to use a capsule specifically for colliding players? It should minimize the potential error?

                    Grip really does look like your plugin!
                    That is a problem too but that can be worked out with some transform smoothing. Basically the client is slightly in the future (it depends on the ping), when a new update from the server arrives it replays all the inputs to get the correct position, there will be errors as physx is not fully deterministic. Here is the problem, because client is always in the future, what happens if the client hits another vehicle in motion, client will hit it but by the time server gets to that point with the simulation the second vehicle is not even there and the collision never actually happened on the server. When the next net update arrives the client will se a big correction in their position.
                    Assets: Military Ammunition (Released)
                    Plugins: BlueManBPFunctionLibrary C++ plugin (Free), Blue Man Vehicle AI Plugin (Released), Air Resistance C++ Plugin (WIP), Blue Man Vehicle Physics Plugin (Marketplace)
                    Projects: Giants Of Destruction

                    Comment


                      How would I apply damage to the wheels or engine components? Is it even possible? If not, will it be possible to make an actor with the component the root of that actor so it can be damaged? Component damage is a huge feature of my game and I need to be able to damage wheels, make them handle differently, the engine, etc.

                      Comment


                        Originally posted by xetura View Post
                        How would I apply damage to the wheels or engine components? Is it even possible? If not, will it be possible to make an actor with the component the root of that actor so it can be damaged? Component damage is a huge feature of my game and I need to be able to damage wheels, make them handle differently, the engine, etc.
                        Any information on this? I don't see how it would be possible since you're supposed to delete the collisions for the wheels to work with this plugin. That and the wheels are components and not actors. Any ideas for a workaround would be appreciated.

                        Comment


                          Any news on the update to cure skeletal mesh Transforms, really needing this to be solved
                          Thanks
                          Sly

                          Comment


                            Does this have Multiplayer now or not? I get the impression that with a Dedicated Server it has Multiplayer right now as of today built in. So you are working on a Client-side Multiplayer function for now for the others who dont want to use dedicated servers?

                            You say "Vehicle's engine settings can be changed at runtime". What exactly are they, can you make a list please. Does this cover everything needed to make GTA style racing (not too arcady).

                            Comment


                              Originally posted by xetura View Post
                              How would I apply damage to the wheels or engine components? Is it even possible? If not, will it be possible to make an actor with the component the root of that actor so it can be damaged? Component damage is a huge feature of my game and I need to be able to damage wheels, make them handle differently, the engine, etc.
                              In the next update you won't be needing to remove the collision, it will set it to queries only (tracing). If you are applying damage with a raytrace you can manually set each wheel to queries and not full collision, you can do that by getting the first child of the suspension component and then you can set the collision type for the wheel mesh. If you have real projectiles than implement a custom damage system which would supply the receiving actor with damage location and with that you could determine if the wheel got damaged or not.
                              Assets: Military Ammunition (Released)
                              Plugins: BlueManBPFunctionLibrary C++ plugin (Free), Blue Man Vehicle AI Plugin (Released), Air Resistance C++ Plugin (WIP), Blue Man Vehicle Physics Plugin (Marketplace)
                              Projects: Giants Of Destruction

                              Comment


                                Originally posted by Sly401 View Post
                                Any news on the update to cure skeletal mesh Transforms, really needing this to be solved
                                Thanks
                                Sly
                                Sorry, the update got delayed a bit, new plugin is currently being worked on. I'm adding a few more things to the upcoming patch. I'm planning to release the patch next week and if I don't find time to add the stuff I planned to I will just release the bug fix.
                                Assets: Military Ammunition (Released)
                                Plugins: BlueManBPFunctionLibrary C++ plugin (Free), Blue Man Vehicle AI Plugin (Released), Air Resistance C++ Plugin (WIP), Blue Man Vehicle Physics Plugin (Marketplace)
                                Projects: Giants Of Destruction

                                Comment

                                Working...
                                X