Tuesday, 20 September 2011

PubbleBop version 2 progress

Well, it's been a while, must be about time for an actual update here!

The last 2 months or so have been very busy working on the first update of PubbleBop. It was going to be a relatively short release cycle with just a few extra features added, but ended up extending into a much bigger undertaking which is now nearing completion.


This update will basically be a PubbleBop reboot, containing over 70 levels in a "story mode", with 6 new types of enemies and obstacles, including scenery-destroying explosives and a new recurring boss character with several different kinds of attacks. Added to this is a new SuperPubble character which can be unlocked through several side-levels, culminating in some intense combined shooter + match 3 gameplay.

The evil boss, usually seen wearing a special helmet!

To help a broader range of players pick up the game, the pacing has changed for the easier in the earlier levels, and Igor (the creepy character on the flying bike) now gives the player some assistance if they appear to struggle on any given level. Ongoing tutorial popups now appear as you go through the levels and encounter new things. The pickups are now unlocked gradually so as not to overwhelm beginners, while the new later levels should provide a little extra kick of challenge for the hard-core and reviewer types, as one or two people have mentioned it was a tad easy to finish before.

To spice things up yet more, several special bendy levels are sprinkled in. These ones seem to mesmerise play-testers into a trance-like state of absorption, which I'm interpreting as a good sign. :-)

The revised online competition mode is looking to settle on a slightly non-level playing field, in the sense that when a player plays competition mode, they have access to the pickups they have unlocked from story mode. The highest pickup the player has unlocked also appears as a badge of honour next to their name in the leaderboard.

With the vast changes to the game it was decided that with this update the player's previous progress will be reset so that they can best enjoy the new levels and story mode as it should be experienced.

Various little atmospheric creatures and objects are making their way into the forest floor and the sky above. This part has been time-consuming so far, but I find it a very rewarding process making up little animating insects and such.

A harmless ladybug which flies around looking generally cute.

Well, that's pretty much all I have for now. Next time I will write an overview of how the graphics and audio for PubbleBop are produced using off-the-shelf tools, and how that stuff makes its way into the game using other custom tools and scripts.

Julian Crooke

Thursday, 28 April 2011

Hello and welcome!

Well, hello, I'm an indie games developer hopeful, and this is my first blog posting ever. I am also a bit of a "cave programmer", so we'll see how it goes, but if there's any interest I will gladly elaborate more on things I have dealt with/done/learned so far in my humble journey.

I intend to use this space both to write a little about my work as an aspiring indie games developer, and also as part of a naive promotional effort to get my stuff noticed, especially since I'm close to pushing out my first game. I also miss the idea of having peers around me in this work I'm doing, and I enjoy reading other game dev blogs around the place, so maybe posting stuff here will give me a sense of connectedness or giving back, or something like that.

Some of my background

I've been into games for a long time. It started with my love for games and demos I had as a child on the Commodore 64, which then turned into a hobby making home-brew games on that platform, and some meddling with the Amiga and a bit of DOS VGA mode 13h stuff. Unfortunately I left game development early in my adulthood, and went instead to work at a real job for several years after finishing uni.

Not all was lost, it was ok there in the corporate wilderness, but now I'm getting myself back on track to follow the original dream of games development, for better or for worse.

Long road back into games

Even though I have not yet released any titles, starting back on this trajectory has already been a long path for me. There was just so much stuff I didn't know about games development, and actually even software development in general when I really looked at myself. That's still an issue to this day, but I'm getting better, and at least I'm not fooling myself much as to what I know and don't know anymore.

My career for a long time did not involve much programming beyond small tools and occasional pieces of specialised algorithms here and there, and then later just enough proper development experience to get me really going before moving on to try games again, but not enough to prepare me for all the trials of developing a larger code-base from scratch. So I began pulling myself up to the next level by reading parts of some decent books and blogs/articles about C++ and patterns and refactoring and all sorts of stuff, and trying to put into practice these things only where they seemed to solve a problem I was having.

There were also deeper decisions that I had to make which challenged all my old ways, such as learning to trust the idea of third party libraries, to not reinvent the wheel as often, to accept STL as being efficient enough for my purposes, etc. It was probably a combination of work environments and mental blocks or denial or something, but it has taken a long time for this C64 coder to make the journey from zero-page memory to shared pointers and growable vectors and deep copies and lists of observers. It still stings when I must let some system library stream an mp3 track while I watch helplessly as it eats my frame rate even though it has hardware decode support. But at least I didn't have to learn how to decode an mp3, or how to implement my own driver for the codec hardware, so it has also been a breath of fresh air really.

So the coding mentality needed lots of attention, but there also turned out to be other skills which I had not thought much about before, such as how to get by with 2D and 3D productivity tools, and which ones to use in the first place, and how to draw anything at all when I'm not an artist, etc. Also I noticed that my maths has gotten rusty and I never was a maths guru, but luckily I still remember enough to get by.

Light at the end

I will continue to struggle with many things, big and small, and on many fronts, not just technical ones. But lately a light seems to be appearing at the end of it all, wherein I have a simple but unique game which is nearing a ready enough state for initial release on the iPhone and iPad. There is also another nearly-done game which has been put on hold until the current game is out there, and both of these games use a shared mass of library code which I have slowly built up over the last 4 years. The current game is a 2D speed-puzzle game (see home page, will update all that soon, with a proper video clip too), the other is a 2.5D platformer fighting game.

It's all nothing grand and it feels like there's not much to show for the years yet, but I'm happy with the small victories and lessons I've had thus far. It's opened my eyes to some things that many devs might think of as basic bread and butter stuff, and still much eye-opening needs to happen, but I'm working at it, and this blog is one more step toward trying to do better and get the dream underway.

Julian Crooke

Boo Radley Games