
Show HN: TeachCraft – Learning Python Through Minecraft - emeth
https://github.com/teachthenet/TeachCraft-Challenges?
======
jackhack
Is this project related to the book: "Learn to Program with Minecraft:
Transform Your World with the Power of Python" ? [http://www.amazon.com/Learn-
Program-Minecraft-Transform-Pyth...](http://www.amazon.com/Learn-Program-
Minecraft-Transform-Python/dp/1593276702) I ask because the concept appears to
be substantially similar.

re: the approach -- My kids are crazy about Minecraft, and being able to build
very simple python programs that modify the world (build block structures,
control creatures, etc.) is much more gentle yet engaging than the typical
programming 101 tasks.

------
bpchaps
Neat, I'd also recommend something like opencomputers for learning. The
learning curve and asinine amount of time it takes to get started is a bit of
a hurdle or thirty, but it helps to have more than one person involved.

At the end of my adventure with it, I had some code that would read a png from
github from minecraft, then use the 3d printer to create a series of blocks by
using the 'pixels' from all server allowed blocks. The personal requirement
was to not do any sort of color manipulation and only use what was available.
The pixel position from block to block doesn't change, and transparency could
be coded outside of the png, so it became pretty damn difficult really
quickly.

In the process I got to learn about png, cv2, jit (to pull the available
blocks' pngs and eventually for an attempt in finding consistent transparency
logic. Flowers.....), minecraft's internals, voxels, some lua, more python and
some interesting algorithm stuff.

Life got in the way and I never actually finished, but the block directly to
the left of the cursor was the last block created. Despite its ugliness, I'm
actually pretty pleased with it.
[https://imgur.com/dqwnnL2](https://imgur.com/dqwnnL2) which is part of
[https://imgur.com/gallery/giajLha](https://imgur.com/gallery/giajLha)
(dickbutt baby, nsfw kinda)

------
hakcermani
This is awesome. Much more engaging than finding the first 100 primes.

~~~
Alex3917
I think it's really time to move on from math puzzles in most programming
classes and hiring interviews. If people enjoy doing Project Euler problems or
find them beneficial then that's great. But using them to 'teach' others is
like forcing your own weird fetish on unsuspecting strangers, and frankly the
persistence of this tradition is becoming something of an embarrassment to
both academia and industry.

~~~
grahamburger
While we're at it can we stop using animal or vehicle analogies to teach oop?

~~~
Alex3917
This is a good point. Because you can't make a car or an animal out of
software these analogies always seem to lead to bad teaching.

Much better to use something like Person and Employee/Student, where it's easy
to immediately grasp the value based on not having to duplicate the data
fields you'd need for a basic CRM. (As opposed to having to make up ridiculous
methods about the panda eating bamboo or whatever where no one understands
what the fuck is going on.)

~~~
grahamburger
Exactly! Ugh I hate that. "A cat can be an instance of animal, but it needs a
'meow' function" ... What?

~~~
BatFastard
Adding a "meow" function is the wrong way to go about it. The base class just
needs a protected sound function so that each derived class can set the sound
in its initialization routine. So many programmers, so few who truly
understand OOP.

------
diimdeep
There is also ComputerCraft mod with Lua programmable blocks and visual code
editor (ComputerCraftEdu)
[http://www.computercraft.info/](http://www.computercraft.info/) and
[http://computercraftedu.com/](http://computercraftedu.com/)

------
markdavis33
Hey emeth...thanks for making this awesome project. As a father of 2 sons
(aged 9 and 11, both Minecraft fanatics) this is a perfect platform to get
them interested in coding. Starting with Python is a nice easy on-ramp for
them, and they'll even start using GitHub with this project, which is great
too. Keep up the cool work :)

------
asimuvPR
This is actually something I was looking for. Very nice! Do you mind adding a
license to the work?

~~~
tedyoung
Issue filed: [https://github.com/teachthenet/TeachCraft-
Challenges/issues/...](https://github.com/teachthenet/TeachCraft-
Challenges/issues/1)

------
soared
Give me screenshots.

------
deepnet
Is there a good GPLed substitute for Minecraft ?

I am required to use a Free license as an educator and the massive appeal of
voxels is undisputable.

~~~
KON_Air
[http://www.minetest.net/](http://www.minetest.net/) (LGPL)

[http://manicdigger.github.io/](http://manicdigger.github.io/) (Unlicense)

I am pretty sure there are more out there and as far as I know minetest is
closest to minecraft with this mod for for redstone circuitry thing
([https://forum.minetest.net/viewtopic.php?f=11&t=628](https://forum.minetest.net/viewtopic.php?f=11&t=628)).

~~~
deepnet
Thanks this is very useful.

------
justifier
A gateway to 3d rendering with scripts

once you've exhausted these lessons you can show them blender

