How did you make your physics engine? Did you reverse-engineer a previous engine? Work with another engine and modulate it to your needs? Did you make the engine from scratch? I'm genuinely interested in how it was made; any details (I'm not asking for the source code!) you can provide on its development would be greatly appreciated! Furthermore, thank you for making this game commercially available to the public!
It's not made on T3D. It's coupled with T3D though, the physics are made from scratch(I think they're an upgrade from RoR); that's the "BeamNG" beam engine. Torque3D is used because you need more than just physics to play the game; T3D provides graphics, input, etc. The physics side of things looks about the same as RoR but with a lot of improvements, custom json file loading, lua. What cryengine was and torque is for is that it's a sort of interface between the physics and the player; a game - graphics, input, etc. like I said.
I'd guess the physics engine has been written from scratch. To build a physics engine, you take data from the real world to generate a set of equations that will model the way things happen as closely as possible. Then you run the equations through a simulation. Often the simulation won't be quite right and you'll have to tweak things to get it reacting in a believable way. Things like collision detection and allowing the models to deform on the fly are extremely complicated and likely took months or years to get working. To get a better idea of how it's done here's a tutorial on a simple physics engine done in javascript: http://burakkanber.com/blog/modeling-physics-javascript-gravity-and-drag/ As for the physics in BeamNG, the code is (once again a guess) probably based on Rigs of Rods, which is open source with the code here: http://sourceforge.net/p/rigsofrods/codehg/ci/default/tree/ So while BeamNG isn't open source anyone with enough knowledge in programming could probably use the code in Rigs of Rods to figure out what they're doing and how they're doing it. There's also other physics engines witch don't focus on damage simulation nearly as much, like Bullet Physics. Bullet Physics is open source and used in tons of games: http://bulletphysics.org/wordpress/ Hope that helps!
The physics engine is made from scratch coupled with GFX that is provided by Torque3D. Now about how such a physics engine can be made. It needs lots of studying (physics, math, programming etc.). Also working and thinking for years about these things helps (our previous work on Rigs of Rods). The complexity of the whole engine, needs extreme programming skills. For example, the highest paid computer programmers work in HFT (High Frequency Trading) companies. The reason for that is that in HFT every millisecond counts, so programs have to be as optimized as possible and you need the best of the best programmers to produce them. Our physics work in an even lower time frame than a millisecond. In that time frame we need to schedule multiple threads (without them stepping over each other) do the beam calculations, the aerodynamics calculations, the collision detection, etc. To be able to pull that, on top of the regular optimizations, we need to optimize for cache, be frugal with our CPU/memory bandwidth budget and a thousand other things.
I really appreciate the in-depth detail you've given! Any other information would be greatly appreciated, hahahahaha. I've got another question for whatever Devs happen to stumble upon the thread. With such an impressive engine, I'm just begging to know...what degrees (if any) do you hold and what Uni's did you go to?
I'll answer for myself. I have a degree in Electrical and Computer Engineering from National Technical University of Athens. I've also started (and not completed) a Phd in databases (more specifically spatial databases). I've also been working (as a researcher) for many years in data mining and big data techniques.