Wow! I never expected anyone to do such a detailed analysis on one of my scenes! But in case you were wondering how I designed it, this is how my thinking process went: 1. I recalled a scene that someone else made which solves a maze by shining a laser into it. You can rotate the laser until the minimum number of reflections off the walls are made until the beam reaches the outlet. 2. That scene made me wonder if a ball (an Algodoo circle) with the proper amount of restitution could be made to solve a maze in much the same way that a laser can. 3. I recalled a scene by tatt61880 (remember him?) which is a very clever maze generator, and I used that to generate different mazes for testing my bouncing ball idea. It worked perfectly. 4. I then generated a relatively small maze for my scene, and the one you see here is the one that I had chosen.
Quote: "Bonus Question: What is the effective Coefficient of Restitution between two materials when one material has a restitution of 0.5 and the other has a restitution of 2.0?"
Is there an equation for that? I would assume that you add the two values in order to get the total effective restitution, but not sure. You would need to ask a mechanical engineer that question.
I didn't think it was anywhere near that precise! The reason is, I purposely built some mechanical slop into the gun mechanism in order to add to the challenge. e.g., If you leave the angle of the gun in one position and fire it 10 times, you will likely get 10 different bullet paths (within < 1 SD). You can also rotate the gun and find a different angle that will give you similar (not exact) results.
Be my guest if you would like to duplicate and improve and/or embellish this scene.
This is one of the "better" Algodoo chess games I've seen so far. It provides certain automatic moves that other Algodoo chess games do not allow, such as 1. capturing 2. Pawn conversion to a Queen on the rear rank (although it's usually a choice of the player which piece he/she chooses the Pawn to be converted to).
There are a couple of important moves which your scene does not provide, and they are: 1. Castling in a single move. and 2. The "En Passant" rule.
Of course how you program any Algodoo scene is your choice, even if not accurate in any manner. I happen to be a Chess player (a mediocre one, at best), and so I happen to know most of the esoteric rules that many casual players have never heard of. And so, as you stated, "it seemed like a lot of work for little benefit" is absolutely true, so please don't bother changing or adding anything unless you simply want to do it just for the sake of doing it.
S: "If you find a better one than this one, then let me know so I can study it."
R: I recall a chess game that kilinich posted a few years ago which had some automatic moves, but I don't remember specific details. That might be the most sophisticated one here on Algobox.
CORRECTION: kilinich posted a "Checkers" game, not a Chess game. Sorry...
UnityDogGaming04 and s_noonan -- I was wondering about that too, and so I did an experiment. I created a simple scene which has a ground plane and a circle with a centered tracer. After experimenting with various values of Restitution for the circle (call it R1) and for the plane (call it R2), it appears that the circle's bounce height is based upon the product of R1 and R2. For example, if the product of R1 and R2 equals 6, then each successive bounce height of the circle will be six times the height of each previous bounce height. This, of course, is with the gravity acceleration value set at the standard value of 9.8 m/S^2
This scene does not ask for votes or any other kind of input from other users. Camp scenes are allowable as long as the user doesn't request votes, or opinions, or any other kind of input from others. Votes are allowed if you ask for them ONLY in comments.
While I was playing with the "UnDo" and "ReDo" buttons (by the way, they both work as expected), a brief thought came to me. Would you have any interest in adding a feature to this chess game in which a person could play back complete championship games by world-famous Masters? There is a large list of recorded tournaments stored in chronological order HERE. I believe that this feature would be of great interest to any serious chess player.
S: "the notation does not always indicate the specific item or the specific source location for each move, but relies on context"
R: Oh yes, I forgot about that pesky little detail. That certainly would make the programming task a lot more complex.
S: "...nothing happened because all the entityIDs are reset at startup. So the first thing I would need to do is to work with item names instead of entityIDs."
R: That's true. I remember I had to capture entityID's as soon as some objects were spawned in order to later use them in the scenes. It's an added step, but not difficult to do.
BTW - I was wondering if you knew the prerequisite rules for castling? They are:
1. The king and the rook may not have moved from their starting squares. Even if moved back to their starting squares they still lose their ability to castle.
2. All spaces between the king and the rook must be empty.
3. The king cannot be in check at the time castling is desired.
4. The squares that the king passes over must not be under attack, nor the square where it lands on.
There's nothing more annoying than "rules" to complicate a programming project!
Just a thought: We must assume that chess masters know the rules and therefore would not attempt to castle if the move would be illegal. So, you really don't need to program in those rules for players who only use this scene to play back those recorded games.
Very interesting tool, but I fail to see the usefulness of it. For example, if I want to copy some code in an object, I simply enter the edit menu and copy the desired code. So why would anyone need this?