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.
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 which is part of https://imgur.com/gallery/giajLha (dickbutt baby, nsfw kinda)
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.
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 :)
[+] [-] jackhack|10 years ago|reply
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|10 years ago|reply
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 which is part of https://imgur.com/gallery/giajLha (dickbutt baby, nsfw kinda)
[+] [-] hakcermani|10 years ago|reply
[+] [-] Alex3917|10 years ago|reply
[+] [-] diimdeep|10 years ago|reply
[+] [-] markdavis33|10 years ago|reply
[+] [-] asimuvPR|10 years ago|reply
[+] [-] tedyoung|10 years ago|reply
[+] [-] soared|10 years ago|reply
[+] [-] deepnet|10 years ago|reply
I am required to use a Free license as an educator and the massive appeal of voxels is undisputable.
[+] [-] KON_Air|10 years ago|reply
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).
[+] [-] justifier|10 years ago|reply
once you've exhausted these lessons you can show them blender