My Progress #3

Sigh.  I hate when life throws me a curve ball, especially when it’s not actually life throwing it, but myself.  On October 25th there is this game-jam that I had been toying with the idea of participating in.  At one point I had decided against it.  My skill set just wasn’t good enough to feel like I would be able to contribute something to a team, and I certainly didn’t feel like I’d be able to help create a game in a couple days.  So…carpe diem and all that shit; I signed up for the damn thing anyway.

After I signed up for the jam, I immediately email the organizer and started asking some questions.  What I uncovered was that while my personal progress in the realm of low-level programming was fine, it probably wasn’t going to be conducive to a team (something I obviously already expected).  That said, he pointed me in the general direction of the Unity game engine.

Even though I’ve expressed before that using an out of the box engine isn’t really want I want to do, in this case, it feels necessary.  So for the majority of my three-day weekend, I locked myself up and did nothing but learn Unity.  My wonderful fiance’ was kind enough to facilitate our own little mini game-jam, wherein she gave me a topic and I figured out how far I could get with it using Unity.  Given that I knew nothing about the engine, I didn’t do much.

The topic was pirates, so she threw me a bone there (everyone who knows me knows I fucking love pirates).  What I ended up with was “Roly-Poly Pirates” a very simple game wherein you roll around this island as a ball (that looks like a pirate) and collect little treasure chests.  There are some physics puzzles, a bit of sounds, a simple UI that keeps count of the chests you’ve collected.  It’s not exactly game of the year quality, but for 2 days and no previous Unity experience, it was fine.

Here’s what I discovered.  Unity is kind of cool.  Unity is kind of lame.  I liked working with the tools, and I love that you can write scripts in either javascript or C#.  Something about the engine’s open ended nature makes me pretty sure that it’s not exactly the world’s most performance oriented tool.  It seems like a great tool for an artist / designer looking to make a game on a mobile platform.  That’s not exactly my forte.  That said, I’m learning.  Not only am I learning, but it’s breadth of knowledge I’m starting to gain, not just depth.  The more I know, the better off I’m going to be, whether I write my own game and sell it, or get a job somewhere.

Progress #2

My tumultuous love affair with game programming continues this week, progress coming in short, massive bursts of either technical prowess, luck, or sheer brute force.  These moments are consistently juxtaposed with long periods of utter frustration and failure.  Such is life though, I suppose.

When last I wrote an update, I had drawn a triangle.  The world stood up, and in one unified statement proclaimed, “Whoop-dee-fucking-doo”.  Since then however, progress has come much more rapidly.  A triangle begot a cube, begot a whole shit ton of cubes.  Multiplayer client / server architecture was born.  A UI was created using HTML and Javascript (a feat mere mortals though impossible).  There is first-person style movement, there is interaction.  I can do matrix math.  It was a productive week.

Progress never seems to come without a healthy share of failure though.  For each baby step in the right direction, there are hours of head-pounding frustration.  I write code, tear it down, start over, write it again, only to find out that I wrote it worse the second time.  I tear it down again, start over, and this time the code won’t even compile.  There is an immense sense of pleasure when it all works, partnered with an immense sense of failure when none of it works.

Next week should bring more progress (and hopefully some pictures).  My skill set is growing rapidly which feels great, hopefully that continues.  Time will tell.