Monday, 18 May 2015

Conga Continued

It's been a few weeks since I last wrote about our adventures in game development, and although Jamie and I have not made quite as much progress as we'd hoped, work on Pan-Dimensional Conga-Combat has continued to move forward. Oh, and we released a new C64 game too - but more on that in a bit.

So what's new? In the previous update I explained how we were using timelines to synchronise in-game events to the soundtrack and discussed some of the problems we were having with 'frame-slippage' on less powerful hardware. Thankfully, this part of the project is now complete, and Jamie even fixed the sync between the game and soundtrack by incorporating a frame counter that starts as soon as the timeline and audio playback begins. This 'timer' is then compared against the current position in the timeline every frame, and if there's a difference the game simply jumps forward and realigns itself.

There is of course a small risk that the game will occasionally miss scheduled events, but so far the method seems to be pretty bullet proof and it's a huge improvement over what we had before (where even something as trivial as alt-tabbing out of the game resulted in everything falling slightly out of sync).

Jamie also spent a good few days completely rewriting all of the level handling code and the way that Conga handles those eye-catching background animations. Previously, I'd coded the game to use huge 640x360 full-screen animated sprites for the backgrounds (which were then pinned onto the 3D mesh) and although this worked, it was far from efficient. The main issue was the time it took for me to create these massive sprites - some of which had up to 40 frames of animation.

The new system uses a tile set for each world, then a reference map for the base of the level (all of 20x12 in size, with coloured pixels representing different floor tiles). The game now takes these maps and uses a simple black and white 20x12 animated sprite to determine the positions of the light and dark variations of the floor tiles during run-time. Aside from the reduction in file size, the main upshot of this is that whereas it took me a couple of hours to create each level animation, I can now knock them out in less than 10-20 minutes!

In addition to completing work on the timelines for each track, the main bulk of the work on the final levels (dimensions 3 and 4) is done. Dimension 3, with it's swamp/jungle/organic theme, was particularly challenging to develop; to give the level 'life' we decided to add two independent groups of glowing fireflies that move between fixed, pre-determined points on the level whenever the timeline calls an RGB split (typically every 8-16 bars, then more frequently at key points in the soundtrack).

This involved Jamie revisiting Blastard Squad and borrowing the same code that controls the cannon-fodder swarms of mini-robots, then heavily editing the flocking behaviour and AI so that the fireflies moved in a more organic and 'floaty' fashion. Overall it took us a whole day to get right, which is kind of frustrating as it's such a minor detail that it'll probably go unnoticed by people who ultimately end up playing the game. But, that said, the final result looks so great that - as far as I'm concerned - it was definitely worth the effort.

With dimensions 2 and 3 now both having additional environmental effects (neither of which affect gameplay other than being mildly distracting), and smoke vents pretty much finished in dimension 4, we had no option other than to return to the first level of the game. Luckily, in addition to designing the game's front end, Folmer had also been thinking along these same lines and created a set of fantastic stone face tiles that vary in expression between the light and dark sets, giving the illusion of crude animation when background pattern moves over them. Again, it's such a minor detail, but the difference it makes to the feel of the game is huge.

One of the things that concerns me a little is that despite all it's clever tricks and neat effects, Conga is still essentially an incredibly simple arcade game with very little depth. Every time I work on it I find myself asking “will the achievements system and level unlocking be enough to pull people back over and over again?”

Conga is undeniably fun to play, but any moderately skilled player will have unlocked all four dimensions within half an hour in casual mode, leaving only the hardcore arcade mode and multiplayer battles to fall back on. The old-school, rational side of me retorts “well, what do people expect from a game that costs less than a fiver!?” - but sadly we all know that the market and people's expectations have changed radically from back when asking £5-10 (and upwards) for a 'shareware' game was the accepted norm.

I suppose that in theory we could push out additional content in an update after the launch (if there's adequate interest in the game to warrant it), but I guess we'll have to see how it weighs up when all the component parts come together. Adding more 'dimensions' for example, would be a simple way to extend the content (as long as we can source the music for them). One thing's for sure, regardless of our self-imposed deadline for this project, I really don't want to see it released before it feels complete.

Talking of completed projects, I'm hyped to announce that I have the cartridges for Gravitrix sat beside me on my desk, all ready for launch upon the unsuspecting Commodore 64 community - I just have to finalise and print out the little manual booklets and we'll be ready to go. We had a minor technical setback last month (the box inserts had the spine label printed upside down), but the second print batch has arrived so they should be ready for sale next week. With any luck, Nils' clever little puzzle game will prove to be as popular as TRANCE SECTOR ULTIMATE - of which all 50 copies have now been shipped out to their respective new owners.

It's incredibly difficult to juggle my day job, family life, game development and the C64 side of RGCD.DEV, but over the past couple of months I've come to realise just how important our Commodore 64 releases are. Without their small yet steady source of income (both via cartridge sales and dontations), paying for new game assets for Conga and our other projects would be so much harder. Following Gravitrix, the next games currently being prepared for launch include competition-winner p0 Snake, arcade style basketball sim Jam It, one-button masterpiece Pixel City Skater, and a few other secret projects that are still in development - so it looks like it will be a busy summer!