A little toy

After that angsty interlude, I now return you to scheduled programming. heh. “That’s the joke”.

The following is a 2D, text mode crossover of a ‘little’ game called Minecraft and a littler game called Paradise Fort, by Hempuli. It started off only as a map generator, which I hacked together with revolting code in about an hour, based on the wisdom of Petri Purho to “build the toy first” and make it into a game later.

Flush with success at having a working build, I set about rewriting it in beautified object-oriented code, so that I could add a moving player and enemies. Enough words; here are some pictures of what I have so far:

World Generator generatingThis one isn’t very exciting. The generator makes worlds until it has one with the desired amount of water, wood, and stone blocks. This is very fast. This more colourful picture is the world into which you’re propelled. It has land, some of which is below the water table. It has trees of various shapes and sizes, a cave, and a lake. You are the @ sign, as is convention in ASCII games, and can walk around this world with the ‘m’ and ‘n’ keys. I’ll take me to the other side of the lake:

A World Generator World

World Generator zoomed in

We can then dig and change the landscape with the wasd keys.

Not yet implemented is building with Shift+wasd. Digging in World GeneratorEventually, the game will be pretty much Minecraft, but more “stay in base” and a little faster-paced. Each level will have an objective, such as escaping the screen via the left, right, top or bottom, gathering x number of a certain block, fending off x enemies, etc.

This necessitates enemies, which will likely take one step to every couple of yours.

Materials will be valued as they are in MC: Wood will be required in order to gather stone, which will be necessary to gather the as-yet-unadded iron. This progression also represents sequentially better weapons. Also like Minecraft, I plan an infinitely long sandbox level.

I’m writing it in VB out of ease. It will be releasable quite soon, and if I never work on it again, I’ll put it out in its current form, for the laughs.

Godspeed netizens!

Orange Customer Service

Despite the continued lethargy of my telephone numbers in organising themselves location-wise, Orange have been doing a good job of dealing with my queries. In my 4 support calls, I have spoken to an Indian call centre 3 times, and a nationally based one once. Nevertheless, all of the staff I have experienced were competent and helpful, after you apply a little patience.

My number IS porting, the process should be complete by 1600 today; a prospect which I am cautious to believe with any zeal.

Also, seems the whole world and his dog have heard of Minecraft now. That’s great for Notch! Even though it’s Indie (and Alpha build!) it is one of the top selling games internationally, meanwhile the forums and wiki combined get the same volume of traffic as does slashdot. Madness.

New Programming Frontiers

I have recently decided to stop feeling guilty about programming in Visual Basic .Net. Not only is it the language in which I feel most comfortable, I can assert that the coding practices which I maintain in it are sound and viable. Contrastingly, as much as I try to structure C-style code nicely, I tend to end up making some messy judgements. I also enjoy the ease of working in Visual Studio, and know that porting to C# would be a breeze; while VB is not popular in industry, .Net certainly is, and in that, I find solace.

I decided that I would learn network programming in VB. There is a (reasonably) nice .Net library called System.Net.Sockets, which — I have been told — is a fairly low-level wrapper for the old Winsock API. So far, I have gotten along with it, and wrap most things in my own functions anyway.

What have I made, though?

In short, a bot for the 5 day old Multiplayer Survival mode of Minecraft, of course! With a little help from some patient friends, I have puzzled out how to successfully send and receive packets to a Minecraft server, and developed a bot which can, so far:

  • Log in
  • Receive player list
  • Receive chat
  • Send chat

… a result with which I am very pleased, for my first foray into that area of speciality.

Today’s work will involve trying to move the bot around the server, and perhaps even recognising block placements.

It’s all very exciting.

People and Playlists

Ha. So I’m a mood which I have designated “infatuated”, and wanted some music to match.

I tried Last.fm, with tag “Love songs” which sucked. Also, some soppy artists’ stations, which transpired also not to be my thing. Then I decided I had enough music to put a good playlist together from my collection, ranging from Depeche Mode to Britney Spears, to Avantasia, Yellowcard, Greenday, and Franz Ferdinand. So pretty much all of my favourite artists.

It is much better than the procedurally generated offerings.

I spent the middle part of yesterday with my good friend Edward. My teaching him guitar is merely an excuse for our meetings, which are far more widespread in topical coverage. Oh, also he bought Minecraft by the time I left. That’s 4 sales I am directly responsible for now; if only spreading the good news of Christ was as easy as spreading sales of a game where you can beat a sheep to death with bacon and set fire to skeletons from the windows of your hand-built fortress.

Speaking of which, I spent an hour talking with some Jehovah’s witnesses in my porch yesterday. It was good, and there was mutual understanding all around.

Right now, I am developing a guide to the latest paid version of Minecraft, which we call “infdev”, partly inspired by the fact that most new buyers (like Eds) would find it hard to set out. It’ll be out in a few days I suppose.

Dan and Melissa’s wedding tommorrow, which will bring a satisfying closure to all of the stress (other people’s) that I have been made aware of during preparations. I am super-happy for them, too, because they’re a very sweet couple, and awesome people in isolation, for example, I was under the impression for a long time that Dan was the last word in cool. Perhaps he still is.



Minecraft Island Renovation

I wrote previously about my dealings in Minecraft; 90% of the web design I do is Minecraft related, and as such, I need a neat portal to keep everything.

My hastily done previous effort was this:
Minecraft Island, before

So I spent an hour or so, slaving over a hot Inkscape and Photoshop (because, let’s face it: the layout and styling required is minimal) and now, I have this:

Minecraft Island, after

…I really am in love with border: 3px double grey for my sinister Web 1.1 dealings!

As a note, the background took a lot more effort than you might think. I went into Minecraft creative single player, changed the fog colour to the same as the sky (using Cheat Engine), waited until there was a nice cloudscape, took the screenshot, and then rebuilt the sea in Photoshop, also recolouring the clouds to offset the fog.

Making things look Web 2.0 is so much hard work, and who cares about the output? I’m not trying to be the next twitter. I think if you don’t try to make a site look amazing, because you value content, there’s no problem. When I try to make something look vaguely modern, and fail, that kind of sucks.

Minecraft and Me


Today has been all about Minecraft business for me. Minecraft is a multiplayer server-based building and role playing game. It is also much, much more than that.

More than 120000 people play Minecraft. There is 1 developer, 1 musician, and 8 people who staff the community, one of whom is me.

Ok, so you’re filled in.

I run the largest active “clan” in Minecraft (though I dislike the term… we’re more of a group) which is called Victory. They don’t expect much of me, but I do a lot of work on and around it. I also occassionally maintain a codex of all Minecraft clans. I also have a general all-sorts site (Minecraft Island) where I keep things like a guide to policing servers, and skins that you can apply to your character avatar.

“Isn’t that a bit sad?”

Yes, it is. However, if you really had to ask that, GTFO blog.

The irony is that I don’t play much Minecraft any more, but you’ll find that with a lot of old community fuddy-duddys. Anyhow, I bought Leon a premium account for his Birthday (which he had been expecting), and convinced a long time player (Kotestsu), and also my electronics class friend Tom to buy accounts. Neither regrets it.

Minecraft Log Cabin