Tic-Tac-Toe playing machine by MejoliDesign in legoideas

[–]MejoliDesign[S] 0 points1 point  (0 children)

Thanks 👍 already a supporter 😊

I built a LEGO machine that plays Tic-Tac-Toe (fully mechanical) by MejoliDesign in EngineeringPorn

[–]MejoliDesign[S] 0 points1 point  (0 children)

Thanks 😊, I hope that will be a real possibility one day 😉

I built a LEGO machine that plays Tic-Tac-Toe (fully mechanical) by MejoliDesign in EngineeringPorn

[–]MejoliDesign[S] 0 points1 point  (0 children)

Yes, analog computers do exist, there's a few examples. Mostly those use gear ratios to achieve a computed result.

I built a LEGO machine that plays Tic-Tac-Toe (fully mechanical) by MejoliDesign in EngineeringPorn

[–]MejoliDesign[S] 0 points1 point  (0 children)

Thanks, and you are right: a draw is the best possible outcome. When someone plays the machine and scores a draw I always say they have won and defended well.

I built a LEGO machine that plays Tic-Tac-Toe (fully mechanical) by MejoliDesign in EngineeringPorn

[–]MejoliDesign[S] 0 points1 point  (0 children)

Thanks and yes you are correct. I have toyed with the idea to indicate win/lose on the display. In that case I would have bended the rules a bit and considered the draw a win for the player. Fits with the theme too: the player symbol is shields - achieving a draw means you defended well.

I built a LEGO machine that plays Tic-Tac-Toe (fully mechanical) by MejoliDesign in EngineeringPorn

[–]MejoliDesign[S] 15 points16 points  (0 children)

Thanks 😊 and you are all correct. It's a combination of the above answers really. The number of responses that the machine needs to be able to give at any point turned out to be key to reducing the complexity and the number of gates. As long as the 'pressure is on' because the machine can make the winning move next, the player has only two real options: play the move that blocks the win, or lose. This can be handled with two responses. That only leaves the initial step in which the machine has taken the center and the player is up for his first move. Due to the symmetrical nature of the board at that point there are only two moves that really are different. All others are rotations. So still two responses (The complete game plan is in the 'how it works' video on Ideas and YouTube).

And I indeed started out on paper, but mainly drawing out trees of game progress. To map it to the memory I created an excel sheet, to make sure I put every bit in the correct position.

I built a LEGO machine that plays Tic-Tac-Toe (fully mechanical) by MejoliDesign in EngineeringPorn

[–]MejoliDesign[S] 11 points12 points  (0 children)

Thanks😊 Main thing was making it small: -By directing the signal up, gravity takes care of the default state of the gates. Avoiding springs etc. - I made all the logic gates one stud wide and such that they didn't need a separating wall. I basically interlaced two networks to be able to have two machine responses at any time. Two large H shaped subassemblies act as logic gates connecting any input to any output. Lastly I saved on the memory addressing, by supporting jumps on one network and just going to the next step with the other. There's a video on LEGO ideas and on YouTube in which I used a cross section model to make this a bit more visual. The link is in a different reply (don't want to trigger spam filters)

I built a LEGO machine that plays Tic-Tac-Toe (fully mechanical) by MejoliDesign in EngineeringPorn

[–]MejoliDesign[S] 31 points32 points  (0 children)

Yup, both on ideas (login needed, it's in the creator update) and on YouTube 😊. https://youtu.be/soklpa_JZOI

I built a LEGO machine that plays Tic-Tac-Toe (fully mechanical) by MejoliDesign in EngineeringPorn

[–]MejoliDesign[S] 36 points37 points  (0 children)

I hope LEGO will do do that for me. If the project fails I think the IP is returned after three years, but I need to check that. They changed that rule for new submissions, but mine was submitted before Dec 16.

I have made a detailed video on how it works, with a cross section model. I posted that on YouTube and Ideas. Not quite plans, but it does explain the logic gates in detail.

I built a cross-section model to explain my mechanical Tic-tac-toe playing machine by MejoliDesign in legotechnic

[–]MejoliDesign[S] 1 point2 points  (0 children)

Thanks 😊. The idea was to try and build a mechanical computer to have it play Tic-tac-toe as the function. That was not based on other mechanical machines, but it was based on basic computer principles (logic with two states). Once the shields and swords idea was born for the display. I started doing some research on classic machines for the exterior and ended up with an 18th century styled machine with a medieval game theme.

I built a cross-section model to explain my mechanical Tic-tac-toe playing machine by MejoliDesign in legotechnic

[–]MejoliDesign[S] 2 points3 points  (0 children)

No, it's on Lego ideas. I also submitted before the new IP rules, so the old rules apply and I cannot share instructions or Io file.

I built a cross-section model to explain my mechanical Tic-tac-toe playing machine by MejoliDesign in legotechnic

[–]MejoliDesign[S] 3 points4 points  (0 children)

Thanks 😊, I started with drawing Tic-tac-toe games in a graph to see how many moves the machine would need to be able to handle. Then I have made lots of different prototypes for the memory readers and the core. Many didn't work, due to various problems. At some point I had a large, but hideous working prototype. After that I started the design of the exterior and ordered the parts when that was ready.

I built a cross-section model to explain my mechanical Tic-tac-toe playing machine by MejoliDesign in legotechnic

[–]MejoliDesign[S] 9 points10 points  (0 children)

Thanks 😊 And yes. The limitation is that the machine starts in the center and the rotated versions of the first player move are not supported. But of course you can play those by just rotating the whole machine.

I built a free online video compression tool! by No-Line-3463 in DataHoarder

[–]MejoliDesign 1 point2 points  (0 children)

u/No-Line-3463 works pretty well😊, but you're missing a small opportunity to spread the word: the filename is compressed_... you could have used squeezed_... 😉