I'm the one who made this. The GitHub link was posted on HN yesterday as well, but I'm happy to answer any questions here if people have any!
dillutedfixer 669 days ago [-]
I just want to say that this is incredibly impressive on so many levels. Your technical skills are obviously amazing but I really love how you were able to put this all together into an entertaining and well-produced video that anyone could understand. If you ever want to get paid 1/4 of what I'm sure you'll make as an engineer, you'd make a great teacher ;)
misprit7 669 days ago [-]
Thanks, was definitely hard to strike a balance between being understandable for non-nerds but also convey all the technical difficulties/achievements, but I'm pretty happy with how it turned out .
ftxbro 669 days ago [-]
That is amazing I understand how powerful of nerd skills it took to do all those steps. Maybe the most amazing one to me is that terraria mod to speed up their wiring code without changing any other behavior, and the combination of skills to do such nerdy stuff and also finish the project in a form that normies can appreciate and also making a popularization video of it. It's a very useful combo of skills and interests.
I guess I have a question, I know you did it yourself but it looks like you were in some community. Is it like a discord channel or was it some of your classmates or what?
misprit7 669 days ago [-]
It was pretty much just me by myself on this other than for the raycaster engine, which was done by a friend of mine near the end. I'm on a few Discord servers on Minecraft computing, but it's pretty vastly different and the biggest parallel is just with high level accelerator stuff.
ftxbro 669 days ago [-]
> "ReLogic if you ever read this although I doubt it"
They should definitely pay you to add this. They can do it by just hiring you remote for a little while even if you are still a student and you add this wiring code. You speeded up their code so many orders of magnitude without even having access to it. Most people would have a hard time doing it even if they can see the source code.
Also I have a question, what do you think about RISC-V? I never cared about embedded code until recently when I saw that you can buy an ESP32 chip for like five dollars and it's as powerful as a computer from the 90s and it has bluetooth and wifi, I was like wtf. I saw the most recent version ESP32-S3 uses RISC-V, and the new Arduino R4 uses ESP32-S3. Also related to RISC-V I saw this Jim Keller youtube video where he is all-in on RISC-V https://www.youtube.com/watch?v=_MrGNlXRi9M
misprit7 669 days ago [-]
I think it has a lot of technical merit and I heavily appreciate the fact that it's open source which is why I used it here. That being said in terms of microcontrollers I don't think it's doing anything fundamentally that much better than ARM, most of it's competitive advantage just comes from the fact that it's open source.
Edit: just as a disclaimer I've never actually written any ARM assembly/silicon design so I'm probably not the most qualified to have an opinion on this
You start with a NAND gate (NOT AND) and built the simple gates, multiplexers, ALU, machine language, VM, compiler for a high level lang, OS, graphics engine, culminating with a game you design that runs on this computer.
I was already impressed, then I got to the part where he wrote a tool chain with Rust and a test suite for RISC-V which runs in game.
Then I decided the kid was a young whippersnapper who's way too big for his britches and "kids these days" and all the other things old people think to make themselves feel better when they're being obsoleted.
ok_dad 670 days ago [-]
I figure I would never have competed with this kid; he’s making people like jwz or antirez obsolete, not me! I’ll always be way more mediocre than this person.
smaudet 669 days ago [-]
I don't think he's dumb, but I also think a lot of people underestimate what they are capable of. Its a neat project, but it is one of those lots-of-grinding projects. Any tech professional should be able to pull this off, reasons abound why they won't (not motivated/mentally exhausted from work BS/have lives and no longer have infinite free time).
So I think "intelligent, and hard working", not "oh man could I never do something like that". Most of us spend time doing other, less geeky things, like reading, media consumption (spending time on HN).
Sure, as we get older, we "slow down", but that's OK - I could write up game engines or other complex projects in a couple weeks when I was younger, but I would also make a lot of mistakes. Stuff is mostly intuitive now.
kortex 670 days ago [-]
Man, rustc compiling of binaries that run on this computer, docker, github CI, this kid's going places (no idea how old he is, but he's squarely younger than me, a millennial, ergo, kid).
vincent-manis 670 days ago [-]
I am thinking back to when I was a wunderkind. If I'd had access to modern technology (software and hardware) back then, could I have done anything like this? NO!
Mind blowing. How can some one be so talented, I even fail to comprehend his work.
herval11 670 days ago [-]
Ah, how superfluous it is now to state the obvious: computers, those magnificent machines, are merely tools designed for specific tasks. Who would have thought that the core mechanism need not always be a humble transistor? Oh, the audacity to fashion a computer out of pipes and water, or even the cheekiness of constructing one with the enchanting language of CSS! Truly, it is a revelation of the ages that we can now recreate the same wonders in the pixelated realms of Minecraft or Terraria. How utterly passé, my dear interlocutor, but I must commend the sardonic effort to erect a cathedral of toothpicks. Bravo, good sir or madam, for your ironic craftsmanship knows no bounds!
pelagicAustral 670 days ago [-]
awww man! here we go again, impostor syndrome kicking in.
umvi 669 days ago [-]
Nice. Would it have been faster to "just" write a Verilog => Terraria save file compiler?
emrah 669 days ago [-]
People were able to build computers in many games like minecraft, factoria, terreria etc. I haven't played these games so I'm curious what kind of features allow for "computers" to be built inside games?
seanthemon 669 days ago [-]
Wires, gates, outputs & inputs and syncing - the core ingredients of computer-in-a-computer
serf 669 days ago [-]
in-game constructors that represent either logic gates, or in some cases rudimentary circuit primitives that can then be used to product logic gates themselves.
Rust (the game) for example has a wiring system that is somewhat reminiscent of electrical wires (there is an amperage/electron concept that makes it tick), but the appliances that plug into the electrical system represent logic gates like AND/OR/NOR/XOR, etc; so that system kind of hits both the electricity and the logic metaphors. One can make complex memory structures/counters/timers/etc, and they may output/control in-game structures like doors/turrets/alarms/displays/etc.
a popular example would be a turret that fires upon an enemy that has been trapped in a house upon triggering a motion sensing device, initating a countdown, and powering up the turret.
vintermann 669 days ago [-]
I'm pretty sure the first "computer in a sandbox game" was Jong's computer in Dwarf Fortress, implemented in that game's fluid pressure mechanics, in early 2010.
That was certainly what inspired many others to add deliberately circuit-y things to their games that could be be used to build computers - most notably Minecraft's redstone and Terraria's wires.
In theory all you need is a way to implement a nand gate, and really good simulation speed.
ngshiheng 669 days ago [-]
This is one of the craziest (coolest) things that I've seen on the Internet. Hats off to you man. Mad respect.
I guess I have a question, I know you did it yourself but it looks like you were in some community. Is it like a discord channel or was it some of your classmates or what?
They should definitely pay you to add this. They can do it by just hiring you remote for a little while even if you are still a student and you add this wiring code. You speeded up their code so many orders of magnitude without even having access to it. Most people would have a hard time doing it even if they can see the source code.
Also I have a question, what do you think about RISC-V? I never cared about embedded code until recently when I saw that you can buy an ESP32 chip for like five dollars and it's as powerful as a computer from the 90s and it has bluetooth and wifi, I was like wtf. I saw the most recent version ESP32-S3 uses RISC-V, and the new Arduino R4 uses ESP32-S3. Also related to RISC-V I saw this Jim Keller youtube video where he is all-in on RISC-V https://www.youtube.com/watch?v=_MrGNlXRi9M
Edit: just as a disclaimer I've never actually written any ARM assembly/silicon design so I'm probably not the most qualified to have an opinion on this
I think you might do quite well.
You start with a NAND gate (NOT AND) and built the simple gates, multiplexers, ALU, machine language, VM, compiler for a high level lang, OS, graphics engine, culminating with a game you design that runs on this computer.
There's also a book with the same contents (https://www.nand2tetris.org/book).
Then I decided the kid was a young whippersnapper who's way too big for his britches and "kids these days" and all the other things old people think to make themselves feel better when they're being obsoleted.
So I think "intelligent, and hard working", not "oh man could I never do something like that". Most of us spend time doing other, less geeky things, like reading, media consumption (spending time on HN).
Sure, as we get older, we "slow down", but that's OK - I could write up game engines or other complex projects in a couple weeks when I was younger, but I would also make a lot of mistakes. Stuff is mostly intuitive now.
Rust (the game) for example has a wiring system that is somewhat reminiscent of electrical wires (there is an amperage/electron concept that makes it tick), but the appliances that plug into the electrical system represent logic gates like AND/OR/NOR/XOR, etc; so that system kind of hits both the electricity and the logic metaphors. One can make complex memory structures/counters/timers/etc, and they may output/control in-game structures like doors/turrets/alarms/displays/etc.
a popular example would be a turret that fires upon an enemy that has been trapped in a house upon triggering a motion sensing device, initating a countdown, and powering up the turret.
That was certainly what inspired many others to add deliberately circuit-y things to their games that could be be used to build computers - most notably Minecraft's redstone and Terraria's wires.
In theory all you need is a way to implement a nand gate, and really good simulation speed.