HN Theater @HNTheaterMonth

The best talks and videos of Hacker News.

Hacker News Comments on
I made Minecraft in Minecraft with redstone!

sammyuri · Youtube · 884 HN points · 2 HN comments
HN Theater has aggregated all Hacker News stories and comments that mention sammyuri's video "I made Minecraft in Minecraft with redstone!".
Youtube Summary
3D Minecraft in Minecraft with no command blocks, no datapacks and no mods.
Features include an 8x8x8 fully 3D-rendered world with 16 different block types, 32 different items, and dozens of game mechanics including mining, crafting, smelting, building, chests, random ticks and more!

This was a team effort between myself, Uwerta and StackDoubleFlow.
Contact me: [email protected]
Contact Uwerta: [email protected]
Contact Stack: [email protected]

While all the redstone can run on vanilla Minecraft, it would run at a frame every few days, and hence in order to make it playable a server called MCHPRS (Minecraft High Performance Redstone Server) is used to speed up the game to over 10,000x normal speed.

-------------------------------------------------------------------

World download: https://www.mediafire.com/file/fbkuwo2aqg8gigj/3D+Minecraft+in+Minecraft.zip/file
Explanation video: https://www.youtube.com/watch?v=xIMkqHb2-KM

MCHPRS: https://github.com/MCHPR/MCHPRS
Check out the ORE Minecraft server at: mc.openredstone.org (version 1.18.2)
Find out more about URCL at: https://discord.gg/Nv8jzWg5j8
PS4 controller design: https://www.youtube.com/watch?v=jurcN3i6rCw

-------------------------------------------------------------------

Music: Gareth Coker - Clockwork Crafter
I do NOT own the music!
HN Theater Rankings
  • Ranked #1 this month (aug/sep) · view
  • Ranked #4 this year (2022) · view
  • Ranked #23 all time · view

Hacker News Stories and Comments

All the comments and stories posted to Hacker News that reference this video.
Sep 19, 2022 · 871 points, 154 comments · submitted by reimertz
reimertz
This is truly amazing.

Comment from one of the creators;

This build does NOT run in real time. It runs on MCHPRS, the server developed by StackDoubleFlow, which speeds up the game roughly 10-20,000x while running redstone. That brings the framerate to a much more reasonable 0.1fps, so the long timelapses in the video only took 9 hours to record in in total.

Yajirobe
How did they load Minecraft onto that computer?
MauranKilom
They didn't load the real Minecraft on it, but they implemented their own version. But that version still has true 3D graphics, several block types, an inventory, mining, crafting, etc.
jl6
And if that version has redstone, then we know what needs to happen next.
ycombinete
Permutation City
smegger001
someone ports doom to it?
thekiptxt
From the video uploader: “yes, we will run DOOM on this” :)
moffkalast
It's redstone all the way down.
reimertz
always has been.
hot_gril
Also, is that redstone wiring non-vanilla, or is it just a texture pack?
bmicraft
It's just a texture pack
dubiousconst281
It's mind blowing how much effort they put into this, the MCHPRS server even JIT compiles redstone into native code using Cranelift: https://github.com/MCHPR/MCHPRS/blob/master/docs/Redpiler.md

It really saddens me that their post was removed from r/Minecraft, for crediting a server by including its IP address for literally one second in the video.

colpabar
half a second!
holoduke
Reddit is very saddening on general. Best to avoid it
friendzis
In general yes, the "community mod" concept has been mostly dead for a very long time and major communities are in general run by by zealots with ideology and/or financial interest.

At least one can find niche communities with healthy discussion/debate as primary interest.

nullc
> and/or financial interest

Soon to be official policy based on their statements at the moderator convention:

"I want our users, user-users and moderator users, to make money on reddit. Specifically, I want them to make money from other users. And so we need to have business models where users are paying money to other users or to subreddits. I would like subreddits to have the ability to be businesses. We have a lot of subreddits that are kind of trying to do this, but the platform just doesn't support it."

It's especially weird becuase in the last year or two reddit has cranked their capricious and opaque moderation up to 11-- it would be suicidal to base your livelihood on that platform where you could be shut off at an instant and without recourse just due to a false report campaign from a competitor, troll, or extortionist.

whatisthiseven
I worked on a CPU in Minecraft years ago and designed it to be a 7-bit CPU. I chose that number because it gave me the an appreciable number of operations plus space for arguments. I had only 6 bytes of RAM and about 32bytes of ROM. The ROM was just a circle of transparent blocks (zero) and solid blocks (one) pushed around by pistons.

The whole thing was real slow, but it was so much fun trying to design something that would perform interesting calculations. I stopped working on it as at the time Minecraft had some odd bugs with pistons that would cause non-deterministic behavior.

I think the most challenging aspect wasn't the programming or circuits, which were well understood and mapped out, but trying to create modules I could copy-paste inside a special Minecraft save editor to make the machine quickly, then manually dragging out data/command lines to hook the modules together.

MauranKilom
Brings me back to when I first worked on an ALU in Minecraft. At least at the time, it had really annoying bugs with repeaters though, where it would occasionally mess up a signal, which frustrated me enough to give up on it.
kibwen
Don't miss the other video showing the overview of the CPU, it's seriously impressive: https://youtube.com/watch?v=FDiapbD0Xfg
SCLeo
I think we will see more of these amazing Minecraft technical creations as people who played Minecraft as children are now finishing up their higher educations.
NoToP
In the contrary, I think kids that self taught most of digital logic years ago are now being accredited for what the game already taught them, and are now doing it for money with silicon rather than redstone.
tablespoon
The video description says:

> 3D Minecraft in Minecraft with no command blocks, no datapacks and no mods. Features include an 8x8x8 fully 3D-rendered world with 16 different block types, 32 different items, and dozens of game mechanics including mining, crafting, smelting, building, chests, random ticks

Is "3D Minecraft" a Minecraft clone for low-powered hardware? It looks like their emulated CPU only has <10KB RAM and a 96x64 display, which screams "TI-83 program" to me.

derac
They wrote a clone, yes.
kibwen
> only has <10KB RAM

It's even more impressive than that. It has 8kb of ROM, and only 512 bytes of RAM!

jcl
Yeah, they're implementing a Minecraft-like experience within Minecraft, not literally running official Minecraft code on their VM.

I think they specify "3D Minecraft" to distinguish it from earlier efforts, where people built 2D Minecraft-like experiences with redstone, like:

https://www.gamesradar.com/guy-makes-minecraft-playing-compu...

swayvil
The 0.1fps time scale makes no difference to people living within this minecraft universe. From their perspective a second is a second and a day is a day. Funny.

See Greg Egan's PERMUTATION CITY for more on that.

oxmane
Came here for the awesome project, came out with a book recommendation.

Thank you HN!

ninkendo
Also, for an extreme example, https://xkcd.com/505/
swayvil
Woah!
Karsteski
Permutation City is one of the best Sci-Fi books I've ever read. Would definitely recommend.
AntonioCao
My first thought exactly. This essay by Hans Moravec is also a great exposition for similar idea: https://frc.ri.cmu.edu/~hpm/project.archive/general.articles...
PaulHoule
My son has gotten into designing logic circuit with Redstone. I wish I could get him to do the same with 74xx/54xx parts.
taneq
If logic ICs don’t appeal, maybe he’d be interested in relay logic? There’s something super satisfying about a totally electromechanical contraption clunking away and ‘thinking’.
PaulHoule
It might be fun to get a big box of relays.

Sometimes I think I want to make a frame buffer out of 74xx parts and some SRAM.

sitkack
Counter, decoder, resistor ladder, op-amp per color channel and you have component video. I am not sure how I could generate the timing info. I suppose there is much higher freq parts, one could do direct digital synthesis.
PaulHoule
Generate a dot clock with a crystal.
PixyMisa
Check out Ben Eater's series on the "world's worst video card".

https://eater.net/vga

sitkack
I just found out about that a couple hours ago from this person's implementation, https://www.youtube.com/watch?v=ZoZWe-e_1YA

What a great project!

PaulHoule
It's not that hard to build a display controller but it's problematic for projects like

https://www.youtube.com/watch?v=LU5989eVRZs

because that kind of system competes with Raspberry Pi which puts a lot of downward pressure on what is an "acceptable" price.

Real 8-bitters used custom chips for their display controllers, but if you don't use custom chips you need a few handfuls of logic chips and you wind up with something about as expensive as the video card linked to above. To justify a custom chip you need big volume. You can make a display controller from an FPGA or Microcontroller, it's probably cheaper than one made from small chips, but still not cheap enough... And there's something absurd about using a much more powerful part than the CPU to run the display.

imtringued
I don't know why people have this nostalgia, my first PCB was basically nothing but SMT components with just a handful of through hole components for things like connectors.
dlivingston
If his hobby turns into a passion, he'll be itching to move beyond Redstone. Don't fret. :)
LeifCarrotson
Why 74xx parts, other than nostalgia for an era that was over decades before he was born?

If it's about building physical things rather than virtual things, consider Lego Mindstorms controllers; you can build digital logic in them using Scratch...and graduate to Python when he gets frustrated with the limitations. And there's tons of Minecraft-themed Lego contraptions, he could theoretically use Mindstorms logic, lights, and actuators to build Redstone logic!

speed_spread
Talk about gatekeeping...
swores
And yet you're talking about it despite replying to someone who clearly wasn't gatekeeping. They were offering suggestions.
postalrat
You don't start a suggestion with "Why 74xx parts, other than nostalgia for an era that was over decades before he was born?"
swores
I agree that they could have worded that sentence more nicely, but "gatekeeping" isn't the automatic opposite of "charming and polite", nor does it describe any and all negative feedback. It's a specific term with, you know, meaning.
przemub
gatekeeping. Get it? Ahahaha.....
NoToP
NOT
speed_spread
Thank you! And come back, I'll be here for the next few cycles!
naikrovek
74xx parts are still made and used in new designs today...
picture
Not just made, but actively innovated upon. Discrete logic families even just for use as glue logic are never going anywhere. Currently a great (and very modern) choice is LVC for availability, speed, and compatibility with both 3.3 V and 5 V logic (some able to go down to 1.8 V?)
PaulHoule
74xx parts are real physical objects you can handle in your hands. You don't need to use a computer at all with them (though I often use an Arduino together with them)

I'm kinda clumsy but I get a lot of pleasure out of breadboarding with 74xx parts.

shagie
Should get some 7404 chips as good luck charms.
sitkack
It would be fun to sit down and build 74xx parts inside of Minecraft along side your son. You both could teach and learn something new.
skwirl
This is exactly the type of content I hope to see when I check HN. Awesome.
felipelalli
Now it's time for the next step: build another CPU inside that one.
squarefoot
Or better, moving the main Minecraft into the hosted CPU emulated into the emulated Minecraft, so that a singularity would open and suck the entire Universe into Minecraft.
ranger47
You remind me of someone... a man I met in a half-remembered dream. He was possessed of some radical notions.
Bolkan
https://youtu.be/8LiVGDq01FU
Evidlo
I think its from Inception
dapozza
Xzibit
Cieplak
Reminds me of Conway’s Game of Life, emulated inside Conway’s Game of Life:

https://m.youtube.com/watch?v=xP5-iIeKXE8

boredpudding
I wonder if it's possible to run this outside of Minecraft in some way. I assume the developers weren't debugging the program in Minecraft itself.
miohtama
They cannot naturally run real Minecraft on their CPU. Instead, they have handcoded Minecraft like game for their custom CPU, so the title is a bit misleading. For this CPU/language you will find an emulator.

You can find more information in the explainer video https://youtu.be/xIMkqHb2-KM

ravi-delia
It's definitely a little misleading, but idea of running the entire JVM with graphics stack included is so insane that I'm willing to call this "minecraft in minecraft"
system2
I wish to have the patience and excitement about something to build like this. I admire people like this youtuber.
brap
What's with the code?

I don't know much about Minecraft, but I assumed the CPU would be built purely from blocks which act like transistors. Yet there's a part of the video where the show code written in-game(?). What's up with that? Isn't it cheating?

ZeKK14
As explained in the description of the video, this is not running on a vanilla Minecraft server, but on their own implementation optimized to run redstone circuits.

The code displayed at the beginning seems to come from that: https://github.com/MCHPR/MCHPRS/blob/master/crates/core/src/...

hot_gril
Also that redstone wiring definitely isn't vanilla.

I dunno, this is really impressive, but it's not Minecraft.

MauranKilom
Briefly put: The code shown was used to make the redstone (i.e. Minecraft logic circuit) behavior run at 10000x speed on the server. It's still the same game logic, but recording the video only took 9 hours instead of a decade.
kibwen
As mentioned by others the Rust code shown in the video is for the Minecraft server implementation. But the game itself running on the in-game CHUNGUS 2 was written in another language, and then they have a custom assembler that translates that code into Minecraft blocks to be loaded as the 8kb ROM.
martin-adams
I suspect that code is so they can duplicate the blocks and not have to build everything by hand. I don't think the code is used to execute minecraft.
spullara
The code generates the computer I think.
shagie
A glance at the code, it appears to be the code for generating the world.

Placing all those blocks by hand would be tedious.

I believe you are seeing a complier of code -> red stone, not code embedded into Minecraft.

(late edit: The file name is src/redpiler/mod.rs - a search brings up https://www.reddit.com/r/redstone/comments/md1xwy/redpiler_t... which is posted by the same author as the video creator... and that appears to be an optimized Redstone interpreter (terms get confusing here if you try to say that this is a that)...

> MCHPRS is an open source project with the goal of allowing high speed redstone execution. This speed was achieved by generating a graph structure of all redstone links. MCHPRS can compile redstone into a graph and execute based on it.

> This is what the generated graph looks like: https://imgur.com/a/J51nJvV

> Redpiler is just a proof of concept and I expect to be able to get much faster speeds in the future :D

/edit)

brap
Ah makes sense, thanks!
Liambp
Can someone explain to a clueless person (me) how a 1Hz CPU manages to achieve even 0.1fps frame rates. That is only ten clock cycles per frame. I don't know what the IPC of Chungus 2 is but that doesn't seem a lot of cycles to calculate each new frame.

Thinking about this another way. Real world CPUs have clock speeds at least 1 billion times faster than this and they only run Minecraft a few 1000 times faster than is claimed here. How do these numbers add up?

moss2
The video author (Sammyuri) clarified it in a comment:

> This build does NOT run in real time. It runs on MCHPRS, the server developed by StackDoubleFlow, which speeds up the game roughly 10-20,000x while running redstone. That brings the framerate to a much more reasonable 0.1fps, so the long timelapses in the video only took 9 hours to record in total.

ClassyJacket
Interesting. I saw a video of this on tiktok that said "sped up 2,000,000 times" and thought it was an exaggeration, or error. Apparently not.
teekert
If you like to ponder physiological implications and deeper themes of such worlds in worlds and what it can mean, in a fun way, I recommend the (sci-fi) book Permutation City (Greg Egan), from 1994. It also contains an artificial world, called the Autoverse that felt to me like Minecraft when I read the story. But it is taken a lot further...
antonvs
I’m not sure I’d want to upload my consciousness to a Minecraft server...
unethical_ban
How would someone get into designing/simulating CPUs and computers other than Minecraft? Is there any software for learning and implementing "simple" logic circuits, memory, etc?
yarolig
Ben Eater have nice videos on youtube https://www.youtube.com/c/BenEater/videos

There is a good https://nandgame.com/

You may want to use some simulating software like a verilog interpreters or logic simulators. I do not know a good one, I'm not a specialist it that stuff.

And... If you have a couple of months to waste... You can try Factorio.

Bakary
https://www.nand2tetris.org/

I would also start with Code by Charles Petzold

bismuthcrystal
Sorry for being this rough but, what a naive question this is. Of course there is.
unethical_ban
It's expected that there are tools, clearly, since people seem to know how to do this kind of thing. Good tools that an interested beginner can use as a lab are another thing.

If you skip back to the first question, then. It isn't naive. You chose to be short when you could have said nothing.

Twisol
In natural language, asking "is there" is implicitly asking for more than just a truth value. It's expected that the response will include an example; a witness to the answer "yes". The indirection is considered polite and non-aggressive by many people. In particular, a direct question like "What software exists for this?" is sometimes met with a "Have you tried Google?", when the intent is also to get recommendations and not a pile of search results to evaluate as a newcomer.

In this case, they got a rude answer anyway. I hardly think that's their fault though.

LelouBil
Look at this game : https://store.steampowered.com/app/1444480/Turing_Complete/

Basically you go from building logic circuits to building your own CPU and writing assembly for it.

I only added it to my wishlist, didn't try it yet.

unethical_ban
It doesn't explain things too well, but it gives answers and is iterative so I'll keep at it.
inetknght
Cool! Now build it in Turing Complete and export it to an FPGA
westurner
From KiCad https://en.wikipedia.org/wiki/KiCad :

> KiCad is a free software suite for electronic design automation (EDA). It facilitates the design and simulation of electronic hardware. It features an integrated environment for schematic capture, PCB layout, manufacturing file viewing, SPICE simulation, and engineering calculation. Tools exist within the package to create bill of materials, artwork, Gerber files, and 3D models of the PCB and its components.

https://www.kicad.org/discover/spice/ :

> KiCad integrates the open source spice simulator ngspice to provide simulation capability in graphical form through integration with the Schematic Editor.

PySpice > Examples: https://pyspice.fabrice-salvaire.fr/releases/v1.6/examples/i... :

+ Diode, Rectifier (AC to DC), Filter, Capacitor, Power Supply, Transformer, [Physical Relay Switche (Open/Closed) -> Vacuum Tube Transistor -> Solid-state [MOSFET,]] Transistor,

From the Ngspice User's Manual https://ngspice.sourceforge.io/docs/ngspice-37-manual.pdf :

> Ngspice is a general-purpose circuit simulation program for nonlinear and linear analyses.*

> Circuits may contain resistors, capacitors, inductors, mutual inductors, independent or dependent voltage and current sources, loss-less and lossy transmission lines, switches, uniform distributed RC lines, and the five most common semiconductor devices: diodes, BJTs, JFETs, MESFETs, and MOSFETs.

> [...] Ngspice has built-in models for the semiconductor devices, and the user need specify only the pertinent model parameter values. [...] New devices can be added to ngspice by several means: behavioral B-, E- or G-sources, the XSPICE code-model interface for C-like device coding, and the ADMS interface based on Verilog-A and XML.

Turing completeness: https://en.wikipedia.org/wiki/Turing_completeness :

> In colloquial usage, the terms "Turing-complete" and "Turing-equivalent" are used to mean that any real-world general-purpose computer or computer language can approximately simulate the computational aspects of any other real-world general-purpose computer or computer language. In real life this leads to the practical concepts of computing virtualization and emulation. [citation needed]

> Real computers constructed so far can be functionally analyzed like a single-tape Turing machine (the "tape" corresponding to their memory); thus the associated mathematics can apply by abstracting their operation far enough. However, real computers have limited physical resources, so they are only linear bounded automaton complete. In contrast, a universal computer is defined as a device with a Turing-complete instruction set, infinite memory, and infinite available time.

Church–Turing thesis: https://en.wikipedia.org/wiki/Church%E2%80%93Turing_thesis ... Lamda calculus (Church): https://en.wikipedia.org/wiki/Lambda_calculus

HDL: Hardware Description Language > Examples: https://en.wikipedia.org/wiki/Hardware_description_language#...

HVL: Hardware Verification Language: https://en.wikipedia.org/wiki/Hardware_verification_language

awesome-electronics > Free EDA Packages: https://github.com/kitspace/awesome-electronics#free-eda-pac...

https://github.com/TM90/awesome-hwd-tools

EDA: Electronic Design Automation: https://en.wikipedia.org/wiki/Electronic_design_automation

westurner
More notes for #Q12:

Quantum complexity theory https://en.wikipedia.org/wiki/Quantum_complexity_theory#Back... :

> A complexity class is a collection of computational problems that can be solved by a computational model under certain resource constraints. For instance, the complexity class P is defined as the set of problems solvable by a Turing machine in polynomial time. Similarly, quantum complexity classes may be defined using quantum models of computation, such as the quantum circuit model or the equivalent quantum Turing machine. One of the main aims of quantum complexity theory is to find out how these classes relate to classical complexity classes such as P, NP, BPP, and PSPACE.

> One of the reasons quantum complexity theory is studied are the implications of quantum computing for the modern Church-Turing thesis. In short the modern Church-Turing thesis states that any computational model can be simulated in polynomial time with a probabilistic Turing machine. [1][2] However, questions around the Church-Turing thesis arise in the context of quantum computing. It is unclear whether the Church-Turing thesis holds for the quantum computation model. There is much evidence that the thesis does not hold. It may not be possible for a probabilistic Turing machine to simulate quantum computation models in polynomial time. [1]

> Both quantum computational complexity of functions and classical computational complexity of functions are often expressed with asymptotic notation. Some common forms of asymptotic notion of functions are \Omega(T(n)) and \Theta(T(n)).

> \Theta(T(n)) expresses that something is bounded above by cT(n) where c is a constant such that c>0 and T(n) is a function of n, \Omega(T(n)) expresses that something is bounded below by cT(n) where c is a constant such that c>0 and T(n) is a function of n, and \Theta(T(n)) expresses both O(T(n)) and \Omega(T(n)). [3] These notations also their own names. O(T(n)) is called Big O notation, \Omega(T(n)) is called Big Omega notation, and \Theta(T(n)) is called Big Theta notation.

Quantum complexity theory > Simulation of quantum circuits https://en.wikipedia.org/wiki/Quantum_complexity_theory#Simu... :

> There is no known way to efficiently simulate a quantum computational model with a classical computer. This means that a classical computer cannot simulate a quantum computational model in polynomial time [P]. However, a quantum circuit of S(n) qubits with T(n) quantum gates can be simulated by a classical circuit with O(2^{S(n)}T(n)^{3}) classical gates. [3] This number of classical gates is obtained by determining how many bit operations are necessary to simulate the quantum circuit. In order to do this, first the amplitudes associated with the S(n) qubits must be accounted for. Each of the states of the S(n) qubits can be described by a two-dimensional complex vector, or a state vector. These state vectors can also be described a linear combination of its component vectors with coefficients called amplitudes. These amplitudes are complex numbers which are normalized to one, meaning the sum of the squares of the absolute values of the amplitudes must be one. [3] The entries of the state vector are these amplitudes.

Quantum Turing machine: https://en.wikipedia.org/wiki/Quantum_Turing_machine

Quantum circuit: https://en.wikipedia.org/wiki/Quantum_circuit

Church-Turing-Deutsch principle: https://en.wikipedia.org/wiki/Church%E2%80%93Turing%E2%80%93...

Computational complexity > Quantum computing, Distributed computing: https://en.wikipedia.org/wiki/Computational_complexity#Quant...

deelowe
For those wondering: https://store.steampowered.com/app/1444480/Turing_Complete/
cprecioso
Any guesses on when we will get Factorio running on Factorio?
mensetmanusman
A lot you can do with NOR gates!

A fun thought experiment is whether you could ever imagine that block build growing complex enough and becoming intelligent.

If AI can become intelligent (generally, i.e. GAI), then it could be implemented with redstone. If human level intelligence requires something more, then it can not, and the search for redstone 2.0 continues…

ok_dad
I like that part about the bees at the beginning. Also, the CPU definitely did blow my mind. Amazing work by the builder!
Cyberdog
Ha, that's so needlessly inefficient! Now let me get back to work with my Electron code editor while I communicate with my team in four different Electron chat apps and code a web page which requires 2.5MB of assets to load (not counting the massive autoplaying background video).
fennecfoxy
I do hate Electron but a little overhead these days is what gets us all the stuff we have.

It's not so much overhead that's killing technology for me atm, it's dumb decisions/terrible technoshit.

Like Google's Nest products that randomly disconnect from wifi and refuse to reconnect. How do you fuck up connecting to wifi in 2022?

imwillofficial
This is how skynet really happened
dexwiz
Do people use circuit simulators and compile to blocks, or copy/paste units from previous projects? Seems like such a massive undertaking where a single misplaced item ruins everything.
ineedasername
Pft, only monochrome? /s Pretty awesome, kudos
sadjad
Will it run Doom?
dylan604
I don't know if I'm more impressed that a coffee maker can run Doom, that another game can run Doom from inside it like this, or that Doom is just this portable
taneq
I think my favourite was the recent “Doom can run Doom”.
quickthrower2
Also... will it run Docker?
xerox13ster
They said in the video they are going to run Doom on it at some point.
twostorytower
Incredible. Next do Minecraft in Minecraft in Minecraft.
pleb_nz
Ha... It's not even a color display /s
skc
Nick Bostrom is silently smiling somewhere.
mesozoic
Now make Minecraft in that Minecraft.
abrax3141
You’re all going to hate on me for this, so first let me say that this is amazing. I’m awed by it. Truly. And I am very familiar with minecraft and even have been known to do a bit of redstone hacking myself I love seeing the cool things some folks do with it. (I’ve some redstone sorting algorithms and I’m esp fond of redstone Turing machines!)

But this! This is like sending a person to mars!

And I have the same question for the geniuses who did this that I have for the ones working on that:

Aren’t there cures for cancer and perovskite solar cells to discover? Why are you using your excellent minds, and apparently enormous amount of free time, building cool but very slow virtual computers out of virtual sand, when you could be proving the smoothness of the Navier–Stokes equations?

It’s one thing, to my mind, when athletes climb huge mountains because they’re there. It’s quite another, again, to me, when obvious genius goes to waste.

There. I feel better for having said it. I only wish I could say it to Elon Musk re Mars, and get my son to spend a fifth as much time on his math homework as he does playing minecraft. This incredibly cool hack is just going to exacerbate the situation! :-)

vintermann
It's a reasonable thing to ask if you think intelligence is some fungible quantity that can be applied wherever you wish. But that's in "so wrong it's not even wrong" territory.

Sammyuri's interest and focus is microprocessor design. I'm sure he has a future in it (as far as I understand he's fairly young). Curing cancer isn't something he's likely to be good at, but who knows, maybe the chips he helps design will help with it one day. Doing this thing which no one has done before, has surely given him unique perspectives on a lot of things (as well as a lot of knowledge about CPU architecture most of us don't have). Maybe he will combine it with other knowledgeable people's unique perspectives and make wondrous discoveries.

Or he might do none of that, and just inspire a lot of other people to go down that path.

Don't think of intelligence as something that can exist in a vacuum. Let Sammyuri be Sammyuri.

abrax3141
Time is definitely fungible, and youth is fleeting, and us old guys wish we’d spent them both differently. However, I’ve elsewhere in this thread become convinced that you and the others are right. Folks shouldn’t be criticized for following their passion. (Well, I guess I can think of rare cases where their passions may be so anomalous as to be worth criticism, but this isn’t one of those.)
glitchc
Think of it as art rather than science. Do we question why someone created a piece of art, or whether they could have spent their time better by creating a different piece of art?
abrax3141
Hmmm. Okay. Fair point. Although it actually is science. And these folks could be doing real science.
imtringued
No they can't. Have you ever tried to do "science" aka a PhD?
abrax3141
Uh, like, yeah, I have one. And over a hundred peer-reviewed publications. You?
abrax3141
Ps. I’ve elsewhere agreed with you. It is art and I was wrong to criticize it. (It’s too late to edit my previous reply .)
imtringued
>Aren’t there cures for cancer and perovskite solar cells to discover? Why are you using your excellent minds, and apparently enormous amount of free time, building cool but very slow virtual computers out of virtual sand, when you could be proving the smoothness of the Navier–Stokes equations?

Because in the real world there are people in power who do not want those things to happen, unless it disproportionately benefits them at the expense of the people actually doing the work.

In Minecraft there are no busy bodies, gate keepers, monopolists, financial institutions or regulations preventing people from doing peaceful intellectual activities. The certification necessary to become a computer scientist takes 16 years, in Minecraft you don't need any certification you can just do it on day one.

The other reason is that building a computer in redstone isn't that impressive, it is like building your own computer in a CS course which has been done over and over again by many students.

rockbruno
The world has 7 billion people. While I agree with the overall feeling that every single human should be dedicating themselves to the evolution of the species, it only takes about 10 seconds of reading the news to realise that humanity is complex and everyone is different. Some people just don't think like that, and there's nothing wrong with it.
bbarnett
I am trying to follow ycomb guidelines, and assume the best intent here, but there is just so much wrong about how you view scientific research, and play, and hobby, and learning, and duty, that after rewriting my reply 3 times, I cannot imagine you're not trolling.

If you're not trolling, you need to seriously step back, and think about how play=learning, how any scientific research=benefits us all.

Going to Mars is not good?! A waste?! There is so much wrong with this thought alone, so much broken logic, that it is horrifying to me.

A project such as going to Mars, will yield immense scientific research and output, benefiting humanity as a whole.

Just the r&d into material research alone, engineering, will benefit endless other disciplines.

It as if you see each thing as siloed, as if doing thing x, has zero benefit to y.

I wonder, do you employ this same logic for yourself? That is, you have no hobbies, nothing but work, and spend every moment working?

If you were a farmer, feeding thousands, would you be upset if you make bushes shapely at home, if you planted decorative plants?

I literally cannot view your comment in a positive light.

abrax3141
> A project such as going to Mars, will yield immense scientific research and output, benefiting humanity as a whole.

I’m not trolling. I really do disagree with this in good faith. You can get the same materials research etc benefits by doing something that directly benefits humankind. Also, I don’t think that Musk thinks that it’s the spin-off stuff that matters. He honestly and in good faith wants to expand humans to another planet. He’s said this innumerable times. I just disagree that anything anyone feels like doing is as valuable as anything else. There are value decisions involved. I’m not saying that anyone should be enjoined or forced or any such thing. But maybe enticed?

bbarnett
Expanding human knowledge and reach is good, not bad, and does benefit mankind.

The type of thought process you are employing is not good for humanity. If we followed your thought process, we would still be in caves.

abrax3141
You know what. You’re right and I’m wrong. I’m not just saying that. I really thought a bit more about it, and for the most part, I think you and the others who took me to task here are right. It is art, and people shouldn’t be criticized for doing their art. And the quest for knowledge is a great thing, so robots on Mars and the Webb etc. all terrific. (I still think sending people to Mars is a waste, but hey, it’s Musk’s art and his money to waste. So whatever.)
Arbortheus
This is incredible!
curious_tenet
meta game of life lol
nomel
So, you're saying Tetris can be implemented [1]?

1. https://codegolf.stackexchange.com/a/142673

infologics
None
reimertz
Derp: here is the video link: https://www.youtube.com/watch?v=-BP7DhHTU-I

@dang can you update this post to link to the video?

dang
Fixed now.
kleer001
Did you mean to link to the video?
rationalfaith
None
OnlyRepliesToBS
None
Comevius
Pretty cool.

The program itself was written in an existing intermediate language called URCL, which was then compiled to CHUNGUS2 assembly. CHUNGUS2 is the processor made with Minecraft's redstone mechanics. The processor was emulated for development, but the demo is running on MCHPRS, a Minecraft server that uses Wasmtime's Cranelift to JIT the redstone operations, which are represented as a weighted directed graph. Before MCHPRS, optimizing redstone performance using compiler techniques was not thought to be possible. With MCHPRS the demo takes 9 hours to run, it would take decades using Minecraft.

https://github.com/sammyuri/minecraft

https://github.com/MCHPR/MCHPRS

As for CHUNGUS2 itself, it's a proper RISC processor, it has a 4-stage instruction pipeline, 64 byte 8-way associative data cache, even branch prediction.

https://www.youtube.com/watch?v=FDiapbD0Xfg

acchow
> Before MCHPRS optimizing redstone performance using compiler techniques was not thought to be possible.

They created a virtual machine with a custom instruction set. Why wouldn't an optimized JIT work?

Comevius
Redstone has many idiosyncratic elements that can't be trivially translated to logic.

https://minecraft.fandom.com/wiki/Redstone_mechanics

circuit10
Because they're simulating redstone circuits and logic gates, not the instruction set itself (the point is that they built a CPU with redstone circuits)
lifthrasiir
To my knowledge, MCHPRS is not a full Minecraft server implementation; it only contains just enough subset of the game to run redstone circuits. The upside is that this subset can be run a lot faster than the full game server.
mort96
The rest of the game remains unimplemented not because it couldn't be done, but just because it's a lot of work. World generation, mob logic, all the different crafting recipes, world generation, etc wouldn't impact the performance of the redstone system, but it's not necessary for the use-case of running CPUs fast.
zamalek
> not necessary for the use-case of running CPUs fast.

Unless your CPU is esoteric enough for mob mechanics or otherwise to be useful :).

joshspankit
You might be an excellent person to ask:

How many layers of abstraction is that in total, including (probable virtualization > VM OS > JVM)?

samstave
Please ELI5 how people are able to make a CPU/anything-logic-gate etc inminecraft
nsilvestri
Minecraft has a feature called redstone. It's "dust" that you can pour on blocks to create wires. These wires can be powered from in-game items. Combining two or more of these powered wires with some spatial positioning can give you an OR gate. Some of these power sources can be turned off if they receive power themselves. Those are NOT gates. With an OR and a NOT gate, the world's your oyster.
samstave
Tank you for explaining how stupid I am <3
joshspankit
Inexperience is not stupidity.

I will die on that hill.

vanderZwan
I wouldn't consider being uninformed and taking the initiative to fix that stupid.
causality0
With MCHPRS the demo takes 9 hours to run, it would take decades using Minecraft.

Ok, to clarify, is MCHPRS a functioning Minecraft Server that can support a player logging in and mining? This story is seeming a lot more like "A 1Hz CPU made on something that has mechanical similarities to Minecraft".

__alexs
Yes it is a real Minecraft server implementation you can connect a standard client to but it is not a vanilla survival implementation. It's a redstone sandbox.
peeters
Just for context if you've ever logged into a hosted multiplayer server it's almost guaranteed to not be the vanilla Minecraft server. The stock server falls down pretty quickly in multiplayer. Patched servers with various optimizations (like Paper, Spigot etc) are the standard and most people still consider that to be playing vanilla Minecraft, even if some mechanics are slightly tweaked (e.g. entity collapsing).
Comevius
MCHPRS only implements a subset of Minecraft's features, primarily it's redstone mechanics. The official server and clients are too slow for CHUNGUS2.

https://minecraft.fandom.com/wiki/Redstone_mechanics

NoToP
It's more like a more efficient implementation of Minecraft. It's not wrong or cheating, it's no worse than that one mod that did nothing but optimize the game engine better than the actual Devs.
Tuna-Fish
Correct. MCHPRS is a Minecraft server that otherwise functions normally, but massively speeds up processing of signals in redstone by using a JIT.
spicybright
Seems like splitting hairs. The redstone mechanics needed to run the computer are implemented exactly the same as the real game. The computer can be loaded into real minecraft and runs as expected.

MCHPRS just takes out what the computer doesn't use and optimizes the simulation of it.

I would call that a computer running in minecraft, but you could argue either way.

postalrat
Almost like running a game in a NES emulator at 10,000x speed and claiming it's implemented exactly like the NES.
kbenson
Not quite. Almost all NES emulators just emulate the inputs and outputs of the chips involved, they don't actually model the chip layout exactly. That's a limitation of emulating hardware in software for the most part. Without perfectly implementing the chips involved with all their associated timing and clocks there's no guarantee that some behavior might be slightly different.

When emulating software in software, it's much easier to confirm that the exact same operations are done, and you can in some cases fully verify the solution.

moss2
Yeah I would say that your example is implemented exactly like the NES.
kibwen
If the NES game in question ran at 18 hours per frame on real hardware, then I think people would give it a pass. This project is beyond awesome, we can spare it the usual HN nitpicks.
postalrat
The project is awesome. These comments (include mine) need correction.
samstave
this may be a stupid question:

is it CPU or GPU dependent,

Can it be "sharded" and run on multiple machines in cloud?

spicybright
There are no stupid questions ;)

To my understanding, this is almost a pure CPU task, like how normal minecraft currently works. Which would actually make sharding a little easier if they implemented it (sounds like they haven't).

The GPU is an interesting point though. There's probably a ton of simple matrix multiplying in the machine's design that could benefit from a GPU.

qubex
There are no stupid questions? I’ve seen a grown man ask a pregnant teenager whether she was the mother.
samstave
Imagine a “meta” compute environment that only runs embedded with Minecraft built circuits like this - someone needs to craft a crypto-mining circuit within Minecraft :-)
Sep 12, 2022 · 4 points, 0 comments · submitted by Techbrunch
Sep 08, 2022 · 2 points, 0 comments · submitted by cbzbc
The article embeds an older video from the person who made it, correct link is https://www.youtube.com/watch?v=-BP7DhHTU-I
Sep 07, 2022 · 2 points, 0 comments · submitted by dtx1
Sep 07, 2022 · 5 points, 0 comments · submitted by bpierre
HN Theater is an independent project and is not operated by Y Combinator or any of the video hosting platforms linked to on this site.
~ [email protected]
;laksdfhjdhksalkfj more things
yahnd.com ~ Privacy Policy ~
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.