Let’s Code

 By Shamus Nov 19, 2010 15 comments

I’ve been corresponding with Michael Goodfellow, a fellow coder who had recently begun a blog detailing a game he’s working on. If you enjoy the coding write-ups that I do around here then do make sure to give this a look. He’s actually working on an MMO. A few people have nudged me to talk about the technology behind Minecraft, but his post explains the core concepts. Pay special attention to the stuff on Octrees. An Octree is just a three-dimensional version of a quadtree, which I wrote about way back in February 2006. (Hey! This site turned 5 years old back in September and I didn’t notice!)

I’m a big fan of “coding in public” like this. When you’re working on a solo project you might have to plow months into your work before you even have something playable enough to show off, and those months of working in the dark can be disheartening. I’ve found writing about my work also helps to to organize it in my mind. And it makes for an entertaining read for everyone else.

Do check out Let’s Code and let him know what you think.

1515 comments. (Fifteen is the smallest natural number with seven letters in its name.)


  1. Zagzag says:

    A very interesting article, that informs me about a great deal I didn’t know. Thanks for the link!

  2. Adalore says:

    Ah Coding, a primary alien thing to the likes of me. But extremely interesting to read.

  3. Jericho says:

    Very cool, thanks for the link!

  4. bbot says:

    His site just fell over. Didn’t think it was even possible to crush a site serving static HTML and images anymore, at least, one that’s using modern hardware. Who knows, he might be using some dot com era fossil. The site design dates from at least then.

    There also doesn’t seem to be a RSS feed, so I can’t subscribe to it, which pretty much means I won’t read it.

  5. Jarenth says:

    Interesting read, thanks for that. Though I do feel mister Goodfellow seems to skip over a lot of stuff you make explicit, making it harder to follow for laypeople.

    “I’m going to code my world in cubes. Bam, here they are. Now they’re forming a world. Now they have textures. Here, try this demo.”

    • MichaelG says:

      Shamus warned me about that. This is my first technical writing for the public. I can expand things a bit if it’s a problem for a lot of people.

      • unconvention says:

        It’s just a matter of choosing your level.

        Some people will be baffled by a line like “As we traverse the tree, we’ll add the various faces to buffers, one per texture.“, because they have no idea what a buffer is, or even what you mean by traversing a tree. Others will be looking for the ‘Next Post’ button because they already know how to do the basics of 3D graphics, but are looking for some other nugget of explanation.

        You just have to choose how layman you’re going to enjoy pitching it and trust that your audience will follow along.

        • Jarenth says:

          I agree with this notion. Don’t go radically changing your writing style just because some kid with a shiny blue avatar tells you you’re going too fast or too slow or whatever.

          Pick your audience, write for them, and if I can’t keep up, hey, tough luck. Who knows, I might learn something trying to keep up.

  6. Robyrt says:

    Thanks for the link to your old terrain-making project – that remains a good read even now, when the code could probably run on an iPhone.

  7. Kalil says:

    Coding in public seems to work pretty well for StarDock. It’s one of the things I love about their development team – they fill us in on technical difficulties as they crop up, and cooperate with technically astute fans in nailing down bugs.

  8. unconvention says:

    Another blog to add to the rotation, thanks Shamus!

  9. Mephane says:

    While we are at it – I recently stumbled across one of those new fancy managed high level languages. I’ve not done anything with .Net until now and I must say I am starting to like it.

    The language is F#, and though it was a bit of a hassle to get the Visual Studio Shell up and running with it, coding was so easy. This Friday I wrote my very first lines in F# (and likewise .Net) and now, on Sunday, already have a working application that could be shown to other people. The code is so compact end efficient that I am still baffled to get so much out of so little, and even do some fancy things like using mousewheel scrolling as intuitive input.

    I’ve uploaded the source and stand-alone windows executable, if you have a recent .Net framework installed it should work out-of-the-box on windows:
    http://www.speedshare.org/download.php?id=10AABC8811

    I seriously think I will try to do all my private coding exercises in F# from now on. The language looks brilliant to me.

Leave a Reply

Comments are moderated and may not be posted immediately. Required fields are marked *

*
*

Thanks for joining the discussion. Be nice, don't post angry, and enjoy yourself. This is supposed to be fun.

You can enclose spoilers in <strike> tags like so:
<strike>Darth Vader is Luke's father!</strike>

You can make things italics like this:
Can you imagine having Darth Vader as your <i>father</i>?

You can make things bold like this:
I'm <b>very</b> glad Darth Vader isn't my father.

You can make links like this:
I'm reading about <a href="http://en.wikipedia.org/wiki/Darth_Vader">Darth Vader</a> on Wikipedia!