Biting down - week four of making a video game

Last week I shed some light on what kind of game Project Bird was going to become (sans trop de detail). Today, let's look at the why.

We moved away from a fairly big city (Ghent) a couple of years ago because the missus was really set on having a back yard large enough to grow all the crop we would need to sustain ourselves. She is planning to do this in a permaculture focused way, which means the garden is going to use nature's power instead of fight it. The garden is a long term project (as is our house), and one of the first things Sarah (my wife) did was make up a design for the garden, drawing out where to put which plants. That meant that certain trees needed to be trimmed to make room for others.

Where am I going with this? Well, the piles of tree prunings attracted a delightful, cute singing bird: the "Winterkoninkje" or Eurasian Wren. This bird is tiny. Its size, combined with the peculiar positioning of its tail, makes for one bundle of cuteness. There's another aspect to this species that we found surprising and in fact, is uncommon for passerines: it's polygamous. One male can have four nests "in use", each with a different partner, and each "yielding" five to eight chicks.

We hope to incorporate several of these defining elements into the game.

Concerning developments this week, I decided to lump them together in a further effort to reduce the slog of reading through these updates. Still, this last section remains somewhat more technical in the details it provides.

Most of the week* was dedicated to implementing the first enemy, a job not yet finished at the time of writing. I started with just drawing two rectangles on the screen, adjusting their size to better accommodate what I wanted: a cat that swipes at our bird friend, but in such a way that the attack is avoidable. The actual obstruction had to be big enough to pose some challenge, but one that can be managed, preferably in different ways (giving the player options).

These screens already show an actual cat drawing, but shed some light on how I experimented with size and placement of the threatening area (white rectangle) and the enemy. In the second one, the cat is a bit larger (winter wrens are petite after all, plus the cat is more imposing this way), and the white in its pelt is less flashy. 

Once I had found an agreeable approach and attack vector, I moved on to animation. I had underestimated drawing a believable cat running, but luckily I found some excellent pointers and references.** After spending half a day on just sketching poses, and trying to become acquainted with the basic skeleton, I tried bringing the cat to life. I had read a pointer from elsewhere, on animation in general***, which suggested I could cut down on the number of frames I used, so I did.**** I think the result still looks sufficiently readable, perhaps even more so. It snaps more, as predicted. In the end, the basic animation leans really hard on the source material.

By the end of the week, I started the attack animation for the cat (this time I had to figure out more of it myself) and got somewhere like half way. Preparing for a short break with the missus did prevent me from finishing it. I had the ink outlines finished, which used so called smears*****, but I don't know if they'll deliver the same results as cutting down on the number of frames did.

Oh yeah, did you notice we have a logo for the company? The glory for creating it is wholly Sarah's to claim. You'll notice it coming up more often soon when I get back. Until then you can see it best over at our little website.

On Friday, we went to a wedding of two of Sarah's colleagues (that's right, office romance :-)), which kickstarted our week of bicycling vacation. Besides editing and posting this update, there's no work on the game planned the coming week so the next update will be a bit of a longer wait. (Comic updates were planned to continue and scheduled, but server problems are now preventing those too...)

* In the margin, I implemented states, so as to be able to switch between different screens (main menu, the game proper, ...). These states are classes that I wrote myself, and inherit from an abstract State class The approach/pattern I picked up from James Cho's book on programming games for Android:

** I started the search at a previously mentioned source, Monika Zagrobelna ( It was a nice start, but I felt I needed something more, so I googled for tutorials and found another great one. I had to smile when I looked at the author and saw it was also by Monika. :-)(

*** The Game Developer's Conference puts its videos on its Youtube channel (with some delay), which is fantastic because it's basically the pros sharing tips and tricks. This one, in particular, made we rethink animation (I found/watched it after doing nearly all animations for the main character, ah well, next time, right? :-) )

**** The basic run for the bird uses 12 frames, the cat only six.

***** See *** reference video.