[HN Gopher] Show HN: A game where you build a GPU
       ___________________________________________________________________
        
       Show HN: A game where you build a GPU
        
       Thought the resources for GPU arch were lacking, so here we are
        
       Author : Jaso1024
       Score  : 891 points
       Date   : 2026-04-04 16:45 UTC (1 days ago)
        
 (HTM) web link (jaso1024.com)
 (TXT) w3m dump (jaso1024.com)
        
       | nottorp wrote:
       | In a few years it will be the only way to explain the kids what a
       | GPU is. Unless you work for an "AI" shop and sneak them into the
       | data center.
        
         | SilentM68 wrote:
         | Exactly :(
        
       | arikrahman wrote:
       | Awesome project! Reminds me of Turing Complete on Steam.
        
         | Jaso1024 wrote:
         | Yeah, that was the inspiration, felt that it didn't go in depth
         | enough + didn't cover other processors, so I wanted to fill
         | that hole + make it free
        
           | khedoros1 wrote:
           | The aspect that I especially like is covering the 3-state
           | aspect of the logic. Studying CS, it was kind of vaguely
           | mentioned, and we skipped over to doing logic diagrams with
           | gates and the assumption of 2-state logic really
           | quickly...and it seems like most games do that kind of skip
           | too. Working at the transistor level grounds it better to the
           | actual components.
        
       | SilentM68 wrote:
       | This is very cool!
       | 
       | We need more games like this so that the younger population get
       | some sort of exposure to the hardware side of things, before AI
       | takes over that field. I would also think that take-home
       | electronic and soldering kits for adults and younger folks would
       | be another way to reduce dependance on AI.
        
       | agrishin wrote:
       | Great project! I somehow missed whole cpu architecture topic, so
       | gonna catch up on that now
        
         | Jaso1024 wrote:
         | Yeah, fortunately I made cpu arch part of the game, so it'll
         | serve great for that as well
        
       | buildbot wrote:
       | This would be such a good game for introducing students to
       | digital technology! This is so fun! We just had to draw them by
       | hand back in the dark ages of the 2010s.
        
         | Jaso1024 wrote:
         | Thx, way better (imo) than just reading slides or (god forbid)
         | pure text describing comp arch
        
           | buildbot wrote:
           | 100% agree - the way that you have the very subtle arrows on
           | the transistor drains that show the actual current flow is
           | really smart too. I struggled with visualizing the current
           | flow in undergrad for an embarrassingly long time.
        
       | Falell wrote:
       | Fun. 2.2 loads a blank screen for me, all previous levels were
       | fine and 2.3 loads. Windows, Firefox 149.
       | 
       | Edit: Confirmed fixed.
        
         | Jaso1024 wrote:
         | Fixed! If you go to the level and refresh (might need to hard
         | refresh: Ctrl + Shift + R) it should load properly now
        
       | schlecht_ wrote:
       | Love it, thanks! Would you mind making it possible for me to see
       | my "circuit" after running the tests? Currently, I can't go back
       | to the circuit I created.
        
         | Jaso1024 wrote:
         | Sure, you should be able to rn though, is this after completing
         | the level (wanna fix this bug)?
        
           | schlecht_ wrote:
           | Sure, but I can't seem to find the git?
        
             | Jaso1024 wrote:
             | I haven't pushed to github (Will do this soon), but I
             | believe that i've fixed the issue (also, by wanna fix this
             | bug I meant I want to fix this bug, (but would def also
             | appreciate help if ur interested, the mechanics of this
             | game ended up being a bit more complex than I initially
             | envisioned lol))
        
               | schlecht_ wrote:
               | No problem. I am currently on the third level I think and
               | my laptop fan ramps up, so I closed the tab and it
               | stopped. Also, how can I delete e.g. transistors again?
        
               | Jaso1024 wrote:
               | I see, I'll try to reduce the load, i'm using canvas 2d
               | so that could be causing it. you can delete by selecting
               | then pressing the delete button (will also allow right
               | click to delete in the next push, since i do this for
               | wires)
        
         | Jaso1024 wrote:
         | Fixed!
        
       | npinsker wrote:
       | Great game! For learning, might be nice to see some commentary or
       | example (model) solutions after beating a level.
        
         | Jaso1024 wrote:
         | Yeah, I've actually been planning to add this in, might have
         | gemini look at your circuit config and give its opinion,
         | alongside dynamic hints
        
       | Anonyneko wrote:
       | This looks really cool, although I personally seem to lack the
       | absolute basic knowledge that is required to make sense of the
       | tutorial messages, so I couldn't even figure out the first level.
        
         | Jaso1024 wrote:
         | Thanks for telling me this, I actually made an act 0 that went
         | through the basics + physics of the pmos and nmos transistors,
         | but i scrapped it b/c i couldn't get it to look like I wanted
         | it to, will add it back
        
         | StableAlkyne wrote:
         | Glad I'm not the only one! I love these kinds of games; played
         | the heck out of Turing Complete and Zachtronics' Engineer of
         | the People... But I'd never heard of 3 state logic until today.
         | 
         | Really threw me for a loop! I'm still trying to wrap my head
         | around making level 3's NOT gate.
         | 
         | This is such a cool idea, definitely the first 3-state circuit
         | puzzler I've seen! Throw a cute story over it and I bet this
         | would get some takers on Steam.
        
       | Ginop wrote:
       | It's always nice to see educational games like that. A lot of new
       | learners (like me) are just looking at the high level stuff,
       | where the computer "just works"...
       | 
       | Well done and keep it up :)
        
       | john_strinlai wrote:
       | as a learning resource, it would be great it acronyms were
       | expanded at least once. nmos, pmos, gnd, vdd all in the first 5
       | seconds or so, and i didnt see anywhere that actually said what
       | those stood for
       | 
       | otherwise, looks polished and fills in a nice niche!
        
         | Jaso1024 wrote:
         | I had an arc 0 where it went through some of these topics more
         | in depth and explained them, deleted it b/c i couldn't get the
         | UI to look right. I've pushed a bandaid that should fix this,
         | but ill bring in arc 0 (it seems this is a popular request)
         | after polishing it (ill also make it optional)
        
         | II2II wrote:
         | There's the info boxes that it could be added to, that way it
         | is always available at a mouse click.
         | 
         | That said, I'm not sure how useful expanding most of the
         | acronyms would be. Names like Negative/Positive Metal Oxide
         | Semiconductor aren't exactly self-explanatory, Vdd isn't really
         | an acronym, etc..
        
       | tithos wrote:
       | Cool concept, but it should be mobile friendly
        
         | Jaso1024 wrote:
         | Good point (I didn't really consider this), might be a bit
         | difficult tho tbh, but i'll push this soon
        
       | skyskys wrote:
       | wow looks really cool, although seems kinda useless at first
       | look.
        
         | Jaso1024 wrote:
         | damn :(
        
       | treelover wrote:
       | I like the concept! What tools did you use to build it?
        
         | Jaso1024 wrote:
         | stack was mainly vite (react) + typescript pretty much (canvas
         | 2d for the visuals)
        
       | fleshers wrote:
       | This is awesome! The truth table lightning round took me by
       | surprise, I am rustier than I thought...
       | 
       | One note: It isn't immediately obvious that the In/Out nodes can
       | be connected to multiple wires, made the first few rounds harder
       | to work thru.
        
         | Jaso1024 wrote:
         | I see, thx, ill add a note in the game to make it more clear
        
         | Jaso1024 wrote:
         | truth tables round is optional now!
        
       | rustybolt wrote:
       | This is great!
       | 
       | Some comments:
       | 
       | - I didn't like the "truth tables" one, I got many duplicate
       | questions and for some reason I got only one second for the first
       | question. The rest of the questions I managed to answer correctly
       | but I still got only one start out of three?
       | 
       | - I got very confused by the capacitor. Capacitors do not have an
       | "enable" gate! In fact, in 2.7 (1T1C) you are supposed to _build_
       | the enable gate -- with a transistor. So currently, you can just
       | simply not build the enable gate and use the one already in the
       | primitive, meaning you don 't need the NMOS gate at all.
       | 
       | Was this made using LLM-assistence? (Not judging, I'm just
       | interested!) I'd love to hear more about your workflow and how
       | you managed to produce a good UI as it's something I couldn't do
       | if my life depended on it, and it's a skill I'd like to learn.
        
         | Jaso1024 wrote:
         | Oh, I didn't notice this capacitor bug, I changed it to add an
         | enable gate for 2.4 (for context, i created 2.4 after 2.7 b/c i
         | thought 2.7 wasn't obvious enough for some ppl). 2.4 kind of
         | needs the enable pin b/c of how my simulation system works.
         | Yeah, I felt pretty conflicted on the capacitors whilst
         | building, theres actually a note about this in the capacitor
         | info block in later levels, but I couldn't really make a true
         | capacitor compatible with the underlying simulation system I
         | had built (I should have thought it through from the start).
         | 
         | Ill fix the truth tables bug (i think i know the issue), the
         | stars come from playing in endless mode
         | 
         | I used claude quite a bit, it struggled through a lot of this
         | (wiring and simulation systems in particular), but managed to
         | crank this out, for the graphics i was extremely detailed in
         | terms of what i wanted i'd say
        
           | tuetuopay wrote:
           | Since we're in feedback mode, 2.16 has no BitLineBar
           | reference to feed to the comparators. I had to cheese the
           | level by connecting the "capacitor" outputs straight to the
           | outputs, and it worked.
           | 
           | On the capacitor though, the capacitor level is weird as you
           | don't _build_ the capacitor charge system with transistors.
           | Though I definitely get that the simulation engine is for
           | digital stuff, not analog :)
           | 
           | Also a general feedback on the time-based challenges: dial
           | them back. A lot. Most of them are just not interesting and
           | have zero learning value. In fact, the "DRAM refresh" one
           | just made me quit the game (clicking on 8 rows to keep them
           | fresh). Okay, 10s is enough, I got the point. No need to hold
           | up for a whole minute. Kinda same for the hex one. However,
           | some of them are good, and the UI for the binary ones is
           | great, especially for the two's complement one!
           | 
           | Small nitpick on the UI: some blocks don't have their
           | connections aligned with the grid, making the wiring OCD-
           | incompatible. But that's minor. It's a shame since the wire
           | routing algorithm works quite well overall, and I'm impressed
           | an LLM could produce that good of an UI!
           | 
           | Otherwise, quite a fun little game, if slow paced when one
           | already knows some bits of digital logic. Keep up!
        
             | Jaso1024 wrote:
             | lol, I encountered the same thing w/ the Dram one in
             | particular during testing (I passed it by using number
             | keys, but probably was a sign to remove)
             | 
             | Thanks, I appreciate all the feedback, fixes coming in the
             | next push
        
           | schoen wrote:
           | I'm still confused about 2.7 because it says that we have to
           | use WL so that "the bit line (BL) connects to the storage
           | element for reading or writing". But the accepted solution
           | connects to the storage element only for writing, not for
           | reading (the capacitor is _always_ connected to the output
           | for reading).
           | 
           | I would think that if you wanted to make it so that the
           | storage element was connected either for reading or for
           | writing by the WL and otherwise disconnected, you would need
           | two transistors, not just one.
           | 
           | Perhaps this was meant to say "for writing either a 0 or a
           | 1"?
        
             | eterm wrote:
             | 2.7 is confusing because you can wire up the bitline and
             | the word line the wrong way around and the tests still
             | pass.
        
         | BoiledCabbage wrote:
         | Agreed, truth tables one is important. But it's backwards, you
         | test people on truth tables before teaching them.
         | 
         | If someone is seeing this for the first time they may have
         | never seen some of those gates and you quiz them.
         | 
         | Then finally after passing the quiz, you define NAND and NOR
         | and Inverter.
         | 
         | Swap the teaching one to be the intro to the truth tables one.
         | 
         | Second bit of feedback is the timer. Increase the time
         | allotted. I know them very well and still was struggling to get
         | all the input correct before the timer hit. Or consider
         | possibly just eliminating the timer completely - if your goal
         | is to be sure that they know them.
        
           | Jaso1024 wrote:
           | good point, made an update that added difficulty levels to
           | the minigames (handles the timer), and i'll probably move the
           | truth tables minigame to after the user builds the truth
           | tables, thx
        
       | jmholla wrote:
       | The continue buttons in intro break for me all the time on
       | Firefox. I can't actually finish most of them.
        
         | Jaso1024 wrote:
         | fixed!
        
           | jmholla wrote:
           | I've made it through about the first ten parts of section 2.
           | Some additional feedback I've put together:
           | 
           | * Sometimes explanations are overly lacking, other times they
           | get repetitive. This feels like it needs to be accompanied by
           | a course to fully deliver value. For instance, we're kind of
           | thrown into truth gates without having really gone over them.
           | And understanding how to combine NMOS and PMOS gates could
           | use a better intro. Once I knew the answers, I got my brain
           | to reset to my VLSI course from college, but I think a better
           | primer could've accomplished that. In other places, I feel
           | like we get more refreshers on some components than others.
           | 
           | * The routing algorithm needs to be better. I get a lot of
           | staircase wires and straight up overlaps.
           | 
           | * Right clicking should clear attempted connections.
           | 
           | * There should be away to delete components you've placed.
           | Maybe I just couldn't figure it out.
           | 
           | * I think icons should be included on the components pane. I
           | kept clicking NOR when I wanted NOT and a better visual cue
           | would have helped.
           | 
           | * It feels like difficulty is all over the place. Perhaps
           | this is corrected with better explanations, but creating the
           | NAND gates and NOR gates were much more difficult compared to
           | AND and OR. Perhaps actually having us construct those gates
           | without NOT would change the difficulty curve.
           | 
           | * The success overlay shows up too fast. Especially on levels
           | that are just a demonstration (like the NMOS and PMOS Again
           | levels) you don't get to to see everything the level is
           | trying to demonstrate before the level announces that you
           | have succeeded.
           | 
           | * In the intros, when there are new components, their
           | description pops in. Instead, it should just advance like a
           | slide. It's very jarring.
           | 
           | * Also, it's unclear that those aren't part of the intro.
           | Maybe instead of popping them up, flash the little
           | information icon next to them.
           | 
           | * What you call a capacitor I believe is actually a
           | combination of a transistor and a capacitor. I think people
           | will be hard pressed to find documentation on a capacitor
           | with an enable switch. But, then you use this same capacitor
           | to form a 1T1C cell. I'm rather confused.
           | 
           | * Many times when I finished a level, the circuit would
           | switch to a prior level's solution.
           | 
           | * Some components have the same letters for every terminal
           | (e.g. half-adders), meaning you need to scroll over the
           | terminals to know what they do.
           | 
           | * Some levels have many test cases, and there's now way to
           | see them all.
           | 
           | * Level 2.3 talks about us having registers, but we never
           | covered those. In fact, I think we're still a ways away since
           | we need to get from switches to flip-flops then to registers.
           | 
           | There isn't much order to this. Just what I recorded while
           | working through it. Overall it's pretty good, I just think
           | polish would got quite a ways.
           | 
           | Thank you for sharing this! I'm really excited to get to the
           | more GPU specific parts. I basically did this for CPUs in
           | college and I'm excited to see what preconception and missing
           | conceptions I have for GPUs.
        
             | Jaso1024 wrote:
             | Thanks for all the feedback! I've fixed some of these
             | issues (e.g., capacitor levels, switching back to prior
             | levels upon finishing / refreshing, deletion (theres a sign
             | when you hover a component now)), but many of them i'll be
             | fixing today.
             | 
             | I'll be uploading arcs 3 and 4 soon (which will be
             | programming the CPU and the start of GPU arch soon (people
             | have gone through arcs 1 and 2 slightly faster than I
             | expected)
        
       | roadbuster wrote:
       | I worked on deep sub-micron, full custom mixed-signal integrated
       | circuits for more than a decade, and I can't pass the first
       | level.
       | 
       | > Wire an NMOS transistor so that when In is 1, the output is
       | pulled to ground (0). When In is 0, the output should be
       | unconnected (Z).
       | 
       | Certainly:
       | 
       | (a) The nMOS has 3 connections: its drain is only connected to
       | the output (no +Vdd supply), it's source is tied to ground, it's
       | gate is tied to the signal input
       | 
       | (b) When the gate (input) is driven high, the nMOS transistor
       | turns "on," connecting the output to the source (which is
       | grounded). This acts as a "pull-down network"
       | 
       | (c) When the gate is driven low, the nMOS turns "off," leaving no
       | connection to the output. This is equivalent to a "high-
       | impedance" / "unconnected" / "Z" output
       | 
       | Fails 1/2 tests
       | 
       | (Edit) - I thought the light grey, thick line on the background
       | grid was a wire from "input" to the transistor's gate. It is not.
       | You need to explicitly add a wire from "input" to gate :\
        
         | Jaso1024 wrote:
         | lol, mb. As in understand it, its that the colors of the bg
         | make it seem like its wires when its not, I'll change the color
         | theme a bit to fix (plz correct me if my understanding is
         | wrong)
        
           | roadbuster wrote:
           | Yes, that's the issue: the (thick) solid grey "major axis"
           | lines on the background seemed to be a wire.
           | 
           | If I could make a recommendation, get rid of the grid lines
           | entirely and only have 'dots' at regular spacing. Here's what
           | Cadence Virtuoso looks like (the most popular circuit
           | schematic tool for integrated circuit design):
           | 
           | https://www.eecs.umich.edu/courses/eecs311/f09/tutorials/cad.
           | ..
        
             | Jaso1024 wrote:
             | Will do, thx! Coming in the next push
        
           | varenc wrote:
           | consider a colorblind mode that uses patterns instead of
           | colors for those of us that are color-challenged
        
           | dcreater wrote:
           | the part that tripped me up is 0 showing in deep RED and I
           | thought that meant I was doing something wrong. I came here,
           | read this and realized I was actually right and then pressed
           | the Run tests button and passed. This is a UX thing you'd
           | want to address
        
             | Jaso1024 wrote:
             | makes sense, ill change the color a bit in the next update
        
         | mistidoi wrote:
         | I'm a total doofus with no relevant experience and neither
         | could I.
        
           | Jaso1024 wrote:
           | Adding intro levels today!
        
             | djmips wrote:
             | I solved it but I had to use 'two' NMOS transistors unlike
             | the direction.
             | 
             | Wire an NMOS transistor so that when In is 1, the output is
             | pulled to ground (0). When In is 0, the output should be
             | unconnected (Z).
             | 
             | The way it's worded it sounds like you need 'an NMOS' ie a
             | single one? So I messed around but then I remembered seeing
             | gates made from two transistors in my dusty memory.
             | 
             | (edit) I see there _is_ a one transistor solution... I'm
             | pretty sure I tried that though. :/
        
         | brcmthrowaway wrote:
         | Did you switch to software?
        
           | roadbuster wrote:
           | Yes. But, looking at BRCM/AVGO's stock chart, I may have made
           | a mistake.
        
       | zapkyeskrill wrote:
       | Any easy way to make this usable on mobile? In portrait mode
       | things are unreadable, zoom and scrolling do not work. Landscape
       | is even worse as everything is out of view (and zoom/scroll do
       | not work).
        
         | Jaso1024 wrote:
         | Yeah, i'm planning to make it mobile compatible in the coming
         | day(s), i didn't plan for this to be mobile originally, so it
         | kind of sucks on phone
        
           | dzikimarian wrote:
           | Honestly it's more or less usable already - maybe matter of
           | display size compared to other comment. One thing that is
           | killing the fun is that it's impossible to delete something.
           | That or even undo button would make it enough to have fun
           | with it.
        
       | testaccount28 wrote:
       | not playing past the truth tables bs
        
         | Jaso1024 wrote:
         | lol (plz come back), will be optional in 30 min (lemme push)
        
         | Jaso1024 wrote:
         | optional now!
        
       | txr wrote:
       | Anyone who likes this should also take a look at:
       | https://store.steampowered.com/app/1444480/Turing_Complete/ At
       | the end you have your own CPU with your own assembly language.
       | Sadly stuck in early access since forever with some very rough
       | edges
        
         | battxbox wrote:
         | Love this game. Does anyone know if developers are still
         | active?
        
           | txr wrote:
           | Steam discussions seem to imply there is still something
           | happening https://steamcommunity.com/app/1444480/discussions/
           | 0/7674379... But communication is definitely subpar. I
           | completed it a few years ago, was fun but having prior
           | knowledge about digital circuits is a must have in my
           | opinion.
        
           | Damjanski wrote:
           | wow - will try it today!
        
           | ben-schaaf wrote:
           | They're bikeshedding pretty hard, making their own language
           | for the simulation. You can access the unstable branch
           | through steam, it was getting fairly regular updates last I
           | checked.
        
             | scratchyone wrote:
             | is there anything interesting in the unstable branch??
             | 
             | also lmfao bikeshedding a custom language is EXACTLY what i
             | would expect from the dev of that kinda nerd game. feels
             | like a good sign tbh
        
               | ben-schaaf wrote:
               | Last I checked there's some rebalancing that looks pretty
               | good, but the real advantage from the custom language is
               | a _huge_ performance boost.
        
         | ashdnazg wrote:
         | I can also thoroughly recommend
         | https://store.steampowered.com/app/684270/Silicon_Zeroes/ which
         | uses smart design to remove having to deal with binary in the
         | circuit design. This reduces complexity by a surprising amount.
        
       | gchadwick wrote:
       | A nice game, though the truth table lighting round is pretty
       | punishing! Big contrast to the circuit building part where you
       | can take your time. Personally I'd drop the time requirements
       | from that quiz section.
        
         | Jaso1024 wrote:
         | Yeah, a lot of people have said similar things, I'm going to
         | make them all optional (coming in 30 min or so)
        
       | baobabKoodaa wrote:
       | Is this a sequel to "How to make a CPU"?
       | https://www.youtube.com/watch?v=vuvckBQ1bME
        
         | Jaso1024 wrote:
         | lol, I hadn't seen that video before but its a good one. Na,
         | this is the guide to comp arch that will (hopefully) end all
         | instances of toil over documentation for any sort of processor
         | when learning
        
       | frmersdog wrote:
       | You need to have a, "Okay, I've tried 10 times, it's not working,
       | what's the answer?" button. That will help not just us rubes who
       | can't understand, but also in the off chance something is broken
       | and even "correct" answers are being rejected.
        
         | Jaso1024 wrote:
         | makes sense, adding to the next push (in the interim, u can
         | also use the copy circuit button to ask gpt if ur correct or
         | not), also, what level is this? (if u dont mind me asking)
        
           | sarvagyavaish wrote:
           | Oh that's what the "copy circuit" button does. I have been
           | trying to paste circuits from previous levels into subsequent
           | ones and wondering what I was doing wrong
        
             | Jaso1024 wrote:
             | lol, mb; ill make that more clear (ill also give the
             | ability to copy things cross level and intra-level)
        
               | sarvagyavaish wrote:
               | Nw! This is an excellent game overall. I have always had
               | a REALLY hard time understanding the electronics behind
               | gates and this has been super helpful. I understood the
               | physics behind NMOS and PMOS, and separately what logic
               | tables represented and could be combines for higher order
               | execution. The first few levels, constructing NANDs and
               | NORs, has always been a puzzle - until today! Thank you
               | <3
        
       | fragmede wrote:
       | Reminds me of http://nandgame.com and https://nand2tetris.org
        
         | Jaso1024 wrote:
         | Yeah, nand game was part of the inspiration, I felt that it was
         | good but was a bit plain UI/UX wise and obfuscated / simplified
         | some things that it shouldn't have
        
       | NooneAtAll3 wrote:
       | how do I remove/delete elements?
        
         | Jaso1024 wrote:
         | click and press delete, realizing this wasn't obvious, a fix to
         | add a similar delete mechanism to how wires are deleted is
         | coming
        
           | NooneAtAll3 wrote:
           | > press delete
           | 
           | I don't see any button labeled that
        
             | Jaso1024 wrote:
             | oh, as in delete on the keyboard. it shoudl also work just
             | to right click now (might need to refresh)
        
       | yuppiepuppie wrote:
       | Neat idea!
       | 
       | Ive added this to the HN Arcade!
       | https://hnarcade.com/games/games/mvidia
        
         | Jaso1024 wrote:
         | Thank!
        
       | NooneAtAll3 wrote:
       | if you solve a level, then press "next level", then solve that
       | next level - then it still shows the original level (I think it
       | just gets hidden below the new one and then reappears after a
       | solve?)
        
         | Jaso1024 wrote:
         | just pushed a fix
        
       | NooneAtAll3 wrote:
       | truth table minigame is lmost unplayable in dark mode
       | 
       | also it kept showing the same table to me like 4 times
        
         | Jaso1024 wrote:
         | I just pushed a fix for this, so it should be better now, its
         | also optional now
        
       | Jaso1024 wrote:
       | Hi everyone, commenting to address feedback:
       | 
       | - Made timed minigames optional (e.g. binary tables)
       | 
       | - Added 7 (optional) intro levels to walk through pmos and nmos
       | transistors
       | 
       | - Fixed the bug in the capacitor levels
       | 
       | - Changed editor bg to use dots instead of lines to fix wire
       | confusion
        
         | sheiyei wrote:
         | Layout appears unusable on my phone on Firefox Android (both
         | portrait and landscape). Necessary elements seem to get hidden
         | behind others. Not sure if I'm even supposed to be able to play
         | it without kB&m though lol :)
        
           | Jaso1024 wrote:
           | Yeah, its not mobile-ready atm, ill push an update to make it
           | mobile-friendly in the next day or so
        
       | NooneAtAll3 wrote:
       | level 1.10 I put 2 AND gates and only one of them works...
        
         | Jaso1024 wrote:
         | I want to fix this, could you elaborate a bit (would help even
         | more if you pressed the copy circuit and pasted the result
         | here)
        
           | NooneAtAll3 wrote:
           | Add 2 AND gates, 1 NOT gate
           | 
           | G0 = D0 AND SEL
           | 
           | G1 = NOT SEL
           | 
           | G2 = D1 AND G1
           | 
           | G0 -> Ans
           | 
           | G2 -> Ans
        
             | Jaso1024 wrote:
             | oh its b/c of the contention between the outputs of the
             | ands for the answer, u need an or gate to merge them (ill
             | add an update w/ visual feedback for these sorts of thigns)
        
         | luyu_wu wrote:
         | It's likely you are pulling one to ground somehow. That was a
         | common bug I faced.
        
       | anderskaseorg wrote:
       | The "next level" button takes you to the next level even if you
       | haven't solved that level's prerequisites.
        
         | Jaso1024 wrote:
         | Thanks for telling me, just pushed a fix
        
       | iandev wrote:
       | I'm confused about a difference in the NMOS and PMOS. The
       | scenario I'm confused about is when the source is VDD and the
       | drain is connected to GND and output.
       | 
       | For the PMOS, the output toggles between 1 and 0 (opposite the
       | gate) as expected. However, for the NMOS, the output is always 0.
       | 
       | I don't understand why GND pulls VDD down to 0 for the NMOS, but
       | not the PMOS.
        
         | Jaso1024 wrote:
         | Oh, the drain should only be connected to the output, not drain
         | aswell (irl this would kill one's chip, I'll add a feature to
         | show short-circuiting). on pmos the source should be vdd, on
         | nmos the source should be gnd (this doesn't apply for some
         | later levels, but does for earlier ones).
        
       | joha4270 wrote:
       | So, is there anything about GPU's in here right now?
       | 
       | I didn't actually finish Act 2, but it seems to end in a
       | conventional processor with the GPU first coming after another
       | two acts currently under construction.
        
         | Jaso1024 wrote:
         | Not at the moment unfortunately, I've actually completed a good
         | chunk of the GPU levels, but I think ppl will need to do act 2
         | and 3 for it to make sense
        
       | PunchyHamster wrote:
       | ...why capacitor has 3 pins ?
        
         | Jaso1024 wrote:
         | Yeah, I had added it to make it compatible w/ my simulation
         | system, just changed how I was handling the levels altogether,
         | if it still has 3 try doing a hard refresh (Ctrl + Shift + R on
         | windows, cmd + shift + R on macos)
        
       | xnzakg wrote:
       | The 2.13 level ("hex racer") is kind of pain. Apparently I'm not
       | fast enough at dividing/multiplying by 16... when I get something
       | like "convert 0xB3 to decimal"
        
         | Jaso1024 wrote:
         | Time to get on zetamac (all jokes aside, it should be optional,
         | i'll also make racer games slower + adaptive soon (today))
        
       | xmprt wrote:
       | This is super cool but part of me wishes I could skip to the
       | later levels rather than redo college homework from a decade ago.
       | Maybe that ruins the fun but also slogging through the early
       | levels (especially when the UI is a bit rough around the edges
       | and doesn't support copy paste) isn't fun either.
        
       | unsnap_biceps wrote:
       | The truth tables are way too hard for me. I need time to think
       | and the 10 seconds is way too fast. If this is intended to be a
       | teaching resource, avoid timers IMHO. It needlessly excludes
       | people.
        
         | Jaso1024 wrote:
         | makes sense, idk if i want to remove times altogether (i
         | personally found it fun + i want the game to be fun for all
         | levels of familiarity), but ill add a modal to explicitly
         | select difficulty level at the start of the racer game, i def
         | agree w/ u overall
        
           | testaccount28 wrote:
           | please just let me skip it. why am i doing homework in the
           | middle of a game?
        
             | Jaso1024 wrote:
             | lol, i made them skippable earlier to day, if u refresh now
             | it should let you skip them
        
       | vibe_that_works wrote:
       | That was great fun, an interactive refresher on my EE studies.
       | Thank you so much for creating it.
       | 
       | If anybody can create something similarly interactive,
       | educational and hands-on for microbiology or robotics, I am happy
       | to sponsor your cost.
        
       | lukebechtel wrote:
       | really fun :) thanks!
        
       | kongchu2 wrote:
       | Soooo cool! I will keep try this
        
       | K0IN wrote:
       | love it, some level (full adder with 8 inputs) where a bit
       | repetative, but it is fun.
        
         | Jaso1024 wrote:
         | yeah, I felt that when playing myself, do u think this level is
         | not necessary given previous levels? (it would also help me if
         | u indicated ur level of familiarity w/ the concepts s.t i can
         | calibrate)
        
           | K0IN wrote:
           | I think it's nice, but maybe just use 4 bit inputs to cut a
           | bit on the repetitiveness.
           | 
           | Im a software dev, so not that much hardware experience
        
       | oytis wrote:
       | Must be missing something - is there a way to save progress?
        
         | Jaso1024 wrote:
         | progress is saved automatically, what issue are you
         | encountering?
        
           | oytis wrote:
           | None yet, will try to remember not to clear cookies :)
           | Sometimes games that don't maintain user accounts let you
           | save progress in a file and restore it later, so that it
           | survives loss of browser state, see e.g.
           | https://microcorruption.com/
           | 
           | Thank you for the game by the way! It's nice to recall my
           | asic classes, and looking forward to GPU specific chapters.
        
           | oytis wrote:
           | Oh, no, now I actually lost part of my progress. Apparently
           | has something to do with multiple tabs open.
        
       | brynnbee wrote:
       | Huge fan of this! I love learning-by-doing and this captures that
       | cycle perfectly.
        
       | jomoho wrote:
       | first level is impossible to solve for me! Hint or showing
       | solution did not work! Also adding multiple sources or ground
       | behave differently than connecting to the same.
        
         | Jaso1024 wrote:
         | Next update has warnings about bus contention (multiple things
         | into one node) when its an issue, and will have a proper show
         | solution button.
         | 
         | For level 1.1 the solution is basically to take the ground and
         | use that as a singular input to the source pin of an nmos
         | transistor, let the input to the level be the gate pin of that
         | same nmos transistor, and to let the drain (top) pin of that
         | nmos transistor connect to the level's output
        
       | mdtrooper wrote:
       | It sounds great, it remembers to me:
       | 
       | - https://www.nand2tetris.org/
       | 
       | - https://nandgame.com/
        
       | hristov wrote:
       | Ok you have put a lot of work in this and it looks impressive.
       | But it needs a serious balance change. It is far too hard.
       | Currently this may work as a brain teaser for people in the
       | industry or people with computer engineering degrees, but it wont
       | bring any fresh young minds into the industry. The fresh young
       | minds will be scared off.
       | 
       | Teaching is challenging stuff. You have to step out of your
       | current mindset and think with the mind of someone that sees this
       | stuff for the first time. It is not easy to make things look easy
       | and simple. Specifically, I think you need a lot more exploration
       | about cmos logic, about how one side pulls the output up or the
       | other side pulls the output down but they are never on at the
       | same time, about how they effectively amplify the result so the
       | output does not have to depend on the power of the input, etc.
       | Perhaps you can try to have people design things in NMOS logic
       | than in PMOS logic and then combine the two to make a CMOS design
       | to see how they complement each other.
       | 
       | But I do not want to discourage you. This is a very promising
       | start and you should continue if you have the time.
       | 
       | Also, the timed answers -- are you kidding me? The time is waaay
       | too short. And you fail all if you fail a single answer. Oh what
       | is 0xDE in decimal, all I have to do is multiply 16 by 13 and add
       | 14 to that. In my head in 12 seconds. Also the time is not
       | sufficient for filling out truth tables, especially with a laptop
       | trackpad. I was able to pass the truth tables, but gave up on
       | hexracing.
       | 
       | Ok and here are some more specific issues.
       | 
       | -The wires seem to snap in position in a way that they
       | superimpose each other so it becomes very difficult to see what
       | your circuit is doing.
       | 
       | - truth tables seem to be bugged. If you have more inputs than
       | the gate whose truth table you are looking at, sometimes it will
       | generate a fictitious truth table with extra inputs. Thus, some
       | times i get a NOT truth table that has two inputs.
       | 
       | - the ground element should have its connection circle on the
       | top, not the bottom. I realized that you can rotate by pressing
       | R, but the site does not mention that anywhere.
        
         | Jaso1024 wrote:
         | lol, yeah, the time should be fixed though rn I think?
         | depending on what level of difficulty you select in the racer
         | game. The wiring is something I've been struggling with,
         | working on making it better.
         | 
         | I intentionally made it s.t the truth tables are based on not
         | just the input into the node, but based on all actual inputs to
         | the node (so if you have additional processing on input x and
         | y, itll show you the not w/ respect to input x and y and not
         | just the immediate input).
         | 
         | will add a rotating cue in the next update
        
           | hristov wrote:
           | Yes the timing is fixed. Appreciate the quick changes. Good
           | luck!
        
       | Liebmann5 wrote:
       | I have been looking for something like this for so longggg! THANK
       | YOU
        
       | rg2004 wrote:
       | I would have really liked to have a temporary node to test the
       | outputs. Better than that, I would have liked to see the truth
       | table update in real time without running the tests.
        
       | dcreater wrote:
       | Nice vibe coded project. There are a few UX holes i've
       | encountered so far: No way to go to the next lesson if we dismiss
       | the modal (have to go back to the tree and then click the next
       | lesson)? more hints or step wise reveal if user gets stuck will
       | be very helpful
        
       | dminik wrote:
       | Some feedback:
       | 
       | - Nice idea, though after playing Turing complete, I would like
       | to skip the beginning and move to stuff that makes GPUs different
       | to CPUs. But it's understandable.
       | 
       | - I'm not smart enough to intuit NAND from transistors. I'm also
       | not sure I will be alone in that. It's such a weird difficulty
       | wall.
       | 
       | - Speaking of, the difficulty is all over the place. Though easy
       | mode is appreciated.
       | 
       | - Even with a n key rollover keyboard, I couldn't complete the
       | capacitor refresh level. It seems like it speeds up and certain
       | capacitors already start empty.
       | 
       | - The routing for wires is no good atrocious. Any level with more
       | than 8 components will end up impossible to read.
       | 
       | - It doesn't help that you can't color code or even path wires
       | manually.
       | 
       | - Might be Firefox only, but I had a hard time selecting the
       | connection points.
       | 
       | - Dragging the mouse along the edge should pan. Otherwise you
       | have to drop the connection and zoom.
       | 
       | - I appreciate the added "show solution". But it's not really
       | giving you a solution. It's just a better hint.
       | 
       | - An option to show all tests or at least more tests would get
       | great.
        
         | Jaso1024 wrote:
         | Fixed some of these in the update I just pushed, will fix the
         | rest in the next update. Any thoughts on how to scale the
         | difficulty a bit better?
        
         | drivers99 wrote:
         | > I'm not smart enough to intuit NAND from transistors. I'm
         | also not sure I will be alone in that. It's such a weird
         | difficulty wall.
         | 
         | I agree with you, because I feel like I only got that one
         | because I happened to get curious about CMOS (PMOS + NMOS)
         | logic earlier this year, and remembered the general idea from
         | before. Otherwise, I don't think I would have figured that out
         | either. Google image search for CMOS NAND basically shows the
         | solution, but the game doesn't tell you that's what it is until
         | after you beat the level. I think seeing the answer, then
         | immediate trying to reproduce it from memory is a good way to
         | learn. Then if you try again the next day/week/month and are
         | still able to remember it, then you've learned it.
         | 
         | I also looked up a solution for the full adder since I couldn't
         | quite remember how it worked.
         | 
         | Tangentially, I've gone through similar material over time
         | repeatedly in the games nandgame and Turing Complete, going
         | through the Nand 2 Tetris course (on Coursera), building Ben
         | Eater's breadboard 8-bit computer, reading "Code" by Charles
         | Petzold and "The Pattern on the Stone" by Danny Hillis and
         | "Digital Computer Electronics" by Malvino since that was what
         | Ben Eater partly based his computer design on, and going over
         | digital logic in CS-related EE courses up through how a CPU is
         | made. But most of those barely cover anything below the logic
         | gate level and I don't think any of them covered CMOS/NMOS/PMOS
         | specifically which is why I got curious about them this year.
         | 
         | It's pretty fun though (my type of fun anyway), and I'm really
         | curious to see how the rest of it goes since it's building a
         | GPU instead of a CPU for a change.
        
       | eterm wrote:
       | Your bug submission endpoint is getting a 429, so I'll report a
       | bug here:
       | 
       | I see a difficulty pop up after I click "run tests" but it then
       | gets hidden and doesn't do anything.
       | 
       | This was after selecting intermediate on the truth tables level,
       | then clicking "next level" from there.
        
       | triilman wrote:
       | is there any source or game like this specializing to create
       | microcontroller, like arduino, wemos (not the IC), what kind of
       | protocol is supposed to use.
        
         | Jaso1024 wrote:
         | not to my knowledge, but i'd consider adding this in (i'm
         | planning to extend to TPUs and apple silicon NPUs later, so i
         | might just add this in aswell). what would one want the levels
         | to look like?
        
       | Zetaphor wrote:
       | Please add OG/embed tags. It's both polite and helpful to let
       | people see what they're about to land on when someone shares a
       | link on socials/discord
        
       | dnotq wrote:
       | This reminds me of the Zachtronics game KOHCTPYKTOP
       | (https://zachtronics.com/zach-like/). The game left me wanting
       | more and wishing I was using an actual tool for learning or
       | designing semiconductors circuits, rather than playing a game.
        
         | moss_dog wrote:
         | Wow, I didn't realize Zachtronics made Infiniminer.
         | Fascinating!
        
         | ivanjermakov wrote:
         | There is more! In Last Call BBS they made another circuit
         | builder:
         | https://store.steampowered.com/app/1511780/Last_Call_BBS/
        
       | everyos_ wrote:
       | This seems really cool, haven't played it yet but I took a glance
       | at the first two levels and it looks similar to another game I've
       | played - will definitely play through it when I get a chance. I
       | wanna make a GPU but my board doesn't have nearly ennough dsp
       | units, so a virtual one like in this game will have to suffice
       | lol
        
       | ampedcast wrote:
       | It is really interesting. No authentication to save the level so
       | that you can continue next time.
        
       | msully4321 wrote:
       | I am a huge sucker for games/lessons like this. I feel like I've
       | played one every 5 years for the last almost 25 years.
        
       | xyst wrote:
       | not able to get it to work on mobile
        
       | slake wrote:
       | Bro. I'm obsessed with this. I spent a good 2-2.5 hours on a trot
       | with this. This was one of those things I always wanted to learn
       | a lot about and this was just perfect for that. It wasn't that
       | easy, I really struggled and gave up on some levels but came back
       | and struggled through them. The HexRacer type levels are
       | difficult and I wish I could skip through those.
       | 
       | Also when you give a solution, you probably need an explanation
       | of why that works.
       | 
       | Can't wait till you add the additional coming soon levels.
       | 
       | Your feedback feature seems broken. I tried giving feedback about
       | some basic bugs and it kept saying can't send message.
       | 
       | Please also add a waitlist to notify when you release the
       | additional levels.
        
         | eterm wrote:
         | I adore this genre, and if you enjoy this submission I'd
         | recommend the following games:                   NANDgame (
         | Free! https://nandgame.com/ )         Silicon Zeroes (
         | https://store.steampowered.com/app/684270/Silicon_Zeroes/ )
         | Turing Complete (
         | https://store.steampowered.com/app/1444480/Turing_Complete/ )
         | Human Resource Machine / 7 Billion Humans (
         | https://store.steampowered.com/app/792100/7_Billion_Humans/ )
         | MHRD ( https://store.steampowered.com/app/576030/MHRD/ )
         | 
         | They're all slightly different in terms how the construction of
         | a computer is pitched, none of them are perfect, they all have
         | quirks and flaws, but they're all fun.
         | 
         | Some like Human Resource Machine take the approachof
         | 
         | I wish Turing Complete wasn't quite so buggy or awkward, for a
         | while it was by far the most promising of the bunch, but it's
         | never quite polished and it's ended up in a bit of frustrating
         | state.
         | 
         | Notable mention also to The Signal State, Shenzhen I/O, and
         | TIS100 which are higher level than this, but scratch a similar
         | itch.
         | 
         | there's ones like TIS100 which I keep meaning to revisit, but I
         | find it very difficult to get back into these games without
         | starting from scratch, and resetting my TIS100 progress is too
         | intimidating.
        
       | urba_ wrote:
       | I love this! I learned my first logic with Crocodile Clips: would
       | simulate and solder a lot of D flip flop based logic before
       | learning about microcontrollers (my first was Atmel AT90S2313)
        
       | BuildItBusk wrote:
       | This is amazing. There are a few quirks here and there, but the
       | idea is great and it's super fun to play around in.
        
       | PotatoShadow wrote:
       | I was able to do the latch level (2.11) using a single OR gate.
       | It did pass the tests, but I am not sure if what I did actually
       | works in practice. (Force as one input, then feed the output of
       | the OR gate into the other input) The fun fact after completing
       | the level mentions a bistable latch (I don't know what that is)
       | using two inverters, which I didn't use.
        
         | mnw21cam wrote:
         | Agreed. It _should_ get itself into a twist with the undefined
         | output being fed into the input and therefore the output always
         | being undefined or 1.
         | 
         | Likewise, level 2.12 is a bit messed up, given you can ignore
         | BitLineBar. I'm not sure what the intended solution was.
        
       | FrojoS wrote:
       | Awesome! Small feedback: The test should maybe auto run. I solved
       | the first level and was confused why I didn't proceed. The out
       | was -1 (but goal was z) and it took me a while to see the 'run
       | test' button.
        
       | Alexzoofficial wrote:
       | This is a fantastic way to make GPU architecture more accessible.
       | I really like the hands-on approach to learning digital logic
       | through a game format. Looking forward to seeing how the
       | simulation system evolves!
        
       | Insimwytim wrote:
       | + for the idea
       | 
       | - for the load javascript from that page imposes on CPU. +15 degC
       | in less than 30 seconds. Nothing on the page could justify that.
        
         | a022311 wrote:
         | Yeah, my old MacBook got really laggy and the fans were
         | spinning hard. Still worth it!
        
       | unvalley wrote:
       | Great concept! Multi language support maybe good for spreading.
        
       | tankenmate wrote:
       | it's great, i really like it! i've been working on something
       | similar for CPUs but not getting into the EE weeds (like i don't
       | get into DRAM at all, no voltages, no slew rates, etc, etc).
       | 
       | it was all reasonably easy to get until you get to the sense
       | amplifier which has an almost complete lack of explanation of why
       | you need the required outputs, it is "clear if already known".
       | i.e. if you've never done any electrical engineering it makes
       | zero sense and is not the sort of thing a software developer
       | could _ever_ figure out with the minimal explanation.
        
       | avipilcer wrote:
       | Really cool approach to teaching GPU architecture. The
       | progression from basic logic gates to actual GPU components is
       | exactly how I would want to learn this. Much better than reading
       | datasheets.
       | 
       | One thing that would make it even stronger: a brief explanation
       | panel for each level showing what real-world GPU component the
       | puzzle maps to. When I completed the truth tables section, I
       | wanted to know where that pattern shows up in actual silicon.
        
       | DullJZ wrote:
       | Awesome! But too difficult for a beginner like me
        
       | arcbyte wrote:
       | Seems cool but its just not quite responsive enough on Android
       | Firefox. It seems to almost fit, but i think things are cut off.
       | Controls dont seem to work - i think the materials are off screen
       | because the directions say to select materials but I dont see
       | where to do that.
        
       | nc1zdev wrote:
       | Reminds me of that one data center game on steam. I love how
       | we're gamifying learning on these levels now
        
       | dauertewigkeit wrote:
       | I really like the game as a concept, and I got pretty far
       | already, level 2.16, but I feel like some levels aren't making
       | much sense at all in terms of the goal and how the passing
       | circuit fulfills the objective. The Latch and some others had me
       | puzzled. Because it is clearly vibecoded I feel like I cannot
       | really trust the educational material all that much and at times
       | it's not clear if I am misundestanding something or if is just
       | nonsensical LLM slop.
        
       | p2detar wrote:
       | Well done. I enjoyed it and also found it interesting that the js
       | was under 100k and served with br-encoding. I'm using gzip by
       | default everywhere, but maybe should take a look at br for text-
       | based content.
        
       | Elorth wrote:
       | Really glad to see this kind of game getting traction. I've been
       | working on Hard Chip (a transistor-level CMOS circuit puzzle
       | game) for a couple of years, and the niche is a bit lonely
       | sometimes. Games that make low-level hardware concepts tangible
       | seem to be finding an ever-larger audience every day. Excited to
       | try your take on this with this one!
        
       | wren6991 wrote:
       | Please put the connector on the top of GND. GND goes on the
       | bottom of a schematic.
        
       | thescriptkiddie wrote:
       | i was too clever by half and tried to make a NAND gate by
       | combining an AND gate with an inverter. after about 15 minutes i
       | realized that i had it backwards, an AND gate is actually a NAND
       | gate combined with an inverter
        
       | a022311 wrote:
       | This is excellent, both educationally and from a UX standpoint!
       | I've tried multiple times to read explanations on how transistors
       | work and bounced off, but this time I think I've finally
       | understood how to use them, at least practically. I feel like
       | this is a great continuation of https://nandgame.com which taught
       | me quite a bit about how small circuits combine to form something
       | big (although I never finished it, I hope to finish this one at
       | least). Another thing that I find interesting, is that while it
       | is clearly developed primarily by AI, the result is exceptionally
       | better than nearly every other AI-assisted project I've tried.
       | 
       | Some suggestions: - What I miss from NAND Game is the challenge
       | of optimizing for efficiency. You'd build a component and it
       | would let you know if it could be built with fewer NAND gates and
       | you'd try to simplify the circuit. For example, while I did "NAND
       | it" with 4 transistors, I did "The dual" with 5 and given the
       | explanation I got afterwards I could have used one less. - This
       | definitely needs to get better on mobile - The description for
       | the first level using BitLine and BitLineBar (I think that was
       | the Sense Amp?) doesn't really explain what it's supposed to do
       | and I had to deduce it from the truth table.
        
       ___________________________________________________________________
       (page generated 2026-04-05 23:01 UTC)