Thanks for the compliments and suggestions. I'm finished playing with this scene for a while, so feel free to modify the scene and post the results. I'm sure you can do items #1 and #2 without too much trouble.
Item #3 for one die shouldn't be too bad if you substitute die face images for the animal images. The refPts in _3pts2tm are the corner points of a texture centered on [0,0] that has textureMatrix = [1, 0, 0.5, 0, 1, 0.5, 0, 0, 1]. The images are off screen to the left. X, y, and z offsets can be added to the _ra3DPoints array to move the position of a die.
There a restriction in Algodoo that limits the amount of surfaces a Polygon can have. One way to improve resolution is to set sim.polygonMeshSize = [1024,1024] or some other big number, create the gear, it is low resolution, use "Combine Shapes" to add a small circle on top of one of the teeth, the gear becomes higher resolution. There must be a better way of improving polygon resolution. If anybody knows, then please post an answer below.
I like the scene idea. Algobox has been around for 14 years and this is the first scene that tries to prevent plagiarism by using algoboxID. Correct me if I'm wrong, but this scene assumes that scene.algoboxID gets updated when a scene is posted to Algobox. I'm not sure that's the case. My Rotate 3D Cube,which I copied from Xray, has scene.algoboxID = 48330, which is 3D Box by RBS16.
Here's a couple of ideas that could be implemented by Algobox (but don't hold your breath):
1. Highlight all scenes where scene.algoboxID does not match the Algobox ID. This would highlight possible plagiarisms.
2. Set up a web page where a user can delete possible plagiarisms of their work by being able to delete any scene that has scene.algoboxID = their original Algobox ID.
3. Set up a web page where a user can see possible plagiarisms of their work an request that specific scenes be deleted.
P.S. Modified Rotate 3D Cube so that its Scene.algoboxID = 259159, so it doesn't "appear" that I am a plagiarizer.
1. Save GUI in the "Components" (phunlets) folder.
2. Add the GUI to a new scene. The string functions load with the phunlet and remain with the scene after the phunlet is closed.
3. Add "scene.my.str_" before any string function to use it. For example, scene.my.str_instr("The cat in the hat","cat",false) = [4].
This scene was uploaded to Algobox as a phunlet. The scene description starts with "This phunlet ...", so I should have known. If you already have a different scene open, and you download this scene, then the phunlet automatically gets inserted into the original scene. If your original scene has a camera position where this phunlet is not seen, and you don't realize that this scene is a phunlet, then it appears that Algobox has failed to load this scene.
At first I thought that the stairs should work like the toggle button on top of a pen where each stair could click down on the way down and store the energy in a spring and then click up when the person goes up stairs returning the spring energy to help them up the stairs. I couldn't think of a simple way of doing that. Another approach (based on your comment) would be to make a motor/generator and connect it to a battery where the motor/generator acts like a generator when someone is going down stairs and acts as a motor when someone is going up stairs.
Thanks. Yes, I'm not sure how to handle that problem. Also, there is a problem if a second person follows the first person up or down the stairs. Maybe there needs to be a sensor that detects the direction of the user and presets the stair accordingly.