16-Year-Old Creates Scientific/Graphing Calculator In Minecraft 160
New submitter petval tips another amazing Minecraft project: a functioning scientific/graphing calculator. "On a virtual scale, the functional device is enormous — enough so that anyone in the real world would become a red blot of meat and bone staining the road if they fell from the very top. Honestly, his virtual machine looks more like a giant cargo ship ripped from a sci-fi movie than a working calculator. Yet type your problem out on the keypad, and the answer appears on a large white display mounted on the side of the monstrous brick structure." The creator says it can do "6-digit addition and subtraction, 3-digit multiplication, division and trigonometric/scientific functions ... Graphing y=mx+c functions, quadratic functions, and equation solving of the form mx+c=0." We've previously discussed the creation of a 16-bit ALU in Minecraft.
Amazing stuff (Score:3, Informative)
Re: (Score:2)
Re: (Score:2)
Indeed. I don't know if I'll ever be able to play Minecraft again now :(
Nicely done sir (Score:5, Insightful)
Re:Nicely done sir (Score:5, Informative)
Just to clear something up (in case someone else has never played it)... Minecraft is not an online game. It's a Java based game with a massive procedural generated world full of blocks that can be moved around. It has multiplayer aspects and a dedicated server, but they are not required for play.
Re: (Score:2)
I have to assume this kid probably had some prior programming interest before taking on this project.
If not, that's even more hardcore (and this whole thing really is quite insane.. ).
Re: (Score:2)
For those of us who don't know... (Score:4, Interesting)
What's the difficulty of doing something like that? What elements do you have available? Do you have logic-gates, math functions, full-blown scripting, or what?
Re:For those of us who don't know... (Score:5, Informative)
Re: (Score:1)
In the basic game, which it looks like he is using, you get NOT gates. From which, as we know, all of computing is derivable. By arraning the "wires" and "torches" you build NOTs, then ANDs, then NOR etc etc etc
There is a form of cheating everyone uses in these endeavors which is a copy/paste mechanism for duplicating substructures, as well as unlimited resources (whereas in the survival game you have to collect ores while fending off zombies and skeletons and farming for your dinner).
Re: (Score:2)
By arraning the "wires" and "torches" you build NOTs...
Which leads to my question, this appears to show that he's using pure binary logic; meaning this calculator is not an analog machine like the ALU (if you saw that vid it looked to me like the operator had to run to each part of the logic and flip a lever or light a torch or something), in this it looks like he's using the "wires" to carry actual signals around the logic. This look like a minecraft model of actual signal-bit operations. Am I getting this right?
Re:For those of us who don't know... (Score:5, Informative)
It's binary... the redstone has a delay when you go through some of the gates and repeaters which makes it look a bit analog, but the logic is all binary. The torches can be used as repeaters (torches power redstone up to 16 blocks) and/or carry a bit signal up or down in elevation in the world. You cannot put redstone wire on the side of multiple block so you have to use stairs (space intense) or torches (compact) to change elevation.
Re: (Score:2)
Re:For those of us who don't know... (Score:5, Informative)
It takes a long time because the game is essentially a 3D cellular automation. When you flip a switch, for example, the block it sits on is "powered" - then it takes one update cycle for that "power" to travel up to 16 blocks, then at least one more update cycle for the next 16 blocks, etc. Any object that's not wire (like the components in a logic gate) adds at least one more cycle worth of delay. It adds up quickly.
Redstone was really intended for simple mechanisms like switch activated doors and other very simple, local interactivity. But people have really taken it to the limits of the game. Basically you're building logic gates and digital circuits out of discreet relays!
=Smidge=
Re: (Score:2)
Re:For those of us who don't know... (Score:5, Informative)
Basically, he's created an ALU found on a CPU, but operates like something Charles Babbage would have made. Even the gates for memory are mechanical, the input and output are all mechanical too. Truly amazing!
Re: (Score:3)
You're thinking of NAND gates (or NOR gates, which have the same property).
Re: (Score:2)
Each Redstone block can have up to 6 input/output combinations (ie, 5 inputs, 1 output, or 2 inputs 4 outputs etc) making each one an up-to-5-input NOR gate. As we all know, a 1-input 1-output NOR gate is simply a NOT gate.
Re: (Score:2)
Re: (Score:2)
Re: (Score:3)
.What's the difficulty of doing something like that? What elements do you have available? Do you have logic-gates, math functions, full-blown scripting, or what?
It really depends on the mods you have installed. There is a mod out there that has single blocks for all the basic logic gates. But it's much harder then scripting. If you want to script something first you have to build a chip that understands the script, THEN write the script.
Re: (Score:2)
It has a very primitive system with a set of odd rules and behaviours that can be exploited. Ultimately the only thing you are really given easily is a NOT gate. Doing something like this has two primary challanges:
- the logic of the thing itself
- translating it into "minecraft" logic and working within the restrictions imposed
The system is built around blocks being powered/unpowered .. with different game blocks powering blocks around it in different patterns, and other blocks responding to that power in d
Re: (Score:2)
No, you have a NOR gate. Redstone torches on the side of a block can have multiple OR inputs and negates the input.
Re: (Score:3)
Minecraft is basically a 3D cellular automata simulator. You set cells to different values ('materials') and then in the next update cycle their properties will change depending on their value and the values of their neighbours. Because cellular automata of this nature are Turing complete it is possible to implement any kind of computer in Minecraft. Because of the visual representation of the blocks, it is possible to create visual representations.
This is no more of an achievement than creating a graph
Re: (Score:2)
...what Minecraft is, can someone explain why that calc is an accomplishment? What's the difficulty of doing something like that? What elements do you have available? Do you have logic-gates, math functions, full-blown scripting, or what?
basically, it's a primitive PC, using blocks that move to perform calculations.
Think of a calculator, and when you click 2 + 4 that 2 button is connected to a box that has 2 blocks in it that fall and when you click the 4 button another 4 blocks fall from another box. The + then puts those 6 blocks together in a box, and then.... erhm, magic happens, and something figures out the total is 6 and displays a 6 on the screen.
You could do this in real life with enough blocks and something the size of a s
Transcendental functions (Score:4, Informative)
Anyone know how he did functions like logarithms, trig, etc.? I didn't watch the whole video.
Re:Transcendental functions (Score:4, Insightful)
Re:Transcendental functions (Score:5, Informative)
During trig/calc class... (Score:5, Funny)
...I created games on my TI-82 graphing calculator, so I guess turnabout is fair play...
Re:During trig/calc class... (Score:5, Funny)
Did it without RedPower2 addon (Score:5, Interesting)
There are lots of addons that help with redstone wiring. The premiere one is probably RedPower2. In addition to giving unit-sized gates, latches, and flip-flops, it also gives buses, which can carry 8 bits of data along a single line.
I just can't believe that this is all done without addons. Even building a BDD (Binary to Decimal Decoder) is difficult in Minecraft, and translating that to display the correct digits is complex. I don't mean "complex so that a child couldn't understand it", but complex as in taking a lot of clock cycles. There are only 20 ticks per second in Minecraft, so all these operations quickly add up to a lot of time.
In addition to binary/decimal conversions, and the logic for doing complex operations (dividing is very hard), this calculator even has typesetting. When you have a power, it places the the displayed value as a superscript! Radicals are drawn over values for the SQRT operations!
In essence, I'm a bit skeptical about this. I believed it when I first saw it a few days ago, but the more I think about it, I think it's all staged. I'm curious to see what others think.
As far as my own redstone experience: I've done far more than the average minecraft player, including building adders and counters, but haven't ever attempted any mega projects.
Re: (Score:2)
I'm skeptical as well, but I'd certainly be happy to be proved wrong, because that's quite an accomplishment if it's legit.
Re: (Score:3, Informative)
Re: (Score:3)
er, shouldn't that be: the "buttons" are "wooden pressure plates" he has to "walk" over in the "activate"? Nothing in this demo/conversation should lack quotes!
Re:Did it without RedPower2 addon (Score:4, Informative)
Re: (Score:1)
the wiki clearly states how to make assembly code gates. how to extend using repeaters etc... and 16 year olds usually have a large amount of free time.
http://www.minecraftwiki.net/wiki/Redstone_Circuits [minecraftwiki.net]
using an addon might make it easier but i have seen people waste more time.
Re: (Score:2)
It's not fake, I have seen people build simple CPU's in Minecraft before. This is just an extension of those efforts. The only barrier to creating it is the simulation limit of the redstone in Minecraft itself. Which is why the machine is 3D and not 2D.
And there are many more of those
Re:Did it without RedPower2 addon (Score:4, Interesting)
I've built some ALU's and prototypes of CPU's, here is some grandstanding of my TMS1000 clone: http://www.youtube.com/watch?v=t82p-Ql8Djo [youtube.com] The thing is though, while I am an older guy, I went from zero knowledge to this in under 6 months in minecraft. Binary logic is just not that hard. Its just really really repetitive.
After the hundreds of test projects I built, I have a good judge on the amount of logic you need and I have to say, the kid knows his shit. He is basically using 3 shift registers and a shift ALU. That is, he is only calculating one digit at a time with bits hold carry/overflow flags. Notice how he said it was a 6 bit BCD adder? That is JUST enough bits to calculate 9x9 with one bit over for carry. This is why those cheap 99 cent solar calculators are so cheap, it has about the same kind of logic in them. If you build your logic around needing to shift, everything is smaller and easier. It might be slower, but it properly takes longer to cycle the display than to multiply a number. Also, its so small is because he doesn't have a big ass ram bank. 9/10 cpu projects usually are big because of even a bank of 20 registers.
On the mine craft side of things, he uses pressure plates as they look a bit nicer and generally its an easier interface to wire. There is this is/was a big design stuff in the forms about dot matrix displays so I figure he put in his own display stuff there. The only thing I am not impressed with is the "graphing" part of his calculator. Lets face it, the entire core of the thing is a 6 BCD adder with shift logic. This thing is WAY to small and far to limited memory for it to have nothing but static formulas. Also, why didn't he put in a simple clock to just "draw" the grid instead of pressing a button?
But to be honest this is WAY better than that stupid HACK alu. I AM impressed with the original guy who made it, just not all the 100's of clones people have made of it. Very few people have made a 100% working cpu. Anyone can build an ALU, no one builds the state/decoding logic:P
Look at his older caculator, you can see how small the basic logic is there and how much you need for the display:P http://www.youtube.com/watch?v=aSC_YXuONZg [youtube.com]
ob xkcd (Score:1)
Lesson two: implement this: http://xkcd.com/505/
That is infskcredible (Score:2)
Really. That is one smart kid with a lot of time, talent, willpower and attention for detail. Kudos to the guy/gal that accomplished it.
Level editor? (Score:2, Interesting)
Is there a level editor for Minecraft or did this guy just waste a few years of his life? Also, this is not really different from other CA circuits of which there are far more awesome [quinapalus.com].
Re:Level editor? (Score:5, Informative)
There is an editor. Nobody does these projects in game, it's literally impossible (not enough game ticks per second * time minecraft has been out to accomplish the builds).
Re: (Score:2)
A common tool is to use WorldEdit while in-game.
It allows loading 'schematic' files into game directly, copy-pasting and all sorts of things for building complex stuff.
1222221? (Score:4, Funny)
Calculating something that said '5318008' would have been so much cooled. sigh.
Seriously, this is simply freakin' awesome! Nice job, MaxSGB.
Cute, now go learn FPGA design (Score:2, Insightful)
It's impressive in the sense that this guy created a fairly simple "computer", using a limited game environment (Minecraft), running on a virtual machine (Java), running on a physical machine (PC/Mac). In other words, he's spending a million CPU cycles to simulate a single gate in the most roundabout way possible.
I'm impressed that someone with that much patience and functional intellect is wasting so much time in Minecraft, when they could be learning actual chip design. I'm impressed that bragging right
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Why would you want to reinvent the wheel instead of putting FreedomBox on a Raspberry PI?
(Some things we do ourselves because we want to prove to ourselves that we can, but if you want to change the world it's better to join up)
Re: (Score:2)
What has IP as a bearer to do with "following a feed on Twitter"? How would exchanging the physical layer for another change anything?
Re: (Score:2)
I don't see why exchanging one form of "wlan" phy layer for another would make the slightest difference, no. There's no one there to intercept my radio waves whichever carrier form I use.
Re: (Score:2)
Yeah I've worked in the telecom (mobile) industry for 15 years - that still doesn't answer my question on why you would want to reinvent the phy layers we have ;)
Re: (Score:2)
Re: (Score:2)
Because its more fun to futz around with objects in a video game than to plod through the workflow necessary to get from an idea to a completed circuit board populated with the aforementioned logic devices, I/O ports, etc?
Re:Cute, now go learn FPGA design (Score:5, Insightful)
Re: (Score:2)
Re: (Score:3)
So then, you get proper circuit design/sim software, something which Minecraft is not.
I disagree. Building something with a tool that is not designed for it is often a much better learning experience. Building an ALU in a circuit design package is relatively easy - most of the tedious stuff is done for you and there are prepackaged components for a lot of what you want. Building it one switch at a time is a far less productive use of your time, but gives you a much better understanding of how everything really works (although the fact that time and values are discrete in minecraft hides
Re: (Score:2)
My whole point in the previous post was that rather than building useless stuff from scratch, he should be taking advantage of existing tech to further his skills and knowledge.
I think you may be missing something fundamental about logic design if you think he's not.
Re: (Score:1)
In other words, he's spending a million CPU cycles to simulate a single gate in the most roundabout way possible.
No, "the most roundabout way possible" would involve running that Java virtual machine on a Javascript-emulated 6502 processor [visual6502.org] (and there's really no limit to how many other layers of emulation you could stack on, especially considering that our whole physical universe is most likely a simulation itself).
Re: (Score:3)
Re: (Score:3)
Also someone who only approves of hobbies that satisfy his sensibilities. How dare this 16-year-old not go out and buy a breadboard with a bunch of simple TI chips and FPGAs to built a Cray. Madness!
Re: (Score:3)
If you mean designing an FPGA, then maybe that can wait until after college EE/device physics courses, and getting a good start on boolean logic and computer architecture is a enough for a high schooler.
If you mean designing for an FPGA then frankly this is much more impressive -- while designing for the fixed-size logic tables and routing patterns of an FPGA presents its own challenges it's practically utopia for someone who has worked within the limitations of Minecraft. I'm sure he'd have no problems ad
Re: (Score:2)
I agree - FPGA designing would be easy after Minecraft!
He can even use my quick and dirty course in FPGAs [hamsterworks.co.nz] if he wants...
Re: (Score:2)
Not everyone has the same values as you. Perhaps he just does not care about doing it in real life. Or maybe his interest in minecraft spurred his interest in creating the calculator. Maybe his next step is indeed doing FPGA design? Just enjoy the creation for what it is. :)
Re: (Score:2)
Re: (Score:2)
He's 16 years old. Perhaps this is the first step in him learning chip design? Or maybe you think 4 year olds should be ridiculed and scorned because they're wasting their time learning the alphabet instead of just reading Lord of the Rings.
Seriously, if you're that bitter about wasting your life, maybe you should go and do something with it, instead of wasting time on slashdot jealously projecting onto people who are actually trying to fulfill their potential.
Autism (Score:5, Funny)
As per a YouTube Comment:
Autismï is a hell of a drug.
Next, VHDL to Minecraft. (Score:2)
I'm kind of disappointed. When I started watching the video, I thought someone had built this with moving parts in Minecraft But it's just a big collection of wired logic. It's not like you can see the parts move.
So hook up a VHDL compiler to the Redstone 2 Minecraft compiler. There are CPU designs available in VHDL. [coledd.com] Generate a real CPU in Minecraft.
The cool CPU I'm waiting for is Babbage's Analytical Engine. [plan28.org] The guy who says he's building a replica hasn't made much progress yet. Babbage's design
Somewhat impressive (Score:5, Interesting)
A friend of mine (who's 15) and myself (I'm 28 with a CS degree) have a nearly working programmable 8-bit computer in Minecraft. ALU is done, all 256 bytes of memory are done, the instruction tape (made out of sand and glass, much like a punchcard) is done, etc. Another 20 someodd hours and we'll have all of the components connected together and the whole CPU completely done. It actually isn't as hard or take as much time as it may sound.
The most impressive thing about this video is that he did all of the math in BCD rather than just running it on a CPU. I already have multiplication (Booth's algorithm) and other operations programmed on our instruction set (we wrote an assembler and emulator outside of Minecraft to work out the kinks). I'd rather do the complex operations in software rather than laying gates and logic in the hardware.
I don't see how he has enough room for displays of that size. You'd need NxM worth of latches to sustain the pistons that drive the pixels as well as the appropriate muxers to select which pixels are turned on. Our 256 byte memory array is bigger than his entire calculator so I'm a bit skeptical that he isn't using some addons.
Re: (Score:2)
I suspect he is doing some trickery with the display. That is, its not a true dot-matix display. Also this thing is using a sift BCD adder, I doubt he has more than 16 bytes in the entire thing. See the propagation delay in the final result? I don't even think he latches the registers. Also on 1:24 you see his decoder, He only has a single 5 row encoder (32 charters max). I suspect he has a shift register at the back of the display, the symble comes in, gets decoded and shifts onto the display. Rem
Re: (Score:2)
So the CPU is actually a Harvard arcitecture so we have 256 bytes of instruction memory and 256 bytes of data memory.
The tape is a piston-driven loop of sand and glass that is cycled once and all of the instructions in the tape are read into instruction memory. The tape works because non-glass blocks propagate redstone but glass stops it (is an insulator). So we encode zeros with glass and ones with sand. We actually use colored wool instead of sand every 8 places so that it's easy to keep track of where
Easier than some... (Score:5, Funny)
Is MaxSGB an American? (Score:2)
A lot of people are telling me that Americans are too stupid, and lazy, for high tech.
Re: (Score:1)
Now we know what the /. editors did during high school english class.
Re:16-year-old kids have too much free time (Score:5, Insightful)
I don't think a kid who has the ability to create this in Minecraft will be having too much trouble with their SATs...
Re: (Score:1)
Well, not the math part anyhow. That english stuff..man, he's fsck'ed!
Re:16-year-old kids have too much free time (Score:4, Insightful)
Agreed... however, it's a sad fact of life that only 16 year olds have enough free time to do stuff like this.
Re: (Score:2, Insightful)
But they usually get burned out in College. They are so used to having everything easy that when they start taking hard classes they don't know how to deal with failure.
Re: (Score:2)
Hard classes? Bah. It wasn't the hard classes that got me. It was the stupid and/or pointless ones. I got As in calculus and physics, and an F in music appreciation. (I learned my lesson and took a class in digital media instead - PhotoShop, Flash, and iMovie. At least then I was learning stuff that I could actually find a use for. I still tinker in GIMP quite frequently.)
The hardest classes that I had to take were the advanced circuits classes, and those were B grades in classes that most students took mor
Re: (Score:2)
Pure musical notion is just another expression of mathematics while listening to music can be a wonderful way of understanding how waves interact. Just because it is considered an art doesn't mean it is somehow below the purity of math.
Re: (Score:2)
It wasn't pure musical notation. (I was thinking along the same lines when I enrolled.) It was rote memorization of the names of dead people and the classical pieces which they had composed. I was bored, and got an F. And as I said, the art class was much more rewarding, so I'm glad I didn't just skid through with a passing grade in the class that I had hated.
Re:16-year-old kids have too much free time (Score:4, Funny)
But in minecraft HE IS GOD!
Re:16-year-old kids have too much free time (Score:5, Funny)
Next step: Minecraft fleshlight.
Re:16-year-old kids have too much free time (Score:5, Insightful)
skipped the whole stupid "show your work" crap which just slowed me down
You really do need to show your work. It's not an issue for 25+13, but for any real problem it is essential. Try doing vector calculus without showing any work. It doesn't make you smart if you can, it makes you stupid to try. The work is a proof that validates your answer. Not showing the work in math is like not supporting any of your conclusions with arguments in philosophy. That's why they try to train kids to do it early.
Honestly, if your tutor didn't realize that, then she was a pretty terrible teacher.
Re:16-year-old kids have too much free time (Score:5, Insightful)
As a teachers assistant in college I tried to grade papers the way I would want to have my papers graded. If students had an answer that was wrong or off by a bit I could justify giving some points if prior steps showed proper application of the techniques being taught. If very few or no steps are shown then I may have limited or no basis to award partial credit. Additionally, if a student showed their work (clearly) then I could often help identify the step where they went astray and mark it as such. Not all graders or instructors go to these lengths, but without showing work you eliminate the possibility.
As an engineer I still value when people show their work. The level of detail that should be shown will naturally vary but the burden of sifting through more detail will almost always outweigh the burden of not having enough. If a conclusion turns out to be false in a classroom you don't get credit. If a conclusion turns out to be false in the workplace you need to fix it. The amount of time it takes to troubleshoot the source of an error will generally be directly proportional to the amount of detail the engineer that came to that conclusion preserved in documentation.
Re: (Score:3)
This is pretty much required in the Scottish Education System for all teachers and for final exams. Atleast, when I was doing Standard Grade (16) and Highers (17-18) all of a decade ago.
The standard line was "show your work, you get an extra mark for it and it's free. Everyone likes free stuff"
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
The steps can be in the head of the person who does the work. It's the answer that counts. The work is almost never a proof, because to be a proof even the most basic arithmetic would need to invoke all the axioms. A simple vector calculus problem done as a proof would take up a notebook, and good luck doing it by hand without using a proof assistant (say coq). There's a lot of math that is in common use but has never been presented formally enough to make it quick-and-easy in proofs. People are still worki
Re: (Score:2)
Re:16-year-old kids have too much free time (Score:5, Funny)
Re: (Score:2)
Re: (Score:2)
This is the big one - there's no way to tell is "Oh, here's the answer" is because you're Oh So Very Smart And Intuitive or because You Stole the Answers From The Kid Next To You.
Showing your work is how you prove that yes, you're oh so very smart. (Because if you can't explain your brilliant deductions, you're not as smart as you think you are).
Re: (Score:2)
Lowest common denominator or greatest common divisor?
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
On the other hand, what if he is autistic? Clearly he's capable of doing some pretty amazing things regardless.
Re: (Score:2)