I'm a simple guy, I see Turing Complete mentioned on HN, I leave a favorable comment :)
Bought it couple years ago and went through a few levels, then had my (then) 14-yo son go through it during the summer break, with my occasional help. In the last level he wrote a program (in the pseudo-Assembly language that the game taught him how to create) to have the computer (that he built in the game starting from the logical gates) walk through a randomly generated maze (he used the keep-to-the-right logic). This game ROCKS. My only complaint is that nothing even remotely similar was available when I was his age :(
I keep getting stuck on the level where memory is introduced, my brain doesn't seem to grasp the concept of "next/previous tick" very well but plenty of people post hints and even full solutions online so you always have an option to cheat and enter the solution to go to the next level.
The game was basically complete more than a year ago, the author has been working on fully rebuilding it , to improve performance and be able to build more complex CPUs etc. I'm hoping he doesn't break anything when he pushes the update.
I loved The Incredible Machine, but haven't found a modern equivalent. I can see some similarities to Factorio, but I'm more interested in a casual, physics based (not economics) game.
Contraption Maker[1] is very similar to TIM, and as it happens it's also by the same creator. He also released a large level pack of TIM-style levels just a couple of weeks ago.
Oh my GOD thank you for posting that link. I played Return of the Incredible Machine as a kid and thought about the game the other day but couldn't remember what it was called!
I loved Rocky's Boots. This goes quite a bit further, though-- the most you'd do with Rocky's Boots is something like 2-3 gates + some timing related magic, where this is explicitly about building computers.
I teach digital logic and computer architecture classes to middle school and high school students. I'm looking forward to try this. I teach students similar things, but cobbled together from Circuitverse, Falstad Circuit Simulator, Nandgame, and things I made like https://github.com/mlyle/armtrainer
I got blocked exactly the same way you describe when designing the memory chips in NAND to Tetris. I eventually had to see the answer for that one and it turned out that I wasn't that off of the solution but I never understood the working syntax:
Nevertheless, Turing Complete seems to be the perfect companion to it. Wish I could independently purchase it, though it only seems available from Steam.
I'm a big fan of this genre of game, I have a small but growing steam collection of different ones. ( And some non-steam such as nandgame ).
Turing complete is one of the better ones, the simulation seems reliable and the missions, after a fair bit of early access re-jigging are reasonably well structured.
However, the UI isn't always super smooth, and the lack of hand-holding means it's better for someone like me who's gone through a similar journey before in other simulators.
If you're looking for something similar that does a better job at explaining the concepts then I'd recommend "Silicon Zeroes". The game as a whole feels even slightly less polished, but has a cute storyline and in my opinion does a better job at explaining each level and what it's trying to introduce, and does a much better job with problem solving issues related to "The Clock".
If you don't actually enjoy the the electronics part so much and just enjoy the psuedo-assembly aspect, then I'd recommend TIS100 or Shenzhen I/O.
If you prefer well-crafted puzzles then something like "Human Resource Machine" may be more your style.
Might as well ask you. I’m toying with the idea of a zachronics style game about analog computing. Building the circuit sim currently. But I can’t tell if it would actually be fun, or if i can find a way to make it fun.
Digital computing has the benefit of abstraction. You don’t need to know Ohms law to think about logic gates. If I commit to analog computing, then I absolutely have to find a way to teach the math. The operations are no longer Boolean, they’re a combination of a bunch of different electrical equations. Even if it’s simple math, it doesn’t have the same ethos a programming game typically has.
Does this even sound interesting? Would you play it?
If I remember right there's a Zach-like game called "Signal State" which is focused on analog circuits. ( I'm not sure how much or similar that is to analog computing ). It might be worth checking that out, get a feel for what you think works and doesn't work so smoothly in that problem domain.
The key to a fun zach-like game is making it more like a puzzle game than a simulator, and as such the level design is paramount. Ideally someone should have a good feel for whether they're likely to pass the level before they hit run. If it's a tricky problem, they should be able to get a sense of how to debug / fix an issue from the feedback they get from the output.
You don't want your players to end up trying a bunch of random things to try to brute force their way through the problem, they ought to be able to reason about the solution.
You ideally don't even want to teach the maths, if even an expert needs to hand-crank calculations outside your environment then you're going wrong somewhere. Try to find a way to visualize the current or predicted states in a way that those calculations can either be abstracted or represented in a different way, so that someone can play without doing the maths themselves.
An alternative is to provide a mini sandbox area within the problem they can play around to get a feel for the maths so they can break the problem down that way. If you can find a way to represent the calculations within that somehow, then that'd be a bonus.
I've been thinking about the same concept, and trying to find a way to introduce analog computing as something that goes together with the story in the game. Analog computing was historically used to solve differential equations, and differential equations can describe most of physics, so one idea was to make a "history of scientific modelling" as a game, where you take the role of say, Newton, and try to find an equation of some orbital motion, given a table of observations.
I'm also building a circuit simulator (stuck on that for a while, tbh), although not necessarily simulating electronic analog computers, but rather the computational principles that could also be applied to mechanical circuits, or just numerical computation.
As for abstraction, I really like the approach of Pure Data, you can group some nodes into more abstract ones.
Not the OP, but that sounds like a blast to me! I'd definitely play it!
Another game that did a similar thing (that I'm a HUGE fan of) is Spintronics [0].
It goes a whole step further from just creating analog circuits digitally and lets you build them both online and in board game form. I backed it on kickstarter and was amazed at how well the game turned out. Haven't finished it yet due to life getting in the way, but if you're looking for inspiration, their circuit simulator is available online for free.
As a fan of Zach-likes, I'd definitely be interested and play what you're cooking up :)
Yeah Spintronics was absolutely a bit of a inspiration after the Steve Mould video he did. In fact I'm still racking my brain for some kind of physical analogy rather than circuits, since you can reason about them better. AlphaPheonix talks a lot about how water + gravity is a really good intuitive analogy for voltage, with pipe circumference you could get something like current, but that would be a totally different (and also 3D) game.
I find the physical Zachtonic games to be the most compelling, Opus Magnum especially, because you're essentially learning a brand new way to compute using space and time as your algebra rather than logic gates. I'd love to find something more akin to that.
I think water flowing through pipes would be perfect analogy for electricity. I believe the author addressed it somewhere and said he couldn't make it work so had to stick to gears and springs. It turned out to be fine but I preferred Turing Tumble honestly (digital rather than analog). But both are very good, can't believe they're indie products.
Turing Tumble was a blast too! Solved a lot of the puzzles while on camping trips with my parents hanging out in their RV. I think they enjoyed the abstraction from computers to just figuring out how to make the balls fall in the correct way.
> If you don't actually enjoy the the electronics part so much and just enjoy the psuedo-assembly aspect, then I'd recommend TIS100 or Shenzhen I/O.
(Shameless self-promotion, but I think it's relevant here...)
And if you've already beaten TIS-100, but would like an even more tedious assembly language experience, I put a (free) single-instruction (subleq) game on Steam: SIC-1
As a zachtronics' fan I also recommend "Opus Magnum" and "Exapunks". In Exapunks you need to learn a new assembly-like language and use it to command your robot agent. I had a ton of fun in it.
I remember I only played the first few challenges of Human Resource Machine. The puzzles felt a little too easy, and solving them wasn't very challenging, so I never went on to the later parts.
Funny, I just bought it during the Steam winter sale.
It's a cool concept, but it definitely needs a lot more polish to be a genuine game or even a standalone teaching tool.
It just throws these problems at you with little guidance, teaching, or preparation. It's fine for someone with relevant knowledge. But, to a beginner I feel like it would be a mostly frustrating experience.
Also, it could benefit from providing some help with laying out the circuits. Moving or rotating components disconnects them from their tracks which you have to draw manually one at a time. So, once you figured out the right logic, there's a decent amount of friction to implement it.
One of the first few levels has a tip about double clicking a component to move the component and its connected wires at the same time (double clicking automatically selects the attached wire nodes as well as the component). It could use a bit more polish in the UI department though.
I had/have great fun with this game. It's one that's best in large doses. And, like Factorio, if you return after a long while it's often more fun to restart than continue (or just stay in the endgame sandbox). UI could use a bit of polish and there has been a great deal of performance rework going on for the last couple of years not yet released. Verilog export is there nowadays but I haven't really tried it. The additional components you unlock towards the end really make the sandbox fun. It also has a scoring mechanism which adds a layer of competitiveness to the game but you don't unlock it until well into the game (well past the first computer).
I played this extensively before deciding to go for a comp sci degree mid career (seemed like a fun thing to do, so far it has been!) and it made the base architecture stuff a breeze. I could highly recommend it for anyone looking for a fun refresher as well. "Fun" being a loose term - the fun is messing with boolean logic in a friendly environment, if you don't like that idea then you won't like this "game".
We have actually been using this at work and I can highly recommend it!
I have played through it together with my colleague in my free time about a year ago and we really liked it. We figured it would be the perfect fit for our electrical engineering apprentices, since they do learn all concepts of digital logic such as gates, registers, shift registers, counters, etc. during their educational journey but they rarely ever put a lot of it into a practical project. Also, a lot of derived things such as assembly programming are simply not taught anymore in the interest of time.
With some additional outside guidance, this game can really help people understand the working of digital logic components and motivate them to play around with them. The fact that you can go all the way to writing a simple assembly language and solving some puzzles with it is awesome and really motivated them.
When I first opened the page, I thought this was just a knockoff of the "Digital Logic Sim" by Sebastian Lague [1], but watching the video, I was impressed by how much deeper this actually went. So I bought it! Hopefully I get some time in the near future to play around with it.
I felt like this game was easily comparable to a semester of computer engineering foundation, but more fun, especially with the assembly minigames.
In college I remember assignments to design specific instructions for a hypothetical CPU, and separately to design specific circuits, but it was never a complete or functional design. TC was fun because you make up your own ISA while building a complete miniature CPU, and you can take it as far as you want.
I bought this game and it is a work of art. I'm a non-CS background developer, working for about 15 years. Much of what the game contains I knew "in the abstract" or had fiddled with on Arduino boards or little side projects or whatever. But this is basically THE hands on curriculum that everybody who enjoys mucking with computers craves.
I gave it a try quite a few years ago. I had a mixed feeling. On one hand, it is a great simulation of actual hardware/firmware dev jobs. On another hand I wasn't sure who the target audience was. If you're doing this for a living you probably don't want to do that as part of a game too, and if you aren't, you probably will find it too dry and detailed because it is THAT close to a real job...
I haven't gotten TIS-100 however many years it came out for the same reason. When I feel nostalgic I just dust off some old tools and do some fun stuff with C or Assembly.
Turing Complete is definitely more of a game, however with a lot of educational value.
Shenzhen has some restrictions and mechanics I don't like.
- circuit board is too small and jumper wires are only vertical.
- assembly lines per chip is too limited.
- I don't like the plus/minus mechanic for conditions.
- not enough microcontroller varients. I often wanted a microcontroller with 3 simple IO pins instead of the XBus pins.
This makes it sound like this is a mystery that has eluded humankind for years. :D
Personally, I would say NAND-to-Tetris is a (great) freely available learning resource for people looking to actively learn more about computers and digital logic from the ground up. It is mostly structured like a course you would take and the game it leads up to is a means to an end.
Turing complete on the other hand is a more playful approach that guides you through the individual steps (though it still requires you to look up quite a lot of things on your own) with a little story and provides more smaller challenges instead of just one big end goal. In addition to that, it features a relatively powerful sandbox that allows you to interact with things and there's a scoring system for complexity and runtime for all your little solutions that gives it a small competitive side.
I wouldn't say one is better than the other. NAND-to-Tetris is a learning resource with a game in it and Turing Complete is a game with learning resources and a sandbox in it.
nand2tetris is free on https://www.nand2tetris.org/course
The course is also available on Coursera where it also offers free option if you do evaluation yourself ("auditor" mode).
To which I would add, TC is more newbie friendly, what with the cartoonish GUI, while Nand2tetris expects that you're already more technically adept and capable of working at the level of command-line.
I'd love this as an iPad app! I want to play but I feel like it'd be something I'd want to just work on a puzzle occasionally while I'm waiting for food to microwave or something
I bought this after seeing someone (I think it was the game's creator - excellent advertising) use it to solve Advent of Code problems on Reddit. It's really good, a very accessible introduction to how computers work.
There were a couple of kinks in the UI that need to be ironed out like zooming and scrolling, but conceptually, the drag-and-drop UI for building circuits is excellent.
I didn't get that far before life got in the way and I put it down - I think I was stuck on the adding bytes section. I'll have to pick it back up.
I've played and enjoyed both. I'll say I liked Turing Complete a lot more but it depends on what you're looking for.
Shenzhen I/O is more a puzzle game where you get thrown a bunch of miniature puzzles you solve via programming cleverness to advance some overall story theme while enjoying general puzzle solving.
Turing Complete is more a digital circuit sandbox which starts you off in a direction of building up more and more complicated components and abstractions and you get more and more freedom as you go until you've unlocked everything and it becomes a big sandbox for you. There is technically a loose "story" but it's more or less just something to give context around what you're currently trying to build in the level not an actual plot. I.e. you could read every line of "story" ahead of time and it would not detract from your first playthrough as it's not really a narrative.
I will say Turing Complete starts off with a very limited feel though. The farther you make it into the game the less and less you see guardrails.
They're both worth getting. I haven't finished either game, so I can't talk about end-game value for either, but it certainly feels to me like Turing Complete is an educational game with puzzle components, while Shenzhen I/O is a straight puzzle game.
Both are a lot of fun, and very well-made.
Shenzhen I/O (like most Zachtronics games) has some nice worldbuilding touches like the printable datasheets for the made-up electrical components, and a barely-there programming language manual.
How do we formalize the concept of "turing complete, if it were just infinite." Like, it's not turing complete, but we can intuitively treat it as if it was. How do we formalize that concept of "close enough?"
I love this game. It's super well made, and is endlessly fun. If you've never heard of it and have even the smallest, most remote interest in this stuff, do yourself a favor and pick it up.
On a more serious note: there was another comment saying that the game was already complete like a year ago, and that it is now being rewritten for performance reasons.
The game is playable from start to finish but the ongoing work and roadmap includes features and functionality not present in the current version such as changes and additions to the levels as well as custom level/level sharing functionality. Scoring and circuit complexity are being modified as well. I greatly enjoy it but if one is looking for something that isn't going to change under their feet it's not quite there yet.
You're fine to have whatever rules you want of course, but perhaps a more useful rule would be "Does this game have enough content to justify its price?" regardless of its finished-ness. There are finished games for which that answer is "No" and there are unfinished games like this one for which the answer (IMO) is "Yes".
Bought and played this as a "non-Computer-Science" developer and really enjoyed it and learned from it. It helped with understanding intuitively some concepts that I hadn't deeply understood.
I found it a little buggy or unpolished in places (like the scrolling/zooming behavior or how hint videos are only sometimes available) but that's a pretty minor complaint.
At my day job, red = on and green = off. This game is the opposite. I wish this game had alternative on/off indicators like 1 and 0 or something without relying on color. It’s too much for years of habit, even in color blind mode.
Good game. Actually really like the way it teaches you about computer science and let's you make your own computer from scratch. It has some quirk's sometimes, but I feel there is nothing really quite comparable.
GOG doesn't have a Proton equivalent like Steam does. If you're not familiar with that Proton is like a fancier packaged version of WINE supported by Valve as part of Steam, not a native version of the game.
Should be, I play on AMD. I think Steam just requires something be put there, the real requirement is a 64 bit processor capable of running Windows 10 or newer (since Steam dropped prior versions this month) in 64 bit mode (no 32 bit release of the game exists). The latter bit can optionally be fudged on Linux by using the built in Proton compatibility layer in Steam.
According to the folks on discord, the dev is busy redoing the base simulator logic, in preparation for some bigger changes.
At any rate, the game as-is today is a worthwhile purchase. People have built e.g. whole RISC-V CPUs in it, and you can interact with disk and/or network if you want, so it’s pretty flexible.
The game has been basically complete for more than a year, going through the levels will teach you more than college-level micro-controller architecture class does.
I haven't played a game in ages, decided to try this one. Trying to:
a) sign up to Steam, and
b) pay for the game
was a pain and I still don't have the game! The amount of CAPTCHAs and email checks and having to be in this country or that country for payment options was seemingly endless and infuriating. I remember thinking that being able to download music, games and films would be better but now I wish I was back in the 90's buying cassettes and CDs!
Bought it couple years ago and went through a few levels, then had my (then) 14-yo son go through it during the summer break, with my occasional help. In the last level he wrote a program (in the pseudo-Assembly language that the game taught him how to create) to have the computer (that he built in the game starting from the logical gates) walk through a randomly generated maze (he used the keep-to-the-right logic). This game ROCKS. My only complaint is that nothing even remotely similar was available when I was his age :(
I keep getting stuck on the level where memory is introduced, my brain doesn't seem to grasp the concept of "next/previous tick" very well but plenty of people post hints and even full solutions online so you always have an option to cheat and enter the solution to go to the next level.
The game was basically complete more than a year ago, the author has been working on fully rebuilding it , to improve performance and be able to build more complex CPUs etc. I'm hoping he doesn't break anything when he pushes the update.
HIGHLY recommend.