The last two weeks I’ve been spending every free waking hour (and some I should not have spent) playing Minecraft. A lot of people don’t get it.. and that’s okay. I have a lot of thoughts floating in my head, so here’s my geeky post. #TrueToSelf (image: view of HobbitHole v2.0 – showing tree farm, animal farm, sugar cane and wheat)
What I love about Minecraft – Background
Back in the 90’s, I coded the equivalent of BCL’s on an LPMUD (related: LPC programming language) named Vincent’s Hollow. (Its dead now – the software doesn’t run on any modern O/S). Some of these included: the standard monster model, weapons, armor, statistics/enchantments, talk and chat system, email client, etc. It was the most fun I ever had coding in my life. (In addition to learning OOP and how to build amazing reusable systems, I also learned what it takes to lead (herd) a group of volunteer programmers, teach people to code, and in retrospect, the most important, to love people for who they are.)
I also loved the games NetHack (well, Moria to be exact) and Ultima 5. They had a top-down game play that worked well for me – using my imagination to see what that world looked like. It was seamless, I did not see blocks, I saw beaches and woods and paths and stuff.
As I proceeded in my paid career.. every new technology I learned – and I’m dating myself here — Clipper, SQL, Perl, C#/.Net, Signal/R, Mongo – I dream[ed] of writing a Mud with it. It has never truly left me. (related: when I saw WoW, it raised the bar so high that I could never touch it. The dreams subsided for a while) (related link: my 2004 attempt at a mudding livejournal. Precious.)
While being a Mud “director”, I also spent a lot of time thinking about where gameplay could go. I saw people get up to the level max of 20, and then.. then what? Not everybody wanted to code. So I started designing what I called “Frontier Land”, where you could either gather resources yourself to build castles and civilizations, or rope the locals into labor (if you paid them well enough) to do a lot of that for you, so that the competition could be taken to “who has the coolest most successful city”. It was going to be a randomly generated world, with forests, villagers, mountains, monsters, etc. There was going to be a monster mode where you could “become” a monster (not leaving a certain area) to go and kill players. There was going to be a Karma mode where your actions to help or hurt other people (never liked griefers) changed your “luck” which stayed with your soul.. and to create a character, you had to be born into the world (to parents), when that character died, it was gone, but your soul went back to the lobby.
I look in the game, and what do I see..
- A blocky, unlimited, randomly generated world
- Where you can build systems and processes and stuff
- With a client and server model, multi-player
It definitely taps into several of my core patterns. It is feeding a part of me that’s been hungry for a while. Right now I’m still exploring it as a game, but there’s a part of me that is looking at a bigger picture.
Aside: Minecraft also feeds my love of LEGO which is the predecessor to blocky worlds for me. When I was 12, I used to try to recreate the dioramas of canyons where Wile E. Coyote would chase the Roadrunner using LEGO.
So What Now?
- I have a whole other post brewing about a “build” order of adventures in Minecraft. (It was going to be part of this post, but single-responsibility, KISS, so I’m refactoring it out to its own class… err, post.)
- My dreams of writing an awesome mud(lib) (again).. now are transformed. I want it to look like Minecraft. I could do it in C#, and Signal/R, and .. and.. and.. oh yeah, only at the opportunity cost of everything else in my life. Darn it. #LotteryNowDangit
- I have several adventures left to experience in Minecraft – carts, rails, mapping, lava, villages, and cats is the short list.
So What Now — Second thought – transformed
Why build new when there’s already something that works? What if Minecraft started allowing for Lua scripting .. so people could write behaviors into the world in creative mode… building some amazing worlds, games, adventures.. for adventure mode?
It could inspire a gazillion kids into their first programs.. like Muds did for my generation of tweens.
Not to mention recreate C-Robots – program your monsters to a fight to the death.. arena.. with Lava flows to avoid.
I’ll put in a link to the adventure build order post when I get that done. I’m pretty sure my wife is going to wake up any moment now, and I have promised this day to making our house better. And… POST!