11 votes

Nand Game - Build a computer from scratch

3 comments

  1. 0F0_Simplex
    Link
    A few days ago, I found a free browser game called Nand Game, and it is a blast. It's a puzzle game about slowing building a computer from scratch using only NAND logic gates. You start by making...

    A few days ago, I found a free browser game called Nand Game, and it is a blast. It's a puzzle game about slowing building a computer from scratch using only NAND logic gates. You start by making an NOT gate, then an AND gate, and eventually you can build things like RAM and registers, and even full processors. As someone who is much more focused on the software side of things, Nand Game was a great way to deepen my understanding of how computers work*, while solving some fun puzzles while doing it. I haven't actually gotten to memory yet, I'm still trying to make a switch. It's crazy to see how much work goes into making something as "simple" as that, and then realizing that a single switch is still nothing compared to a full computer. Maybe someone more proficient than I am can build the full computer.

    *Disclaimer: it may not actually be exactly how computers work, like I said, I know nothing about hardware. It's still a fun puzzle game though.

    4 votes
  2. tensor
    Link
    I find computers fascinating. It is amazing that having using a very large number of components each of which do one simple task really quickly we can build systems that ultimately can play chess...

    I find computers fascinating. It is amazing that having using a very large number of components each of which do one simple task really quickly we can build systems that ultimately can play chess or how well would an airplane move.

    I have plans to read books on these topics to understand how at a basic level computation works. I really loved playing games like Human Resource Machine, TIS-100 and Silicon Zeroes etc. I think games can help people figure out computers better as you get to build systems in a sandbox and see just how different components interact.

    Thanks for bringing this to my attention OP. I would check this game out. Also the books that they mention sound really interesting. I have found what I am reading next.

    2 votes
  3. determinism
    Link
    A few years ago, a roommate recommended a course/book that takes a similar approach called NAND to Tetris. The author provides emulators for each of the levels in that hierarchy and has little...

    A few years ago, a roommate recommended a course/book that takes a similar approach called NAND to Tetris. The author provides emulators for each of the levels in that hierarchy and has little projects to be implemented so that conceptually you are moving from logic gates to implementing a simple Tetris game. I only got up to finishing the Assembler before stopping (which upon review is only about halfway) but it was definitely a valuable experience for me. Basically, the chapters in the book describe how these things function explicitly and the projects are just challenging enough to remain interesting, there is no innovation involved really.

    Once your implementation is verified and you move the the next level, the work that you did is abandoned when you start on the next emulator. In that way, the tedious bits are obscured which enables the broader goal of giving an overview of the entire system.

    This game looks interesting, I'll have to check it out when I have time.

    1 vote