About the Game
-= LEARN =-
Everything in a computer can be constructed from a basic component called a NAND gate. You will be challenged through a series of puzzles, to discover the path from NAND gates to arithmetic, memory and all the way to full CPU architectures. If you complete this game, you will have a deep understanding of how assembly, CPU instruction sets and basic components are related. And you will understand how programming concepts like if statements, loops and functions actually work in assembly and hardware.

-= BUILD =-
The game is built on a powerful simulator, that gives you total freedom in how you solve levels or create your own computers. Wire up screens, timers, sound, keyboard input and network components to create whatever you want. You can even design a unique assembly language for your computer.

Screenshots
6 images
Version Information
Steam Patch Notes
Official update history
On the site: Build 10363006
Up to date
I have been holding out on writing a new post until the 2.0 patch was finished, but it has been too long, so here is a status update.
The good news is that you can play the 2.0 alpha already. Right click on the game in your steam library, click on properties and then channels and select "save_breaker". Do note though that there are A LOT of breaking changes, so you might want to back up your saves and start over (in the future there will be an upgrade guide and the game will try to upgrade things automatically as well as possible). Also be aware that there might be some progression breaking bugs in the new campaign.
You can find a list of some of the new changes on the community wiki: https://turingcomplete.wiki/wiki/Save_breaker_changes
Anyway, you might be wondering if the next version is Turing Complete 2.0, where did Turing Complete 1.0 go? The answer is that with a little bit more polish the current version would have reached 1.0. But instead I went on a side mission which grew and grew in scope to the point where the new version is a total rewrite of the game. In retrospect, I should have spent another week polishing the current version of the game and exited early access before setting off on this epic rewrite. However the current version is good enough (sitting at "overwhelmingly positive" score), which is more important than version numbers at the end of the day.
So why did the scope balloon so much? There are a few of different factors:
1. My outlook
Some developers release their game, their sales spike on launch day, then taper off and they subsequently abandon the game a few months later. That wont happen with Turing Complete. Turing Complete will be relevant as long as computer science is relevant (forever) and therefore it will not be abandoned. This is by the way the norm outside of games (windows, photoshop etc weren't just abandoned). From this perspective, a delay in releases is insignificant compared to laying a solid foundation for the game to stand upon for decades to come.
2. Discovering what the game should be
The idea behind the game was originally just a simple exploration of how CPUs work in a puzzle game. But over time the philosophy morphed and now I think of it as a computer learning / creation / exploration platform. This is why Turing Complete 2.0 supports user created campaigns, much larger circuits, more realistic campaign and having a powerful assembler framework is part of this. In any case, each time the philosophy changed, a lot of things had to redone to fit. Luckily, the current philosophy hasn't changed in a while and has now solidified to the point where I can't imagine it changing again.
3. Minimizing save breaking patches
Since this is a save breaking patch anyway, I want to take this opportunity to include all needed breaking changes in this patch. This way I don't need to break player saves more times than necessary. An example of changes that could have waited if they weren't save breaking is redoing the component shapes (some were too small, others use non standard symbols etc). Another example is updating the campaign to be more realistic and going further into modern CPU optimizations. In fact, I really hope that this will be the last time I need to break player circuits.
4. Making a compiler
I have made interpreters before and did not find it difficult. I was surprised that people treat it like it is a big deal and even write whole books about it and so on. So I assumed that people were probably also exaggerating the difficulty of building a compiler. But no, building a compiler is actually extremely difficult, especially the back end and optimizations. This alone took me over a year, but the compiler is essential for allowing custom levels, fast simulation, fast compilation (not done yet) and certain features that will come in Turing Complete 3.0.
5. Expanding the campaign
I have spent the last couple of months building levels about modern CPU concepts, like superscalar, pipelining and speculative execution etc. This requires deleting, adding and rebuilding levels over and over again, for each issue or improvement opportunity I find. This is a lot more work than people think.
So what is left before release?
First, finishing up the new campaign levels. This has already taken about 3 months and it is a bit unpredictable when exactly it will be done (since I keep discovering something that makes me redo the levels). However I think we are getting close.
Then I need to fix a lot of bugs, get things translated (which can be done at the same time) and make new solution videos.
The next update will likely be when Turing Complete 2.0 is done.
View on Steam
The good news is that you can play the 2.0 alpha already. Right click on the game in your steam library, click on properties and then channels and select "save_breaker". Do note though that there are A LOT of breaking changes, so you might want to back up your saves and start over (in the future there will be an upgrade guide and the game will try to upgrade things automatically as well as possible). Also be aware that there might be some progression breaking bugs in the new campaign.
You can find a list of some of the new changes on the community wiki: https://turingcomplete.wiki/wiki/Save_breaker_changes
Anyway, you might be wondering if the next version is Turing Complete 2.0, where did Turing Complete 1.0 go? The answer is that with a little bit more polish the current version would have reached 1.0. But instead I went on a side mission which grew and grew in scope to the point where the new version is a total rewrite of the game. In retrospect, I should have spent another week polishing the current version of the game and exited early access before setting off on this epic rewrite. However the current version is good enough (sitting at "overwhelmingly positive" score), which is more important than version numbers at the end of the day.
So why did the scope balloon so much? There are a few of different factors:
1. My outlook
Some developers release their game, their sales spike on launch day, then taper off and they subsequently abandon the game a few months later. That wont happen with Turing Complete. Turing Complete will be relevant as long as computer science is relevant (forever) and therefore it will not be abandoned. This is by the way the norm outside of games (windows, photoshop etc weren't just abandoned). From this perspective, a delay in releases is insignificant compared to laying a solid foundation for the game to stand upon for decades to come.
2. Discovering what the game should be
The idea behind the game was originally just a simple exploration of how CPUs work in a puzzle game. But over time the philosophy morphed and now I think of it as a computer learning / creation / exploration platform. This is why Turing Complete 2.0 supports user created campaigns, much larger circuits, more realistic campaign and having a powerful assembler framework is part of this. In any case, each time the philosophy changed, a lot of things had to redone to fit. Luckily, the current philosophy hasn't changed in a while and has now solidified to the point where I can't imagine it changing again.
3. Minimizing save breaking patches
Since this is a save breaking patch anyway, I want to take this opportunity to include all needed breaking changes in this patch. This way I don't need to break player saves more times than necessary. An example of changes that could have waited if they weren't save breaking is redoing the component shapes (some were too small, others use non standard symbols etc). Another example is updating the campaign to be more realistic and going further into modern CPU optimizations. In fact, I really hope that this will be the last time I need to break player circuits.
4. Making a compiler
I have made interpreters before and did not find it difficult. I was surprised that people treat it like it is a big deal and even write whole books about it and so on. So I assumed that people were probably also exaggerating the difficulty of building a compiler. But no, building a compiler is actually extremely difficult, especially the back end and optimizations. This alone took me over a year, but the compiler is essential for allowing custom levels, fast simulation, fast compilation (not done yet) and certain features that will come in Turing Complete 3.0.
5. Expanding the campaign
I have spent the last couple of months building levels about modern CPU concepts, like superscalar, pipelining and speculative execution etc. This requires deleting, adding and rebuilding levels over and over again, for each issue or improvement opportunity I find. This is a lot more work than people think.
So what is left before release?
First, finishing up the new campaign levels. This has already taken about 3 months and it is a bit unpredictable when exactly it will be done (since I keep discovering something that makes me redo the levels). However I think we are getting close.
Then I need to fix a lot of bugs, get things translated (which can be done at the same time) and make new solution videos.
The next update will likely be when Turing Complete 2.0 is done.
A lot of really hard work has gone into the next upcoming patch. It has taken a long time to get this one ready though (and it still isn't done yet), so some new players are asking if the game is abandoned. It certainly isn't!
Here is a quick preview of what is going on behind the scenes:
View on Steam
Here is a quick preview of what is going on behind the scenes:
This update brings a verilog exporter to the game. Verilog is an industry standard hardware description language. With your favorite architecture exported to verilog format, you can theoretically simulate it with other simulators, simulate it on an FPGA (basically circuit simulation hardware) and presumably even get it produced as a chip if you can afford it. However if you are excited to try this out but don't have experience with industry tools, be warned that they are far from as polished from an ease of use perspective, as games like this are. Things can be painful to set up sometimes.
In other news, here are some of the things that were added since last update:
- Added a "Ticks Per Second" counter
- Added UI scaling
- Improved multi select
- Enabled reordering of the left side IO list by drag and drop
- Added bidirectional pins and tri state pins to that IO list
- Deleted the Stack component, created a new version of the "Negative numbers" level and more small iterations like that.
- Also I fixed a ton of long standing bugs
At the moment I am working on improving the programming language that the levels of the game are defined in. Once its updated, players will be able to write and share their own levels / level packs (with full server verified scoring), which will be very exciting. This might take a while though and it is hard to predict exactly how long, since I want to try to do some things I don't have much experience with. I will post more when I figure it out.
View on Steam
In other news, here are some of the things that were added since last update:
- Added a "Ticks Per Second" counter
- Added UI scaling
- Improved multi select
- Enabled reordering of the left side IO list by drag and drop
- Added bidirectional pins and tri state pins to that IO list
- Deleted the Stack component, created a new version of the "Negative numbers" level and more small iterations like that.
- Also I fixed a ton of long standing bugs
At the moment I am working on improving the programming language that the levels of the game are defined in. Once its updated, players will be able to write and share their own levels / level packs (with full server verified scoring), which will be very exciting. This might take a while though and it is hard to predict exactly how long, since I want to try to do some things I don't have much experience with. I will post more when I figure it out.
Color blind mode was finally added. The red "OFF" color is replaced by purple, since green / purple should be differentiable for all major forms of colorblindness. Also the purple is brighter so it can be distinguished from contrast as well. Color blind mode can be enabled it in the options menu.
If you have colorblindness, let me know how well it works!
View on Steam
If you have colorblindness, let me know how well it works!
Check out the schematic hub, it is finally live and there are already a few really cool things uploaded.
Players who have 10 total upvotes or more between all their uploads on the 10th of August will get a badge on their profile.
View on Steam
Players who have 10 total upvotes or more between all their uploads on the 10th of August will get a badge on their profile.
New music
Turing Complete now has a new synthwave soundtrack. As with all music, not everyone is going to like it but I personally can't stop listening to it!
You can also find it on Spotify:
https://open.spotify.com/album/1NV5KxX785RrwA5RWIz0j8?si=LlUK4wveTpaMeBT9Mh8r1g
Progress towards sharing
Meanwhile work towards in-game sharing is continuing. Mostly I have been tying up loose ends (like translation) and trying to get to a stable set of components in the game. The goal is to get components stable enough so that shared schematics will never have to be broken by a new update. After finishing these things, actually adding the sharing functionality shouldn't take too long. You can expect more news about this within a few weeks.
View on Steam
Turing Complete now has a new synthwave soundtrack. As with all music, not everyone is going to like it but I personally can't stop listening to it!
You can also find it on Spotify:
https://open.spotify.com/album/1NV5KxX785RrwA5RWIz0j8?si=LlUK4wveTpaMeBT9Mh8r1g
Progress towards sharing
Meanwhile work towards in-game sharing is continuing. Mostly I have been tying up loose ends (like translation) and trying to get to a stable set of components in the game. The goal is to get components stable enough so that shared schematics will never have to be broken by a new update. After finishing these things, actually adding the sharing functionality shouldn't take too long. You can expect more news about this within a few weeks.
The following was done since the realism patch 3 weeks ago:
- Fixed levels, scores, achievements and other things that were broken as a result of the realism patch.
- 16 bit and 32 bit components were introduced, as well as a 2 bit decoder and word sized NAND, NOR and XNOR.
- The component menu was reworked which was needed to accommodate all the new components. Custom components in the menu are now nested according to the players save folder structure.
- The old 64 bit RAM was replaced by 3 new RAM components, which all have their cost scale with their configurable size. The first RAM has a high gate cost, the second has a high delay cost. The third has a high delay cost, but its delay is amortized over several ticks. This means it effectually adds very little delay to the circuit, making it cheap in both gates and delay, but reading from it takes several ticks to complete. In future levels, more advanced score optimizing builds will likely use a slow cheap RAM for main memory, but cache results with a smaller fast RAM. All 3 RAM components have configurable size and word width.
- ROM was added. This component can only be written to in the sandbox, but its memory is not reset on level change or reset. It can be used for lookup tables in scored levels (where you cannot write to it). For creative builds that don't care about scored levels, this component can also be used as a hard disk in the sandbox. Like the RAM, the ROM component has configurable size and word width.
View on Steam
- Fixed levels, scores, achievements and other things that were broken as a result of the realism patch.
- 16 bit and 32 bit components were introduced, as well as a 2 bit decoder and word sized NAND, NOR and XNOR.
- The component menu was reworked which was needed to accommodate all the new components. Custom components in the menu are now nested according to the players save folder structure.
- The old 64 bit RAM was replaced by 3 new RAM components, which all have their cost scale with their configurable size. The first RAM has a high gate cost, the second has a high delay cost. The third has a high delay cost, but its delay is amortized over several ticks. This means it effectually adds very little delay to the circuit, making it cheap in both gates and delay, but reading from it takes several ticks to complete. In future levels, more advanced score optimizing builds will likely use a slow cheap RAM for main memory, but cache results with a smaller fast RAM. All 3 RAM components have configurable size and word width.
- ROM was added. This component can only be written to in the sandbox, but its memory is not reset on level change or reset. It can be used for lookup tables in scored levels (where you cannot write to it). For creative builds that don't care about scored levels, this component can also be used as a hard disk in the sandbox. Like the RAM, the ROM component has configurable size and word width.
Components now have to be connected to an input to simulate.
Watched state had a major upgrade. In the component factory, use a "Watchable state" component to decide what state should be exposed on the custom component. This also adds a state indicator visually on the component. With this you can watch multiple different states inside a custom component or watch deeply nested state. You will have to reconnect your watched state the first time you play this patch.
Rendering was made a lot smoother, supporting large circuits.
The max zoom level was increased.
The buildable area of the architecture map was increased 4x.
Save files compressed by 40% by storing wires in a different way
Assembler supports octal numbers
Lots of little bug fixes.
View on Steam
Watched state had a major upgrade. In the component factory, use a "Watchable state" component to decide what state should be exposed on the custom component. This also adds a state indicator visually on the component. With this you can watch multiple different states inside a custom component or watch deeply nested state. You will have to reconnect your watched state the first time you play this patch.
Rendering was made a lot smoother, supporting large circuits.
The max zoom level was increased.
The buildable area of the architecture map was increased 4x.
Save files compressed by 40% by storing wires in a different way
Assembler supports octal numbers
Lots of little bug fixes.
This patch brings the file rom, while the console was added a few days ago.
The console is the first of a couple of display components that are planned. It allows you to print colored characters to a 80x24 display. You can use this for displaying text, creating games or video.
https://media.discordapp.net/attachments/851327200736444446/925886627056873562/Screen_Shot_2021-12-30_at_00.02.41.png
The file ROM loads bytes from any file on your computer. This can for example be used for importing large amounts of data, building file format parsers or using an external assembler.
Both components are unlocked in the sandbox level.
View on Steam
The console is the first of a couple of display components that are planned. It allows you to print colored characters to a 80x24 display. You can use this for displaying text, creating games or video.
https://media.discordapp.net/attachments/851327200736444446/925886627056873562/Screen_Shot_2021-12-30_at_00.02.41.png
The file ROM loads bytes from any file on your computer. This can for example be used for importing large amounts of data, building file format parsers or using an external assembler.
Both components are unlocked in the sandbox level.
A new idea was suggested which was just too good not to adopt. Instead of having the 1 bit memory be the basis for all memory, it is now a new delay buffer component. All the delay buffer does is take an input and output it the next tick.
First of all, this is a good candidate for the simplest possible memory component, which is where we should start.
Secondly, it lets the game introduce memory and related concepts in a more intuitive way.
And lastly, it makes pipelining architectures easier and score optimizing more interesting.
2 new early game levels were added to introduce the concept.
View on Steam
First of all, this is a good candidate for the simplest possible memory component, which is where we should start.
Secondly, it lets the game introduce memory and related concepts in a more intuitive way.
And lastly, it makes pipelining architectures easier and score optimizing more interesting.
2 new early game levels were added to introduce the concept.
This patch completely reworks how simulation of schematics work. This should increase simulation speed, fix random crashes from a memory leak and a race condition and make UI components work in fast simulation mode. This might not sound too exciting, but soon I will add more screen components (the old one doesn't work now and will be removed), a new keyboard component, file and networking components.
You may notice that your watched state has been disconnected after upgrading to this patch.
View on Steam
You may notice that your watched state has been disconnected after upgrading to this patch.
The save menu has been upgraded with the following features:
- Folder support
- Use filenames up to 45 characters
- Add descriptions to your schematics
- Rename custom components without having them disappear in your architectures
- Get a warning before deleting custom components that are also in architectures
Soon to come will be allowing nested components in the component factory.
Also a bug was fixed that might have caused your input or output component to get deleted. If you are stuck on a level with messed up IO components, do the following:
1. Go to the save menu and create a new schematic
2. Copy paste your work to the schematic
3. Delete the old one
View on Steam
- Folder support
- Use filenames up to 45 characters
- Add descriptions to your schematics
- Rename custom components without having them disappear in your architectures
- Get a warning before deleting custom components that are also in architectures
Soon to come will be allowing nested components in the component factory.
Also a bug was fixed that might have caused your input or output component to get deleted. If you are stuck on a level with messed up IO components, do the following:
1. Go to the save menu and create a new schematic
2. Copy paste your work to the schematic
3. Delete the old one
Current Release
10363006
Uploaded May 29, 2026
System Requirements
OS
N/A
CPU
I5
RAM
2 GB RAM
GPU
Intel UHD 630
How to Install
1
Download all files
2
Extract the .ZIP file to a folder (use WinRAR or 7-Zip)
3
Run Turing Complete.exe to play
Troubleshooting tips
• Run Redist/_CommonRedist installers if game won't start
• Add folder to Windows Defender exclusions
• Run as administrator
Download
Direct link available
Size
273 MB
Build
10363006
Password: cracked-games.org or 123
CRC32
19B907C3
SHA-256
95f32fbb6ff502b456ca007c8b137c78594525a61a7f3ae49bfa6b02d3f0e777
How: Right-click the downloaded file → 7-Zip / WinRAR → CRC SHA → compare with the values above.
You May Also Like
View AllDownload Turing Complete for PC with a direct link or via torrent. Get the full version of Turing Complete for free. Turing Complete is a Simulation released by LevelHead.