7 ms·
Programming Minecraft on the Raspberry Pi
- klinskyc 8y agoThis is fantastic. Minecraft is one of the big factors that made me want to learn Java (back when the game first came out), and indirectly spurred a lot of my own personal development. The easier they can make it, the better.
- 654wak654 8y agoMinecraft was (probably still is) one of the biggest factors for a lot of people to learn programming. Specially in the first years where it felt so genuinely indie: It had noticeable (but mostly harmless) bugs, and the famous notch was doing everything alone (don't think the solo phase lasted that long, but that's what the public thought).
- rococode 8y agoMinecraft, and in particular Bukkit (API for coding server plugins), is by far the single biggest factor in my own development as a programmer. Literally hundreds of hours spent coding plugins for my server, starting from copy-pasting tutorials in the early days and eventually being able to build fairly complex projects on my own. It's formed my personal belief that being able to visually see the effects of code and being able to write code that augments things that are already interesting are great ways to encourage young kids and teens to code.
- klippoteket 8y agoMy son wanted a own MC server to play with. And then he wanted all those plugins. So I had to learn how to code and compile java code. I had almost as much fun coding/compiling as my son had playing and cresting his world. The server I use is Spigot. Easy to get started with.
- gavanwoolery 8y agoI used to joke that Voxel Quest was just a fancy 3d graphing calculator. I think the entryway for a lot of students to become interested in math is to make rendering more accessible. Shadertoy is one step towards this, but SDF equations are much more difficult to grok than binary on/off voxel plotting, and they have to be mathematically sound or you get buggy looking results.
- satori99 8y agoMy first programming experience was using Logo on an Atari 800 as a 6 or 7 year old, and I instantly grasped the concept of a giving commands to a turtle with a pen. It was as game-like as most entertainment software of its time, but it subtly forced me to learn some math in order to create complex shapes. I think of Minecraft as a similarly clever idea. https://en.wikipedia.org/wiki/Logo_(programming_language) https://en.wikipedia.org/wiki/Logo_(programming_language)
- clan 8y agoI do not get why Logo went out of fashion. To me it is the king among learners. The physicality of the Logo turtle robot we had at our school back in the eighties was what made it "click" for me. Playing with something connected to the real world takes it to another level.
- kbouck 8y agoLogo evolved into modern-day Scratch, which is included with the pi (raspbian). http://el.media.mit.edu/logo-foundation/what_is_logo/history.html http://el.media.mit.edu/logo-foundation/what_is_logo/history... http://www.elica.net/download/papers/LogoTreeProject.pdf http://www.elica.net/download/papers/LogoTreeProject.pdf
- clan 8y agoScratch is really great - do not get me wrong! But I find it too advanced. They do support various external hardware. And I can highly recommend the Make lock mbot. Truly awesome. But Scratch is one step up the ladder to me. It is a commitment to an eco-system and a super nice but blank canvas. I find Logo to be simpler and more limited. This is a "good thing"(tm) when getting kids hooked. The first hit should always be free :-) I have gotten some of my non-technical friends to buy mbots. They like the idea but the learning curve was to steep for them.
- sokoloff 8y ago
- sdan 8y agoImagine running the winning MARLÖ model on this. That's going to turn a lot of heads (most likely going to attract attention from kids as well).
- snek 8y agoanyone know what API wolfram is using here to communicate with the minecraft client?
- rocky1138 8y agoMinecraft Pi has a built-in connection with IDLE. Take a look: https://projects.raspberrypi.org/en/projects/getting-started-with-minecraft-pi https://projects.raspberrypi.org/en/projects/getting-started...
- Tepix 8y agoThere are mods for the java and android versions of Minecraft (Raspberry Juice Mod) that provide the API. The old, limited pi version if Minecraft has builtin python API support.
- kbouck 8y agoLikely the Minecraft Pi Protocol [0]. It's a text-based protocol, so you can even use via telnet/nc. The python API included with pi is also just a thin wrapper around this. [0]: http://wiki.vg/Minecraft_Pi_Protocol http://wiki.vg/Minecraft_Pi_Protocol
- itronitron 8y agoMinecraft added a full set of command blocks (impulse, repeat, and chain) back in version 1.9 which allow players to make similar modifications to worlds, as well as create and equip entities with various items and behaviors. Basically you add a command to a command block in game, and then it executes when the command is activated. I think command blocks are an easier foray into coding in Minecraft although it would be nice to see more capabilities added in the future.
- kbouck 8y agoLots of fun stuff you can program in Minecraft Pi Edition. My son and I made a minecraft version of snake/tron where each player would leave behind a trail of TNT blocks as they ran around a closed arena. Hitting a TNT would set off such huge chain reaction of explosions that the raspberry pi couldn't handle it. After a few rounds of these explosions the minecraft world looks like a total wasteland.
- giancarlostoro 8y agoI honestly wish they had some of that level of scripting for the desktop version too, I love the idea of doing Python with Minecraft. Plus fun ideas like that could scale a little better on a much more powered system.
- epse 8y agoThat would be quite achievable with command blocks though...
- dagw 8y agohave you seen Microsoft MakeCode? https://www.microsoft.com/en-us/research/blog/code-minecraft/ https://www.microsoft.com/en-us/research/blog/code-minecraft... https://minecraft.makecode.com/ https://minecraft.makecode.com/ It's a scratch like programming environment that lets you do all kinds of cool things in Minecraft.
- IloveHN84 8y agoYou can emulate it with a docker image and show the UI on your desktop..or build a QEMU image and play on your desktop!
- philote 8y agoIt may be a little outdated (works with minecraft 1.7), but this project replicates the pi functionality for the normal version of minecraft: https://github.com/kbsriram/mcpiapi https://github.com/kbsriram/mcpiapi
- loa-in-backup 8y ago
- Confiks 8y agoAnother interesting environment to explore related to Minecraft is an open-source clone of that game: Minetest [1]. It allows extensions in the form of Lua scripts. There is an extension [2] that opens up a TCP socket which can be used to modify the environment in any language across the network. There is an accompanying Python library [3] that is quite accessible (I had to use the 2to3 tool to seamlessly convert it to Python 3 because of some dependency problem). I've been trying to get it to work in WebAssembly (some notes here [4]) and maybe connect Blockly / Scratch to it, but unfortunately the WebAssembly shared memory model is postponed due to the Spectre and Meltdown debacle [5]. [1] https://www.minetest.net/ https://www.minetest.net/ [2] https://github.com/sprintingkiwi/pycraft_mod https://github.com/sprintingkiwi/pycraft_mod [3] https://github.com/sprintingkiwi/pycraft_lib https://github.com/sprintingkiwi/pycraft_lib [4] https://news.ycombinator.com/item?id=14855176 https://news.ycombinator.com/item?id=14855176 [5] https://github.com/WebAssembly/meetings/blob/master/2018/CG-01-09.md#update-on-webassembly-atomics https://github.com/WebAssembly/meetings/blob/master/2018/CG-...
- JustSomeNobody 8y agoOff topic: What are some decent general tutorials for programming voxel games?
- emeth 8y agoA related project, not limited to the Raspberry Pi: https://teachcraft.net/ https://teachcraft.net/
- DonHopkins 8y agoSnap! is an awesome scheme-like visual programming language that runs in the browser, which is a lot like Scratch (visual Logo), but like Scheme in that everything is first class, including functions, lexical closures, continuations, macros, special forms, user defined functions, control structures, etc. https://snap.berkeley.edu https://snap.berkeley.edu ProgKids is a Russian site that integrates Snap! (and Python) with Minecraft, so kids can visually program 3d turtles that move around in the world and build things! https://progkids.ru https://progkids.ru ProgKids. Строим дом, а потом ещё пару (Building a house, then another couple) https://www.youtube.com/watch?v=muNpsk4UH7c https://www.youtube.com/watch?v=muNpsk4UH7c ProgKids. Куда же без зверей? (Why do you not have animals?) https://www.youtube.com/watch?v=1iBFwaUSDYI https://www.youtube.com/watch?v=1iBFwaUSDYI ProgKids. Как работает Snap? (How does Snap work?) https://www.youtube.com/watch?v=lh0mrqxFImQ https://www.youtube.com/watch?v=lh0mrqxFImQ
- pcunite 8y agoIf you own the Minecraft Windows 10 Edition, you can download their "Code Connection" server and start coding right away in JavaScript. Links: https://minecraft.makecode.com/setup https://minecraft.makecode.com/setup https://aka.ms/meeccwin10 https://aka.ms/meeccwin10