Show HN: I made a game where you build a CPU from logic gates (select.supply)
I built ChipBuilder to make computer architecture more approachable through interactive puzzles.
You start with basic logic gates like AND, OR, and NOT, then gradually combine them into adders, multiplexers, memory, an ALU, and eventually a complete CPU. Once you've built the hardware, you can write assembly programs that run on the processor you created.
The game is inspired by courses like Nand2Tetris, but everything runs directly in the browser with a visual circuit editor, simulations, and progressively harder challenges.
47 comments
[ 0.31 ms ] story [ 19.4 ms ] threaduser-select: none;
Also it would ne nice to have a level zero where you create the gates from transistors.
I have gotten my nephew into it with some success as well.
My child just informed me that Turing Complete has just released a major redesign and that the engine is even faster than before.
Also, for people interested in this type of thing, look up Ben Eater’s 6502 videos. Wiring up a 6502 (old microprocessor) to ROM and RAM on a breadboard; later he builds a “world’s worst video card” - more like a VGA display output card, still pretty cool.
FYI the author started publishing updates again; looks like he took 2 years to rebuild the game from the ground up and instead of launching it as "Turing Complete 2" he chose to simply publish it as breaking update, and is now continuing with updates to add features.
- You should be able to drag/drop elements from the sidebar onto the canvas
- Wiring shouldn't be a separate tool, and you should be able to drag/drop wires instead of having to click on the two endpoints separately
- You should be able to delete the currently selected gate with the delete key, and the "delete" button in the toolbar should delete the currently selected gate instead of it being a separate tool
- There's not enough contrast between the grid pattern and the background of the canvas
- There seems to be some problems with moving overlapping components
- There's no way to move around the canvas
- The progress doesn't seem to save and there's no way to skip levels
- allow drawing wires backwards from sink to source
- allow connecting inputs
Also there is a problem with the tests and the simulator that showed up in the SR latch level. Despite having the correct circuit, the tests failed until I swapped the two NOR gates. I can not reproduce it, but I would guess it has something to do with the component placement order, the update order of the simulator, and how the tests are executed. As the NOR feedback loop has no well-defined initial state, it probably settled in a placement order dependent way that made the tests fail. Maybe Q was already 1 and the test looks for a 0 to 1 transition when enabling S?
1. Please please please apply `user-select: none;` to everything within the circuit canvas. Almost more often than not I would end up dragging text that had been highlighted rather than any of the actual gates or inputs.
2. Having to switch between 'select', 'wire', and 'delete' modes is a bit cumbersome.
3. Absolutely no progress seems to be saved on navigation or page reload. I've completed the first level several times and if I go anywhere else or reload after completing it, the site shows zero levels completed and shows the tutorial again.
No you don’t. Once you get to memory you no longer have any tests that do anything and it’s impossible to actually progress.
One bit of feedback: I'd love to be able to stare at the tests while I'm playing around with the logic gates; every time I switch to the tests tab then click around on the "board," the tabs switch back.