Jump to content

Bullet physics in mta


Recommended Posts

Is there really need physics for bullets? Render distance in MTA on its own is really terrible, as such having bullets that fall slowly wouldn't make much of sense as bullet wouldn't start falling before it would reach render distance. None the less, this looks really fun to play around with and make some cool stuff with so i could see some other use with this.

Link to comment
  • 2 weeks later...

Awesome idea, however it sounds impossible for a single person. Since collisions are client-side, bullets, object and ped ragdolls will be asynced. It may cause additional problems in future so you have to deal with server as well.

Anyway i guess it's time to go onto the next level for good old SA so good luck ?

Link to comment
  • 3 weeks later...
  • 3 weeks later...
  • 2 months later...
  • 2 months later...
  • 7 months later...
  • 7 months later...
  • Moderators

Looks very cool CrosRoad.

Will there also be a Serverside implementation? (Would be nice to have a {backwards compatible} module)

And will it be possible to create separate environments on multiple threads?

Link to comment
39 minutes ago, Einheit-101 said:

Really not trying to flame or whatever, but sadly i doubt that this will release ever. 

Also, nice to see you back, The_GTA! 

Com' on, man! You know I am a dreamer just like most of us here. Let our inspired people work on things they are passionate about. Since OP has created documentation and implementations already, he has a good chance to get beyond the development stage into testing stage. Maybe OP grows up in the process, becomes better and better at development.

Edited by The_GTA
Link to comment
19 minutes ago, Einheit-101 said:

He already is pretty good at that, the problems are more likely his time and MTA team not implementing pull requests, especially not such big ones. It would be amazing to see it live. 

I don't think we are fully aware of the risk associated with big features like this:

  • Is the proposed API easy to learn for scripters?
  • Has the Bullet API been properly used according to documentation, best practices?
  • Is there any exploit inside the Bullet collision framework that could be escalated to crashes or worse?
  • What about longterm support of this feature? Will OP be around to keep the code up-to-date?
  • Are there any estimations about the cost/benefit tradeoffs?

But maybe this is being too cruel to new feature proposals. Consider the amount of time that new content like this takes for development. Verification should take less time, if there was an elected board of experts for decisions like this.

Possible Benefits:

  • Bullet Collision is known across the internet so we could attract scripters that want more "bang for their buck"
  • Encouragement for working on new features can be increased
Edited by The_GTA
  • Like 1
Link to comment

More interesting question would be:

- Is it compatible with default SA world collision system? So I can use it with default SA map/objects without any further modifications.

- If the first point is true, serversided logic will be hard to implement since server is not aware of the physical SA world. We talked about this problem in general and someone came up with a simple collision mesh of the default SA world being loaded by server to handle certain physics calculations, though kinda got lost somewhere.

Link to comment
  • Moderators
36 minutes ago, -ffs-PLASMA said:

More interesting question would be:

- Is it compatible with default SA world collision system? So I can use it with default SA map/objects without any further modifications.

- If the first point is true, serversided logic will be hard to implement since server is not aware of the physical SA world. We talked about this problem in general and someone came up with a simple collision mesh of the default SA world being loaded by server to handle certain physics calculations, though kinda got lost somewhere.

It doesn't appear to be making use of GTA objects. Atleast I base that on the previews.

A Serverside implementation could be interesting, when you add the collisions yourself.

Link to comment
54 minutes ago, -ffs-PLASMA said:

More interesting question would be:

- Is it compatible with default SA world collision system? So I can use it with default SA map/objects without any further modifications.

- If the first point is true, serversided logic will be hard to implement since server is not aware of the physical SA world. We talked about this problem in general and someone came up with a simple collision mesh of the default SA world being loaded by server to handle certain physics calculations, though kinda got lost somewhere.

- SA physics consist of cones, triangles, boxes and spheres. Bullet Physics supports all of those collision objects so yes. But you cannot just embed Bullet Physics into the game world without heavily patching the GTA SA game executable. Since there is engineRequestModel now I do not see the point why, you can just create a .col file for that instead.

- Since GTA game physics depend on FPS, it is not recommended to perform GTA game physics calculations on the server. Loading the game world is possible if you copy the game files onto the server (every game client has the same collision files). I would find it cool if Bullet Physics enabled us to write small minigames that are not embedded into the GTA game world. Then you can perform custom time-based synchronization across all game clients through the server.

Edited by The_GTA
Link to comment
51 minutes ago, The_GTA said:

Since GTA game physics depend on FPS, it is not recommended to perform GTA game physics calculations on the server. Loading the game world is possible if you copy the game files onto the server (every game client has the same collision files). I would find it cool if Bullet Physics enabled us to write small minigames that are not embedded into the GTA game world. Then you can perform custom time-based synchronization across all game clients through the server.

That leads to the well known problem of syncing. How do you sync physics behaviour between clients it ultimatively depends on clients FPS?

What I was refering to is make a simple collision mesh of the default SA map, load it completly or in chunks into server, but without built in GTA functions as you will quickly hit the limit. Once the server has such a navigation mesh, syncing of elements (vehicles/projectiles) could be offloaded to server for more accuracy rather than depending on clients sync.

  • Like 1
Link to comment
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...