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.

42 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 Bucky24 · · Score: 2

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

      --
      All the world's a CPU, and all the men and women merely AI agents
    5. Re:For those of us who don't know... by _Shad0w_ · · Score: 2

      You're thinking of NAND gates (or NOR gates, which have the same property).

      --

      Yeah, I had a sig once; I got bored of it.

    6. 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=

    7. Re:For those of us who don't know... by TheRaven64 · · Score: 2

      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 graphical calculator from LEDs and transistors. Which is to say, it's very impressive.

      --
      I am TheRaven on Soylent News
  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 TheCouchPotatoFamine · · Score: 2

      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!

      --
      CS majors know the time/space tradeoff, but they never get taught the 3rd, crucial, tradeoff of the set: comprehension!
    4. 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. That is infskcredible by alexborges · · 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.

    --
    NO SIG
  9. 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.

  10. Cute, now go learn FPGA design by billcopc · · 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 rights in a game are more important than actual worthwhile accomplishments. I'm impressed that Soulskill wasted so many more of our CPU and brain cycles sharing this pointless feat.

    Get. Off. My. Fucking. Lawn. Bitches.

    --
    -Billco, Fnarg.com
    1. 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.

    2. Re:Cute, now go learn FPGA design by Gryle · · Score: 2

      I'm guessing you're the kind of person who grumbles about people playing rock band when they could be learning to play the actual instruments.

      --
      Only two things are infinite, the universe and human stupidity, and I'm not entirely sure about the universe - Einstein
    3. Re:Cute, now go learn FPGA design by Chris+Burke · · Score: 2

      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 adapting to the constraints of a specific FPGA.

      I don't see why doing what would be mathematically equivalent on an FPGA is "actual worthwhile" while this is "bragging rights in a game".

      --

      The enemies of Democracy are
    4. Re:Cute, now go learn FPGA design by bryan1945 · · Score: 2

      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!

      --
      Vote monkeys into Congress. They are cheaper and more trustworthy.
    5. Re:Cute, now go learn FPGA design by TheRaven64 · · Score: 2

      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 the messy analogue stuff from you).

      The goal here is not to build a graphing calculator. That would be pointless - you can buy a much better one very cheaply. The point is to really understand how such a device works so that he could build one if he needed to. That's not to say I wouldn't suggest that his next project be done in Verilog, but there's something to be said from starting with the wrong tool for the job. If nothing else, it teaches you to appreciate the good tools a lot more...

      --
      I am TheRaven on Soylent News
  11. 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
  12. 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...
  13. 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.

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

    But in minecraft HE IS GOD!

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

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

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

    Next step: Minecraft fleshlight.

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

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

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

    --
  21. 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
  22. Re:16-year-old kids have too much free time by Canazza · · Score: 2

    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"

    --
    It pays to be obvious, especially if you have a reputation for being subtle.