Every article tag can be clicked to get a list of all articles in that category. Every article tag also has an RSS feed! You can customize an RSS feed too!
We do often include affiliate links to earn us some pennies. See more here.
A game that will likely excite the most nerdy in our community, MHRD [Steam, IndieDB], a game where you design your own hardware.

YouTube Thumbnail
YouTube videos require cookies, you must accept their cookies to view. View cookie preferences.
Accept Cookies & Show   Direct Link

To me, this looks really odd. Someone care to enlighten me as to what is exciting about games like this if it's your thing?

About the game
Build your own CPU
- Design hardware circuits with the integrated hardware development environment
- Write your designs in the MHRD hardware design language
- Create hardware designs based on more than 20 specifications (e.g. multiplexer, adder, ALU, RAM, etc.)
- Simulate and verify your designs
- Read the included manual to get started on your career as a hardware engineer
- Reuse completed hardware designs to build more complex ones
- Design a fully functional CPU and get your mind blown! Article taken from GamingOnLinux.com.
Tags: Indie Game, Simulation, Steam | Apps: MHRD
3 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly checked on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by . You can also follow my personal adventures on Bluesky.
See more from me
The comments on this article are closed.
All posts need to follow our rules. For users logged in: please hit the Report Flag icon on any post that breaks the rules or contains illegal / harmful content. Guest readers can email us for any issues.
18 comments Subscribe

This reminds me of the exercises in this book: https://mitpress.mit.edu/books/elements-computing-systems

It's an amazing book; in the first half you get to construct a 16 bit computer, starting from individual logic gates. Then you write a pretty basic Assembly language for the processor, and write some simple programs in it. Eventually a complete operating system, and an object-oriented higher level language are designed; but I haven't studied through those parts. The book comes with several emulators / simulators to test the resulting hardware; and eventually the software written to run on that hardware.

It looks like this game will be similar. The 'NAND' that they refer to in the trailer is a basic logic gate from which all other truth functions (AND, OR, XOR, etc.) can be defined. I wonder how they've implemented the ALU (Arithmetic Logic Unit), the memory registers, etc. Also in general I wonder how they've 'gamified' the whole thing. Looks really interesting.....

Here's a talk by one of the authors of the book mentioned:
View video on youtube.com


Last edited by walther von stolzing on 5 Jan 2017 at 11:39 am UTC
tuubi 5 Jan 2017
View PC info
  • Supporter Plus
The trailer doesn't tell me much. Is it an engineering simulation of some kind or is there an actual game in there? I love TIS-100, but this... I have no idea.
The trailer doesn't tell me much. Is it an engineering simulation of some kind or is there an actual game in there? I love TIS-100, but this... I have no idea.

It probably works like TIS-100, where you get a series of distinct 'take this input, return this output' tasks in increasing complexity, and try to work out the most efficient solution. The over-arching goal could be related to a bit of background mystery, as in TIS-100.

The screenshots show the specifications for a NOT gate; I'm curious how they've implemented the more complex structures like the Arithmetic Logic Unit; also how much of the CPU's design is a ready template, and how much of it is up to the player. (I mean, there *has to* be ready templates for the more complex stuff; it's not like you get to create new architectures?!) Too bad I'm broke; or I would've got this.

(Another question is how complex the end product gets: Only a CPU? A complete computer with memory mapped devices?)


Last edited by walther von stolzing on 5 Jan 2017 at 12:47 pm UTC
badber 5 Jan 2017
Seems like it might be a real tool for learning which makes me interested. If you want to call it nerdy for someone to be deeply interested in a specific area then I guess sure, it's for the nerdy. People do also talk about physics and maths nerds these days after all...


Last edited by badber on 5 Jan 2017 at 1:39 pm UTC
tuubi 5 Jan 2017
View PC info
  • Supporter Plus
Seems like it might be a real tool for learning which makes me interested. If you want to call it nerdy for someone to be deeply interested in a specific area then I guess sure, it's for the nerdy. People do also talk about physics and maths nerds these days after all...
People used to call them geeks. I guess nerd is an improvement now that it isn't a dirty word anymore.
ivant 5 Jan 2017
View PC info
  • Supporter
People used to call them geeks. I guess nerd is an improvement now that it isn't a dirty word anymore.
View video on youtube.com
ivant 5 Jan 2017
View PC info
  • Supporter
This reminds me of the exercises in this book: https://mitpress.mit.edu/books/elements-computing-systems

It's an amazing book; in the first half you get to construct a 16 bit computer, starting from individual logic gates. Then you write a pretty basic Assembly language for the processor, and write some simple programs in it. Eventually a complete operating system, and an object-oriented higher level language are designed; but I haven't studied through those parts. The book comes with several emulators / simulators to test the resulting hardware; and eventually the software written to run on that hardware.
This is an excellent book! I highly recommend it to anybody interested in how computers work. There's no better way to understand it, than to play a game of tetris. That you developed in a language, for which you wrote the compiler. And the standard library/OS. On a hardware you designed.
Gobo 5 Jan 2017
Trust your technolust!

There is a MOOC (Computation Structures) on edX.org by MIT that seems the perfect formal background for this. You'll be introduced to CMOS and build your own cpu as well. But games are always more fun ;)
Trust your technolust!

There is a MOOC (Computation Structures) on edX.org by MIT that seems the perfect formal background for this. You'll be introduced to CMOS and build your own cpu as well. But games are always more fun ;)

Thanks, this looks like a great website.
I think these are the most relevant links:

https://www.edx.org/course/computation-structures-part-1-digital-mitx-6-004-1x-0#!
http://computationstructures.org/notes/top_level/notes.html
tuubi 5 Jan 2017
View PC info
  • Supporter Plus
Sorry @ivant, can't watch your video. Couldn't even read the title past the words "Epic Rap ...".
sub 5 Jan 2017
Wow, I have to check this one out. Thanks!
ivant 5 Jan 2017
View PC info
  • Supporter
I bought the game. Here are my first impressions.

You start working for Microhard, an obvious pun on Apple Microsoft, a company which tries to disrupt the CPU business in the 1980s. You start with a NAND (and later on DFF) and have to design increasingly more complex circuits, using the ones you've already developed.

The UI of the game is what you see in the video clip. It took me a couple of minutes to get used to it, so I give it an A. The manual is in the game, which is also a plus. It's also very short and to the point, so you won't spend too much time reading it.

You also get assigned an intern to help you with the more tedious tasks. What it really means is, that when you start developing the so-called bus versions of some of the chips, you need to develop just one, and the "intern" does the rest of them. This is good, because you can move on to the other fun tasks without the need to do a lot of repetition.

The only downside for some might be that, so far there isn't much more than that. The reward you get is the feeling of accomplishment when you've completed the task. It doesn't matter how well you do it. There's no comparison who can do it with fewer chips, or to make it work faster or anything like that. But I think learning these things can be rewarding by itself.

So far it's very similar to the NAND 2 Tetris course, that was mentioned before.

I'll write some more when I get further in the game.
ivant 5 Jan 2017
View PC info
  • Supporter
Sorry @ivant, can't watch your video. Couldn't even read the title past the words "Epic Rap ...".
I bit prejudiced, eh? But it's fine :)
You start working for Microhard, an obvious pun on Apple Microsoft, a company which tries to disrupt the CPU business in the 1980s.

That's kinda odd. Why not 'bintel', or 'HARM', or something that pokes fun at CPU designers/manufacturers?
This reminds me of the exercises in this book: https://mitpress.mit.edu/books/elements-computing-systems
This seemed super interesting to me, but then I saw that the required software requires Java… :(

I haven't had any issues running them with the stock 1.7 runtime (wherever it comes from; I forget now) in the openSUSE TW repos; I haven't had to tinker with anything (like customizing launcher scripts).
tuubi 5 Jan 2017
View PC info
  • Supporter Plus
Sorry @ivant, can't watch your video. Couldn't even read the title past the words "Epic Rap ...".
I bit prejudiced, eh? But it's fine :)
Guess I am prejudiced against (most) rap music. I'm also violently allergic to hype words like "epic" or "extreme". My loss, I'm sure.


I might enjoy MHRD, can't really say based on what I see and read. Probably won't get it at current price at least.
ivant 6 Jan 2017
View PC info
  • Supporter
I bought the game. Here are my first impressions.

You start working for Microhard, an obvious pun on Apple Microsoft, a company which tries to disrupt the CPU business in the 1980s. You start with a NAND (and later on DFF) and have to design increasingly more complex circuits, using the ones you've already developed.

The UI of the game is what you see in the video clip. It took me a couple of minutes to get used to it, so I give it an A. The manual is in the game, which is also a plus. It's also very short and to the point, so you won't spend too much time reading it.

You also get assigned an intern to help you with the more tedious tasks. What it really means is, that when you start developing the so-called bus versions of some of the chips, you need to develop just one, and the "intern" does the rest of them. This is good, because you can move on to the other fun tasks without the need to do a lot of repetition.

The only downside for some might be that, so far there isn't much more than that. The reward you get is the feeling of accomplishment when you've completed the task. It doesn't matter how well you do it. There's no comparison who can do it with fewer chips, or to make it work faster or anything like that. But I think learning these things can be rewarding by itself.

So far it's very similar to the NAND 2 Tetris course, that was mentioned before.

I'll write some more when I get further in the game.
When I wrote the first part of the review, I've just reached the ALU, but I hadn't read the spec yet. Now I finished the whole game, and I can say that the ALU and CPU architecture are very similar to the ones in the NAND2Tetris course. They are not exactly the same, but are close enough that it took me just 6 hours to finish the whole game. At the end of the game, they hint that there may be additional content in the future, but I haven't checked their website of forums to see if it's confirmed.

Probably the main question is, is this a game or a learning tool? I think it tries to be both, but it fails short in each case. As mentioned above, there aren't many game-like things in it at all. There are some emails that you can read and that's it.

And it lacks some important aspects to be a good learning tool. Debugging parts is hard and the tool does little to help you. You can't inspect the outputs of intermediate gates, and the documentation to help you actually learn why are you designing this gate, or why are you designing the ALU or the CPU the way you do, is virtually missing.

I think it is a good start, but they'll need a lot more content to make it more interesting and useful. Up until the ALU, you're designing fairly standard gates, like AND, OR, MUX, DEMUX, etc. You don't need that much explanation there, though a bit more might be helpful.

The ALU, the instructions decoder and the CPU on the other hand are specific to each architecture. So I think it's important to not only specify them well, but also explain their roles and why they are designed the way they are. This is not done at all, here. And there are even some things are left unspecified. I was able to figure them out, because of the similar architecture to the one I already know, but I don't think it would be easy for somebody unfamiliar with that.

It also feels a bit unfinished, because you're designing some things, but never use them. Like the negative output of the ALU and the RAM chips.

Overall, I think that you'd be better off if you buy The Elements of Computing Systems book and use the free tools for the course. You will have much deeper understanding of how the CPU work. And you'll have more fun with it, because you can actually do interesting things with it.

Disclaimer: I'm in no way affiliated either with the game developers or with the nand2tetris course and book authors.
Gobo 6 Jan 2017
<snip>Very nice review</snip>

Thanks for the insights, ivant!
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.
Buy Games
Buy games with our affiliate / partner links: