Slashdot Mirror


16-Year-Old Creates Scientific/Graphing Calculator In Minecraft

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.

30 of 160 comments (clear)

  1. Amazing stuff by mmcxii · · Score: 3, Informative

    This is a really fantastic accomplishment. More than I've ever done in Minecraft.

  2. Nicely done sir by schrodingersGato · · Score: 5, Insightful

    Well, if these games can get younger people interested in the concepts of programming, I'm all for it. I'm not a fan of most online games, but I have to say this is really cool. I think more games should provide an environment to explore programming (optionally of course)

    1. Re:Nicely done sir by nschubach · · Score: 4, 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.

      --
      Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
  3. For those of us who don't know... by Zapotek · · Score: 3, Interesting

    ...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?

    1. Re:For those of us who don't know... by ocdude · · Score: 5, Informative

      Minecraft is a sandbox type game where you can build stuff out of the environment. It has no scripting or math functions built in, nor does it really have any sort of logic gates built in. However, it does something called "redstone dust" which you can use as wires. The wiki explains more, but you can hand-craft logic gates out of it: http://www.minecraftwiki.net/wiki/Redstone_Dust

    2. Re:For those of us who don't know... by nschubach · · Score: 4, 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.

      --
      Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
    3. Re:For those of us who don't know... by SimonTheSoundMan · · Score: 4, 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!

    4. Re:For those of us who don't know... by Smidge204 · · Score: 4, 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=

  4. Re:16-year-old kids have too much free time by Anonymous Coward · · 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...

  5. Transcendental functions by Ambitwistor · · Score: 3, Informative

    Anyone know how he did functions like logarithms, trig, etc.? I didn't watch the whole video.

    1. Re:Transcendental functions by Rockoon · · Score: 3, Insightful

      Video doesnt explain, but probably he uses taylor series.

      --
      "His name was James Damore."
    2. Re:Transcendental functions by MickLinux · · Score: 5, Informative

      For logs, it is easier and faster to [1] convert the number to binary (2^x) (1.yyyy). Save the power x for later. For the other number 1.yyyy, break the number down to [binary] (1+0.a)(1+0.0b)(1+0.00c)... Where a, b, and c are binary digits. There is an algorithm like a single binar divide that will generate a,b,c all at once . Then for every nonzero a, b, and c... you look up the log-base 2 and sum those together. That will give you the binary digits to the right of the decimal. The number to the left is the power of 2 from the first conversion.

      --
      Correct Horse Battery Staple: 72 bits of entropy. Enter "Correct H" into google. When it generates the phrase, that's
  6. During trig/calc class... by TWX · · Score: 4, Funny

    ...I created games on my TI-82 graphing calculator, so I guess turnabout is fair play...

    --
    Do not look into laser with remaining eye.
    1. Re:During trig/calc class... by cervesaebraciator · · Score: 4, Funny

      Now the challenge is to go back and recreate Minecraft for your TI 82. Then try creating a graphing calculator within that.

  7. Did it without RedPower2 addon by uigrad_2000 · · 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.

    --
    Free unix account: freeshell.org
    1. Re:Did it without RedPower2 addon by ZiZe · · Score: 3, Informative

      This is explained in the video, the "buttons" are re-skinned wooden pressure plates, so he has to walk on the to activate.

      --
      Quidquid latine dictum sit, altum sonatur.
    2. Re:Did it without RedPower2 addon by quiet+down · · Score: 4, Informative

      The description states that he used a custom texture pack, nothing more. In this pack he made a bunch of iron blocks with text on them. He also made Wooden pressure plates invisible, and had placed them over the 'buttons'. Pretty ingenious.

    3. Re:Did it without RedPower2 addon by WarlockD · · Score: 3, 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 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

  8. 1222221? by Like2Byte · · Score: 3, Funny

    Calculating something that said '5318008' would have been so much cooled. sigh.

    Seriously, this is simply freakin' awesome! Nice job, MaxSGB.

  9. Re:Level editor? by Surt · · Score: 4, 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).

    --
    "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
  10. Re:Cute, now go learn FPGA design by Githaron · · Score: 5, Insightful

    Considering the amount of research and understanding that it took to build this thing, I highly doubt this was a "waste of time". Also, it is an awesome showcase of his abilities to future employers and colleagues. You could argue that he could have built a real calculator from transistors instead but that would probably take money that a lot of 16 year olds simply do not have.

  11. Autism by firefrei · · Score: 5, Funny

    As per a YouTube Comment:

    Autismï is a hell of a drug.

    --
    I remember when Linux was good... too...
  12. Somewhat impressive by insecuritiez · · 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.

  13. Re:16-year-old kids have too much free time by ae1294 · · Score: 3, Funny

    But in minecraft HE IS GOD!

  14. Re:16-year-old kids have too much free time by Pseudonym+Authority · · 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.

  15. Re:16-year-old kids have too much free time by JoeMerchant · · Score: 3, Insightful

    Agreed... however, it's a sad fact of life that only 16 year olds have enough free time to do stuff like this.

  16. Re:16-year-old kids have too much free time by frup · · Score: 5, Funny

    Next step: Minecraft fleshlight.

  17. Easier than some... by FloydTheDroid · · Score: 5, Funny

    The thing to be noted from this is that Minecraft is an easier IDE to use than Eclipse.

  18. Re:16-year-old kids have too much free time by TheLink · · Score: 5, Funny

    I have a truly remarkable rebuttal to your argument that your mind is too small to contain.

    --
  19. Re:16-year-old kids have too much free time by Rhacman · · Score: 4, Insightful

    I wholly agree and offer some additional examples.

    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.

    --
    Account -> Discussions -> Disable Sigs