Hacker News new | past | comments | ask | show | jobs | submit login
Turing Complete is a game about computer science (turingcomplete.game)
398 points by thunderbong 3 months ago | hide | past | favorite | 105 comments

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.

HIGHLY recommend.

I would think that Rocky's Boots (1982) [0] was a game that was similar to this no?

[0] https://en.wikipedia.org/wiki/Rocky%27s_Boots

Or anything in the https://en.wikipedia.org/wiki/The_Incredible_Machine genre really, depending how old we're talking.

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.

[1] https://store.steampowered.com/app/241240/Contraption_Maker/

My young kids enjoyed Inventioneers.

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 think many years ago I read about this one: https://en.m.wikipedia.org/wiki/Robot_Odyssey and people liked it very much as well.

Btw, you can play Rocky's Boots on the internet archive - https://archive.org/details/Rockys_Boots_1982_Learning_Compa...

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:

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.

Just bought it after reading your comment. Had been on my wishlist for a while now. Excited to play!

It reminds me of TIS-100 and Shenzhen I/O by Zachtronics.

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.

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.

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 :)

[0] - https://upperstory.com/spintronics/

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.

MHRD is also great in this genre. I’ve played it multiple times. I’m happy to hear there are more like it. https://store.steampowered.com/app/576030/MHRD/

Is anyone able to contrast NAND Game and MHRD? They sound very similar.

Thank you for this comment. Would you happen to know of a similar kind of game that teaches machine learning or deep learning?

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.

Thanks, I must have missed it.

How much was it? Wondering if I should wait for the spring sale

It was 30% off.

When is the spring sale?

March 14th through 21st

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.

1: https://sebastian.itch.io/digital-logic-sim

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.

Similar game: https://nandgame.com/

Although Turing Complete does appear to have more depth than nand game.

Theoretical CS pun intended?

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.

We're cut from the same cloth, so I'm excited to try this one out (when it's done).

It's ready now, the updates to come are mostly performance improvements. Try it out and see what you think!

Alright! the "preview access" flag worried me a bit, but I'll just jump in then!

Also of interest is Exapunks (https://www.zachtronics.com/exapunks/), which did a better job teaching me asm than my college course did.

TIS-100 was also excellent. It's actually harder than real asm.

Have you also given Shenzhen I/O a run?

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.

Is Shenzen I/O hardware or software? Or firmware?

All of the above. You're placing components, running wire paths, writing assembly for the component.

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

The game is about writing firmware for a large Chinese multinational. It's also pretty fun.

There's a time and space for games, but I'll just note that for HN readers, following https://www.amazon.com.au/Digital-Design-Computer-Architectu... and building a RISC-V in Verilog is easily manageable.

Are you aware that "Turing Complete" has a Verilog export function?

It seems a fantastic game.

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.

I never got what's the difference between this game and (free, in-browser) NAND-to-Tetris

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.

I am a little confused; is NAND-to-tetris free? I thought you had to buy the course, or something like that.

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).

I highlighted a few differences recently: https://news.ycombinator.com/item?id=38740170

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

Same, although, I'd really prefer it if I could just buy a game like this direct from the publisher since I don't use Steam, Gog, Itch, etc.

To be fair, I get why game devs want their product on those platforms, I just wish it was exclusive to said platforms.

*wasn't exclusive

Typo apologies

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.

Has anyone played both this and Shenzhen I/O? Which did you like better?

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.

Makes me think of Robot Odyssey [1] which first made digital logic click with me at an early age.

1. https://en.wikipedia.org/wiki/Robot_Odyssey

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?"

It's not exactly a formal definition, but I like Edwin Brady's "Pacman Complete"

I proved a TI-83+ is “Turing Complete-ish” by emulating a Turing machine on it, with a visual tape.

I've played it a bit with my kids. It seems to be a game version of the Nand 2 Tetris course: https://www.nand2tetris.org/

My recent comment comparing the two: https://news.ycombinator.com/item?id=38740170

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.

As a rule, I don't buy unfinished games (even from indie devs, sorry), but I promise you I will be buying this as soon as it's complete!

Well, it is already Turing Complete.

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.

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.

Side Note: Bought the Turing Machine board game (different than this here) last week. A game basically about debugging. Awesome game!!!

the boardgame is great but I'm not sure to see how it's related to debugging.

I can only recommend this game to its target audience. It's quite addictive and offers an experience I found to be quite valuable.

The English version has been crowd-translated into French, German, and Spanish, with more languages in progress, making the content more accessible.

Should have called it Turing compete

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.

I was looking to purchase this, I see it is on Steam and GOG but no Linux support. I hope that is planned in the future!

It's had native Linux support since day one. I bought it (edit: on Steam) in its first week of release (2021-10) and it worked fine.

Not in GOG, for some reason.

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.

Ok! Glad to know that it runs well in Proton.

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.

I have played it on Linux without issue (via Steam).

Will it run in Ubuntu on 4-core AMD Ryzen 3 4300U with Radeon Graphics (no virtual threads)?

Will it run on 4-core AMD Ryzen 3 4300U with Radeon Graphics (no virtual threads)? The specs tell that i5 is needed.

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.

This is an excellent game to speed run.

A reviewer:

> 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.

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.

Not sure that games need to be in continuous development. Sometimes they can just be done.

I would say for an early access-game, this is a legit fear. Early Access on Steam is like alpha or beta-status, meaning it's officially unfinished.

Though, a blog with just three articles, instead of the actual shop-site or other official channels, seems not the most reliable source.

Last steam update was posted Aug 2023 which says "patch is coming soon!" so it seems like work is happening, just in the background.


Some others have commented some of this but I wanted to provide some links to the resources as well. The last update was 6 months ago on the game's Steam news page https://steamcommunity.com/ogg/1444480/announcements/detail/... and YouTube https://youtu.be/38cKko7sViw

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 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.

Don’t let that fool you. The game is very mature and a large update is in progress.

The steam store page has newer updates, latest being August 2023, I believe.

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!

Still, the demo looks great.

looks like it's down

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact