Nalyd997 Posted January 27 Posted January 27 Simply amazing, such an incredible use of Technic! This is what it’s all about 😊 Quote
gyenesvi Posted January 27 Posted January 27 Wow, this is a truly remarkable construction both in terms of mechanics and in terms of aesthetics, amazing achievement! And I say that not just as a lego enthusiast, but also as a software engineer. This is a really nice way of illustrating how early mechanical computers worked. After watching/reading the explanations, I understand most of the principles, but I'd still have some questions about the details of its workings. The principle of the OR gate is clear (either of two vertical pushes), the explanation of the AND gate took me some time to understand, if I'm correct it requires a combination of tilting and vertical pushing, and the tilt comes from the memory (is that always so?). That's the details, but the overall logic is not yet clear. If I understand correctly, the overall logic determines for each state (6 of them) and each user input (8 of them), the resulting counter move along with updating the state right? The memory encodes the state we are in, each row corresponding to one state (though what the individual bits encode is not totally clear). And then, the overall logic is along the lines of "if we are in state S0 AND the user makes this OR that move, then we move to state S1, which also implies the right counter-move", right? As for this becoming an Ideas lego set, I'm quite confident you'd get enough votes, however, there might be some obstacles of it ending up becoming an official set; mainly due to the complexity of construction and operation; this may not be for casual builders. So if Lego considers this, they might look for the simplification of the user experience, and I guess the less they have to think about it the more chances you have, so may be worth thinking ahead :) The constructions seems pretty complicated, though the build process does not necessarily need to be complicated (even though somewhat repetitive), it would be good to understand how easy it is to make building mistakes that result in movement jamming or other erroneous operation for example. But more importantly, I'm afraid that also operating it, especially the steps of resetting, could turn out to be somewhat complicated for an average person. For example, even though now I get the reset process, I'm pretty sure I would not remember it in two weeks time :) First thing I wonder about is game play. I understand now that the memory needs to be transitioned with a separate gesture. What happens if I accidentally skip that, and play another move? Is that blocked, or will that result in some suboptimal / random moves? Also, it's not clear to me why this separate gesture is actually required, if movement of the memory is powered by the scissor mechanism? Can the keystroke not also trigger memory movement, since it has its own power source? Next thing is resetting. If I look at it from a user perspective, a more ideal procedure for resetting would be Reset the whole display with one lever (instead of a CW and a CCW rotation per field). I'm thinking that all field resetters could be linked and moved in sync, and a rubber band could pull back the lever (instead of needing to turn back all squares) Rewind the memory with one movement, instead of three movements. A single controller move could in principle operate all three stages of lifting the gates, shifting the memory, lowering the gates These would significantly simplify the resetting procedure, and seem mechanically doable, though I understand that it might require some significant adjustments. These are just some ideas by the perfectionist inside me, but it is already an outstanding work as it is! Quote
MKJoshA Posted January 27 Posted January 27 This is amazing build technically, but the fact that you also made it visually beautiful is so cool. Quote
aeh5040 Posted January 27 Posted January 27 This is an absolutely extraordinary achievement! I specialise in trying to do impossible-sounding things purely mechanically. In fact I did ponder a few times whether such a thing could be done, but I dismissed it as out of the question! Quote
Davidz90 Posted January 27 Posted January 27 What a fantastic machine! Truly a breathtaking demonstration of mechanical computing. Quote
Joostv Posted January 27 Author Posted January 27 @Nalyd997, @Morgoth924, @Kai NRG, @Davidz90, @MKJoshA Thank you 😊 4 hours ago, aeh5040 said: This is an absolutely extraordinary achievement! I specialise in trying to do impossible-sounding things purely mechanically. In fact I did ponder a few times whether such a thing could be done, but I dismissed it as out of the question! Thanks 😊 And we seem have two hobbies in common then 😉. I was also close to dismissing it when I googled the possible number of game states for Tic-tac-toe (Google came up with an insanely high number). Ofcourse most of those states are ludicrous and moves that no one would ever make. 8 hours ago, gyenesvi said: ... After watching/reading the explanations, I understand most of the principles, but I'd still have some questions about the details of its workings. The principle of the OR gate is clear (either of two vertical pushes), the explanation of the AND gate took me some time to understand, if I'm correct it requires a combination of tilting and vertical pushing, and the tilt comes from the memory (is that always so?). That's the details, but the overall logic is not yet clear. If I understand correctly, the overall logic determines for each state (6 of them) and each user input (8 of them), the resulting counter move along with updating the state right? The memory encodes the state we are in, each row corresponding to one state (though what the individual bits encode is not totally clear). And then, the overall logic is along the lines of "if we are in state S0 AND the user makes this OR that move, then we move to state S1, which also implies the right counter-move", right? ... Correct, when the memory is read by the bars which push the and gates into vertical alignment in case the memory is 'high'/true. I think I may need to clarify the two 8-input OR gates: These large horizontal H shapes are the central connections between the input AND gates and the output AND gates. Basically all these AND gates "patch in" to one of the OR gates that connect all keys and fields. Crucially the arms that can block the memory also patch in to these OR gates. Thus the memory bits define which keys trigger which large or gate and what countermove will occur and also where the memory needs to go next. 8 hours ago, gyenesvi said: ... The constructions seems pretty complicated, though the build process does not necessarily need to be complicated (even though somewhat repetitive), it would be good to understand how easy it is to make building mistakes that result in movement jamming or other erroneous operation for example. ... When I built the prototype it turned out that it was very testable during every step of the build. The advantage of that is that a building mistake can be fixed in time. Basically unit testing before integration 😉. The main risk for erroneous operation die to a building mistake is an error in the memory. This is why the memory can be reasonably easily removed. 9 hours ago, gyenesvi said: ... But more importantly, I'm afraid that also operating it, especially the steps of resetting, could turn out to be somewhat complicated for an average person. For example, even though now I get the reset process, I'm pretty sure I would not remember it in two weeks time :) First thing I wonder about is game play. I understand now that the memory needs to be transitioned with a separate gesture. What happens if I accidentally skip that, and play another move? Is that blocked, or will that result in some suboptimal / random moves? Also, it's not clear to me why this separate gesture is actually required, if movement of the memory is powered by the scissor mechanism? Can the keystroke not also trigger memory movement, since it has its own power source? Next thing is resetting. If I look at it from a user perspective, a more ideal procedure for resetting would be Reset the whole display with one lever (instead of a CW and a CCW rotation per field). I'm thinking that all field resetters could be linked and moved in sync, and a rubber band could pull back the lever (instead of needing to turn back all squares) Rewind the memory with one movement, instead of three movements. A single controller move could in principle operate all three stages of lifting the gates, shifting the memory, lowering the gates These would significantly simplify the resetting procedure, and seem mechanically doable, though I understand that it might require some significant adjustments. These are just some ideas by the perfectionist inside me, but it is already an outstanding work as it is! There are indeed a lot more possibilities, but I ran into the LEGO Ideas part limit. That is also why there is no win-lose indication. The signal is available, but the parts are not. If you press two valid keys without turning the dial, then currently there's no guard in place. A guard could be integrated and triggered by an additional OR in the middle in both the two large OR gates. Then be reset by a dial turn. That would require additional parts. A major obstacle to automatically moving the memory on a key stroke press, is that the memory readers must be lifted and this requires a user action. Turning the dial lifts the memory readers. This needs the power of the dial rotation and is supported by two springs (shock breakers) to push the memory readers up for memory reading, but also force them down to correctly read the bits. Central reset of the display was the original idea, but my solution didn't fit. The idea was a slider mechanism, gears had too much play and reset needs precision on all 6 axles. It's a bit finicky. The seperate controls never fail to reset each line. The different rotating directions for display reset is a last minute fix to an error I made. That is easy to fix and I can't image LEGO wouldn't do it if this became a set. A rubber band on the lever is definitely a good idea 👍 even as it is now. And to the last comment: Thanks 😊 and thanks for sharing the suggestions and taking the time to write it all down. Quote
Toastie Posted January 27 Posted January 27 38 minutes ago, Joostv said: There are indeed a lot more possibilities, but I ran into the LEGO Ideas part limit. That is also why there is no win-lose indication. The signal is available, but the parts are not. I will say it again, and it may upset people: There are alternatives to LEGO. Some of these use superior pieces (regarding stability = clutch power) of highest quality. Prints only. And they also ask for user input. What I find most important for this beautiful mechanism: Never go "cheap" or run into parts limits. That may be OK for the IDEAS program. But it is not for a true beautiful mechanics program. Some alternatives using superior pieces go nuts on tiling floors, shaping walls, adding a plethora of decoration elements, never forgetting about the functions. At a fraction of the price, TLG would be asking for. Including all TLG self-imposed limitations. But - should it be LEGO, then yes, this build needs what I would call serious downgrading. Which would be ... "bad" (Dr. Egon Spengler) All the best Thorsten Quote
Johnny1360 Posted January 28 Posted January 28 This is absolutely stunning, so much planning and implementation, just an incredibly cool mechanism. All that and the design and looks are simply amazing, would look good in any setting. Hats off to you sir. What's even better is the inspiration to build a similar mechanism, for that I thank you. Quote
Elysiumfountain Posted January 29 Posted January 29 On 1/26/2026 at 10:18 AM, Joostv said: @Elysiumfountain, Thanks and congrats on passing 5K 😊, that house is a beauty! Thank you so much! Hopefully the newer house will also pass 5k some day! :) Quote
aeh5040 Posted January 29 Posted January 29 (edited) Again, I think this is a monumental achievement! You have already inspired me to revisit another long-dormant crazy idea... Now the part I don't really want to say: Sadly, based on the past record, I fear the chances of it passing Lego Ideas are basically nil. Which is not to say that you should not try, of course! But in any case (but especially given this reality) I hope you will consider developing an enhanced version that addresses some of the compromises you had to make based on the part limit. This idea deserves to be unconstrained by arbitrary limits! Edited January 29 by aeh5040 Quote
Joostv Posted January 30 Author Posted January 30 14 hours ago, aeh5040 said: Again, I think this is a monumental achievement! You have already inspired me to revisit another long-dormant crazy idea... Now the part I don't really want to say: Sadly, based on the past record, I fear the chances of it passing Lego Ideas are basically nil. Which is not to say that you should not try, of course! But in any case (but especially given this reality) I hope you will consider developing an enhanced version that addresses some of the compromises you had to make based on the part limit. This idea deserves to be unconstrained by arbitrary limits! Thanks! To be honest, if it fails on Lego Ideas I'll likely create a smaller 'inspired' design with a different function (not playing Tic-tac-toe) and share instructions of that. This design has some really hard to source parts, which is something I would change when sharing instructions. Different route, different (self imposed) limitations 😉 Quote
Woltra6 Posted February 17 Posted February 17 (edited) On 1/25/2026 at 12:19 PM, Joostv said: 3 years ago I set myself a challenge to build a mechanical computer that can play Tic-Tac-Toe. I hope you like the result 😊. Final design: Open studless exterior in 18th-century style and medieval game theme, with Technic interior visible. Gameplay & limitations The machine starts in the center with 'X', which is represented by crossed swords. The player can play the bottom-right two fields. To play the other fields, the player can rotate the machine, so this isn't really a limitation. After that, all player moves are supported. The machine will reject moves on fields that are already taken (invalid moves). The machine can reach 25 different game states and 19 different game endings. The machine responds immediately to a player move, resulting in the player move (shield) and the countermove (swords) becoming visible almost simultaneously. After each turn, a single full turn of the dial on the side moves the memory to the correct next position. How it works I built a cross-section model to explain the mechanism. It is demonstrated in the video below. Summary of the video: The machine uses two types of logic gates: AND gates and OR gates. Signal direction is upward. Gravity is used to return the gates to their default positions, which significantly reduces the complexity of the logic gate designs. The logic gate network for a single response consists of: A first AND gate that reads one bit from memory and has the player key as the second input. The result is fed to an 8-input OR gate that is almost as wide as the machine And the result is fed to a 2-input OR gate that triggers the shield corresponding to the key An 8-input OR gate (almost as wide as the machine) The result is connected to one AND gate per field for triggering swords. And the result is fed to an AND gate handling memory addressing. A second AND gate for triggering swords, which takes input from the wide 8-input OR gate and a bit from memory. The result is fed to a 2-input OR gate that triggers the swords for the field. A shared AND gate for memory addressing, which takes input from the wide 8-input OR gate and a bit from memory. This drops an arm on the memory plate to block it at the correct position. In an end-of-game situation the arm is not dropped. The memory will move to end-of-game position as a result. The two OR-gates to trigger shield or swords, as mentioned earlier. The machine combines two slightly different versions of the above network so it can have two different responses at any time. The OR gates that trigger shields and swords are not duplicated, but triggered by both networks. The memory addressing for the two networks is different: One can skip multiple program steps. One always stops at the next step. As both networks are equally capable, each game state uses the network with the correct addressing behavior. All the logic gates are optimized to be as small as possible and to function next to each other without a seperating wall. The entire logic gate network is powered by a key press with a height difference of just one stud. For that reason, everything is mounted on rollers to reduce friction, and horizontal signal distance is limited as much as possible. The memory plate. Not in the video: Powering the memory movement The memory is pushed forward by a scissor mechanism. The memory does not travel the same distance for every player move, and I really wanted to have only one turn of the dial after every move. Therefore, the memory had to be powered independently from the player's action. I tried a lot of different solutions: The first idea was to let the memory fall down (move vertically). That didn't work because the memory was too heavy, and skipping multiple program steps caused excessive stress and force. The second prototype used a memory drum. This did not work well for reading the memory and suffered from bending stress on the central axle. The third idea used gears to transfer power from a weight to the horizontal plate. It had too much friction, sometimes causing the mechanism to refuse to move. It also made resetting heavy to operate. The last (and only succesful) idea was this scissor mechanism, still transferring power from a weight (the part with 'Lude Bene' on it) to the memory plate, but with very little friction. Powering the shields and swords The force of the user's key press is mostly dissipated after passing through the logic gate network and is only suitable for light triggering. Each shield and set of swords is powered by its own small weight. The weight is held in place by a mechanism that requires only a light trigger to release it. This works very well. I haven't got around to demonstrating this mechanism in images/video yet. Reset mechanism The video below shows the reset system (rewind the video to see another game demo first): Summary of the video: The display is reset using hidden knobs in the decorations on the sides. Turning these pushes the shields and swords backs and locks the weights that power them behind their triggers The memory is reset in three steps: The dial is turned half a turn. This lifts the memory readers, allowing the memory to move The handle is pulled, pushing the memory plate back. The dial turn is completed to read the memory and allow a new game to start. The central field remains unchanged. This is the first move of the machine (crossed swords in the center) Exterior The design is intended to look like an 18th century machine with a medieval game theme. The style is studless and I have avoided tile grooves where possible. I used panels (mounted backwards) instead tiles. The back of a 4 wide panel does show a small injection-mold mark, but this is less distracting than a tile groove. I also used a lot of half-plate offsets throughout the buildto hide tile grooves. This was mostly achieved by combining brackets with modified bricks (with studs on the side). Build experience, more images and future of the project If you have watched any of the video's to the end, it probably didn't escape you that I submitted this project to LEGO Ideas 😉. Like many others, I still dream of seeing my design on store shelves one day. Besides a rather prominent yellow button, you'll find additional rendered images and a description of the build experience there. In the creator update (which, for some reason, requires login), I included a technical description supported by animated gifs extracted from the first video in this topic. https://beta.ideas.lego.com/product-ideas/96a609c5-bffe-4df9-86a5-dbd005514159 Thanks for reading all the way to the end, Joost / MejoliDesign This Tic-Tac-Toe machine is straight-up genius, man – all mechanical, no fancy electronics, yet it nails that classic game vibe where every move feels like a high-stakes bet. Kinda reminds me of how simple setups in casinos can hook you in, like pulling a lever on a slot or bluffing in poker, chasing that jackpot rush without blowing your money. Speaking of which, if you're into that gambling thrill but wanna keep it chill and risk-free, check out https://freeslotshub.com/ca/free-slots-no-download/ where you can spin over 1,200 awesome free slots from top devs like NetEnt and IGT, no downloads or sign-ups needed, just instant fun on your phone or whatever. It's packed with wild themes, bonus spins, and massive multipliers that amp up the excitement, way better than real betting 'cause you practice strategies without losing a dime. Imagine turning this LEGO beast into a roulette spinner or blackjack dealer – pure gold for game nights! Total props to the builder, this thing's got me itching for more mechanical gambling twists. This thing is seriously impressive - the way you packed all that logic into pure mechanics with no motors or anything is wild. The 18th-century automaton vibe looks spot on too, especially with the medieval shields and swords theme. Edited February 18 by Woltra6 Quote
Joostv Posted February 17 Author Posted February 17 1 hour ago, Woltra6 said: This thing is seriously impressive - the way you packed all that logic into pure mechanics with no motors or anything is wild. The 18th-century automaton vibe looks spot on too, especially with the medieval shields and swords theme. Thanks 😊 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.