Quote: "what sort of commands do people think is needed "
I don't have much experience with physics but exactly because of that I think the most simple way to go about this is to have physics bodies already defined and we could use this physics bodies on any mesh we choose.
bodyID = SetCarBody(int meshID);
wheelid = SetCarWheel(int bodyID, int wheelMeshID, int bodyMeshID)
SetCarWheelDriven(int wheelID, bool val)
So then, any wheel we choose for the body, regardless where we position them will be joint with the body and the one seleced to be "driven" would be the one that we can actually control and the rest like the body and wheel only follows the driven wheel
Then, to control
CarWheelApplyAcceleration(int wheelID, float valSpeedl, int axis)
CarWheelApplyDecceleration(int wheelID, float valSpeed, int axis)
CarWheelApplyRotation(int wheelID, float valSpeed, int axis)
So we can start moving around with our car, wheel must be driven for this command
Other properties we also need to set
SetCarBodyMassCenter(int meshID, float X, float Y, float Z)
SetCarBodyMass(int meshID, float massVal)
SetCarWheelMass(int meshID, float X, float Y, float Z)
SetCarWheelElacticity(int wheelID, float val)
SetCarWheelSpringElacticity(int wheelID, float val)
I think it should be enough to build a basic car that we can drive around.
And then similar commands for the boat and plane, I'm not much in to physics so I don't really have a clear idea what sort of properties and physics we need, but in order to keep it simple for those like me, I would like to have this kind of commands to put together a car, boat and plane.
Later, if/when we have a 3D editor, we could also choose this kind of properties in the editor.
Actually, it would be also nice to have this for both 2D and 3D as well, so each command could be named like Set2DCarBody()...Set3DCarBody()...etc