Turing Complete is a game about computer science
turingcomplete.game
turingcomplete.game
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.
[1] https://store.steampowered.com/app/241240/Contraption_Maker/
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
What I was doing:
Mux(a=out, b=in, sel=load, out=muxOut)
DFF(in=muxOut, out=DFFOut)
and last line should had been: DFF(in=muxOut, out=DFFOut, out=out)
Nevertheless, Turing Complete seems to be the perfect companion to it. Wish I could independently purchase it, though it only seems available from Steam.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.
It's also worth noting this Turing Complete news post: https://steamcommunity.com/app/1444480/eventcomments/3806156...
After no updates for a year, there was a news post in August 2023 to say, "Sorry, there's a big new update coming soon!".
And radio silence since then too.
It seems the developer has got stuck with such a monumental "big rewrite" that it's ended up taking vastly longer than anticipated.
I've been waiting for it to leave early access before going back into it, but I fear I might be waiting forever.
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?
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'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.
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 :)
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.
(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
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.
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.
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".
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.
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.
Although Turing Complete does appear to have more depth than nand game.
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.
- 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.
An old Scott Manley video introducing it: https://youtu.be/UpJU3wIf-v0
It's quite featureful ... https://youtu.be/2tlW3S4V29Y and https://youtu.be/BGLWE6S68b0
I wish they did something like that for the old "Core War" [0]. I played it in the late 80s, it was so amazing, and I learned some assembly as well.
[0]: https://en.wikipedia.org/wiki/Core_War
Edit: I meant Red Code, but that led to Assembly.
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.
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.
To be fair, I get why game devs want their product on those platforms, I just wish it was exclusive to said platforms.
Typo apologies
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.
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.
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.
Badum, t-
I'll see myself out.
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.
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.
The English version has been crowd-translated into French, German, and Spanish, with more languages in progress, making the content more accessible.
I was looking at buying on GOG since I would let my kids play it, easier to share games without having to mess around with Steam family sharing.
I got 'while True: learn ()' as well as 'Shenzhen I/O'. The former held his interest while the latter is a little difficult for him to engage with.
This looks like it would be on the more engaging side.
> You know a game is good when it has a verilog exporter.
Last blog update was March 2022 so it doesn’t look too lively.
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.
Though, a blog with just three articles, instead of the actual shop-site or other official channels, seems not the most reliable source.
https://store.steampowered.com/news/app/1444480/view/3676677...
In terms of feature updates the last major feature update was in September 2022 https://steamcommunity.com/ogg/1444480/announcements/detail/.... The game also has an active Discord https://discord.gg/hdrJaMUdrF for those wanting to follow along in more detail.
The steam store page has newer updates, latest being August 2023, I believe.
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!
Still, the demo looks great.