Saturday, January 2, 2010

The 'Black Triangle' of Gather Up

Or at least, one black triangle of Gather Up.

I remember reading a story a little while back (it might have been on Gamasutra) about programming achievements that are vital to a projects success but underwhelming to outside observers. This was placed in context of the team spending weeks of effort to get a single black triangle on screen and the ensuing confusion of everyone else who just couldn't figure what was so great about it. It certainly doesn't sound or look very impressive.

It's the sort of thing that isn't very good for moral. It certainly hasn't done mine any good. Which is what makes middlewear more attractive because it makes it easier to achieve things quickly and get tangible results.

Anyway, I hit on of those black triangle achievements when I wrote the first part of my tile import/refresh code for Mappy (the level editor I use). I had already written the refresh code, which basically added a one button option to re-load the png of the current tileset. Now I'm expanding on it to append all the 'Marker Tiles' for placing enemies and objects in the level on the end of the tile list whenever I refresh.

This means that I no longer have to waste precious tilesheet space for marker tiles. Level Up only had a single tile sheet and no huge number of objects to add (Level Up had about 30 marker tiles. Gather up already has 20 marker tiles and is looking to total up to about 120 all together). It also means I can ensure that I don't accidentally place the market tiles as physical parts of the tileset. It also means I can use code to fill out a bunch of tile values so I don't have to spend quite as much time manually adding NPC's/enemies ect to a tileset.

To an outsider though, it's pretty boring. It doesn't make the game do anything cool. In fact it's existence won't even be noted by people playing the game aside from hopefully giving me more time to focus on level layouts and detailing areas. In that sense I'm busy punching the air but can't quite explain to anyone else why.


  1. This kind of work should be seen as a good thing, because it means that you're transitioning from "slam out the first thing that works" into something more mature and potentially more productive. It gives you an advantage over other game developers to build a toolset that fits your needs, and if you do lots of it, you end up being able to do previously "impossible" tasks, because you have so many things automated for you.

    But it also describes the entire first six months of Deep Sea Descent. "So how about that game?" "Oh, I'm working on it. There's nothing much to show yet, other than this level editor which I spent a month on and then rewrote. But the maps are empty, I built about three assets, and the game doesn't have any features yet. I could show you this function that prints 'True' when I run it, though. It does some really cool stuff." The benefits did show up, but only after I started to really make the game.

    If I get enough time when it's done, I expect to spend at least another month or two like that where I'm putting together a better engine. I have a huge list of things to improve after just one month of "real production" and it's only going to get longer.

  2. The black triangle story must be the one mentioned in Rampant Coyote's Blog :-)