I spiffed up my last bit of Minecraft Pi Edition code by making the Game of Life fit into a smaller area of the world, making the world grid and live cells easier to see (by making dead cells Obsidian and live cells Diamond Blocks), and even adding a nifty little stepped wall around the playing field. In the two photos, you can see the new Game of Life as seen from the ground inside of the playing field and hovering above it. It runs a fair amount faster now that it’s only updating a 64×64 grid. Still not going to break any speed records (even from 1980) but it’s a bit more fun to play with now.
What I did was first clear out the entire world, then place a plane of glass across the entire world at y=1. The actual Life cells are Cobblestone blocks on the y=0 plane (the grid is on the Minecraft x-z axis). The Life grid is initialized with a random seed, then set off to work. This code for the Game of Life is about the dumbest and slowest implementation there is. I’ve done no optimization at this point. It only updates about one generation (over the entire world) every few minutes. But it does seem to work, as you can see above.
Next time I need a break from electronics, I’ll refine the code and post it again (or you can follow the Gist). It’s way too slow to run the entire world as a Life simulation, so I think I’ll just clear out a 64×64 space in the middle of the world and confine the world to that size, which should make things run about an order of magnitude faster, I would hope. I know, this is crap code, but I’m still trying to really get into the Python frame of mind and this was a quick hack any way.
I’ll let this thing run for a while and post a screenshot of the evolved world to Twitter and G+ later on. Also, thanks to the shoutout from the new http://mcpipy.wordpress.com/ blog!
If you are a Raspberry Pi enthusiast, you may have seen that Minecraft Pi Edition was officially released yesterday. I don’t have the time to game like I used to, so I haven’t really played Minecraft, but this version looked intriguing since it’s free and it has an open API. So I downloaded it yesterday during a break when both of the boys were napping and give it a quick run. The performance of the game is surprisingly responsive, which shows that the GPU in the Pi is fairly capable, even if stock Raspian X Windows is slow.
With a bit of digging into the very sparse API docs included with the program, and a little Internet help, I was able to get a bit of code up and running. All it does is create a sphere 10 blocks away from the player’s location in the Z direction. Here’s the quick and dirty code:
Pretty fun stuff, even if it’s very basic. I know that the hardcore MC fans have already been scripting some pretty fantastic stuff in the PC version. It should be interesting to see what people do with the Pi version.