You got me intrigued a couple of weeks ago. I started thinking about a simple pipe building program like you might have to build/design plumbing for a kit house. I figured that pieces could be limited in the ways they could be rotated and incrementally positioned so that it would be easy for the user to see that they were in the right position. And that since in real life they would be static objects they could just be static in blender and the sim.
Then I thought of something a little(actually a lot) more complex like building a customizable trebuchet. It might only have a max of about 10 cylindrical parts but the parts could be any length within reason and so be arranged with any orientation. I had’'t thought much beyond this but now I’m thinking that the design phase for the user could be done in plan(2d) views and the user draws straight lines between two points. And you would probably want to restrict the user by forcing some kind of snap. You, the programmer, have provided the drawLine function so that the lines are actually being drawn in 3d space. These lines are effectively stand-ins but we can get their length and orientation. From their length, orientation and position copies of a cylinder can be scaled and positioned to match the “blueprint” of the stand-ins. You will have had to do a lot of thinking ahead of time to allow clearance in articulating joints, where to have your object centers for various parts and so forth. And you’d have to figure out whether you wanted to make use, and how much use, of blenders physics, rigid body constraints, collision, ipos etc or whether you wanted to program some, most or all of your own physics. And we haven’t gotten onto robots yet, that will have cosmetic attributes as well. And I don’t know what your user is going to be able to do with the robots, maybe just bend them and look at them like a doll or have them move about controlled by a gamepad.
I don’t think even the huge commercial games attempt this. They might provide the illusion that the user is constructing and modifying a player but I think they already have to have at least most of the prototype in place and hundreds or thousands of prototypes.
It’s a good project but you can see how something that seems pretty simple can become very complex very quickly.
It’s likely that you’ve gotta keep your project pretty simple and it could be simple in a sense yet at the cost of having to use lots and lots of logic bricks, properties and messages.
I lack programming skills (but hopefully I’m learning more) and I’ve tackled things like this before in Visual basic using lots of prebuilt “controls” and repetetive swathes of simple code. Then I found that to add a single simple feature mifgt require 64 times the number of controls and amount of code. So down to my lack of programming ability it becomes ridiculous for me to continue until I can learn more and figure out a better way of doing it.
Having said all that (phew) I might tackle a sim to build kit houses.
Same disclaimer as before.