Jams Jams and More Gameboy Jams

So, October has been a pretty intense month for game jamming, with two jams co-inciding with each other at the very start of the month the amazing GamesForBetter Jam hosted by the lovely SoGoodStudios and Sizeable Games, handily encompassed by GBJAM5 where developers make a game based around the general theme of the Gameboy. But, let talk about the Games For better Jam first, it was pretty eventful after all!Things started off in a fairly compromising fashion when I realised that I had packed literally everything I would need with the exception of a power cable for my laptop. Big mistake and thanks again to the lovely Jupiter Hadley for sorting me out with that one, you’re awesome!Our group constisted of 2 coders and 1 artist. What with both our coding skills coming from very different approaches I made the odd call to make a live demake of the PC game programmed by Tom who did a great job turning code and gameplay around with amazing speed onto the gameboy.

A fairly tall order for two days but I figured it would be pretty cool and unique way to tie things in for the GBJAM that was also running at the same time.

I was unable to get any code underway until ~midday on Saturday but we were able to get a really solid concept going of essentially a bullet hell shoot-em-up where you have two weapons, one is a standard peashooter, not too great but does the job, the other being a wider, more destructive shot from a slowly replenishing ammo source, which when fired can destroy bullets and most enemies. The trick being that using this too much will make more enemies indestructable, linking the game into the theme of anti-biotic resistance.

With time running out on the 2 days worth of Jam time, we had a really playable version on the PC with 10 seperate levels culminating in a boss fight which played really well but was a struggle to capture any real footage for oddly. The gameboy version lagged behind but had 10 very similar but slightly different levels and a few bugs.

It was a great Jam and the first time I’ve worked as part of a team in one of these events, it was great fun and whilst we didn’t get picked to be played at the event, I felt the game would be worth continuing development on for the rest of GBJAM5.

So, a trip back home from Plymouth, catching up on some sleep and a few play-throughs later, I’d decided what I wanted to add to the game.

  • Bosses
  • Bug-fixes
  • Pausing
  • Gratuitous Sampled Sounds
  • A pre-title screen to show off said sampled sounds as a little easter-egg.

Now being back in a home environment meant that coding time was more scarce as there are many other factors at play, not least the trips to work, awesome family times and the joys of housework. Late night is really the only option for coding @ home šŸ˜‰

I had managed to write a tool in PHP in previous weeks to convert an 8-bit 8,000Hz RAW wave file into 4-bit, 4,000Hz but hadn’t really played around much with it, aside from verify that it worked. So, it really needed to be in the game in some form. Making a talking intro screen game boy announce “Game” “Boy” “Jam” “5” seemed a cool idea and fit in quite nicely with some more advanced bankswitching for me. It worked pretty well as a little novelty before the main game and I’ll work on making this play nicer (without game pauses) at some point.

Bosses were fun to play around with and got tougher as the levels progress. They use fairly simple movement patterns but fire a viscious amount of bullets on screen, some later bosses are supported with standard enemies to up the difficulty some more and all squeezed into the main ROM bank with space to spare.

There were some minor bugs with the GamesForBetter version but this was mostly just the score not resetting on replay and a couple of sound bugs due to me not resetting registers at the right point in the game loop at times.

So, August and me coding in GBDK didn’t really happen.

Yeah, yeah, I didn’t even update this blog either. For over a month!

But, that doesn’t mean I’m stopping gameboy development, far from it. There’s plenty of games I need to finish off before I move onto tackling 6502 ASM again in October / November.

There’s quite a list of them now, how does it always end up like this!

Formula Racing.
It’s nearly all done, but just needs a bit of polish and better ROM bank management.

I Shall BeĀ Queen.
I’d really like to add that boss fight in there sometime soon. Then I’ll accept it as complete.

Shield Warrior VII.
It’s a small game I attempted to make for Ludum Dare 36 during the bank holiday weekend, but life and family fun was way more important. So, I need to finish this one off soon!

Ayasumi Todayachi.
A horizontally scrolling shmup with alternating weapons.

Space ‘splosionator 2086.
A quick Whack-a-mole type game. But in space!

They Are Everywhere.
I’ll come back to They Are Everywhere again sometime again. I feel it needs re-programming now I have a better knowledge of the system as opposed to in October last year.

Roll on September!

Bit Bit Jam 3 Post Mortem

Hiya. I’m Ryan Carson and this is a lil transcript for my video about “I Shall Be Queen” for the Gameboy and Gameboy colour, made in 1 week for the 2016 Bit Bit Jam. This is the first game jam I’ve entered which is entirely dedicated to retro console development and Has been lots of fun to take part in.

The chosen theme this time around was “Red Hot Princess Carnage”Ā andĀ resulted in quite a variety of games being made for systems dating as far back as 1976 / 7.

Early Dev Shot- Lots left to work on still here! I think this was on tuesday / wednesday…

A you can see I ended up making a double-dragon style beat-em-up where you play a princess character, out to steal control of the kingdom by yoinking the queens crown.

The game takes place over a total of 3 stages with enemies getting tougher as the game progresses, starting off with basic slimes, moving onto snakes, floating eyeballs and arrows being shot through the stage at you.As has been mentioned a few times to me now, hitting the enemies is considerably tougher than it should be, mainly down to the height of the enemies being less than your primary punch attack.

With a bit of skill, you can manipulate them to wander down into the punches and there’s always the simpler jumping kick and mana consuming ranged fireball you can throw with the select button.I started off with a simple base code consisting mainly of collision detection and fader for the monochrome gameboy and the rest of the code was written during the week.

I was really proud with the pixel work I could put into play with this game, particularly for the main character, although, using such a large sprite for her in-game meant I had to dedicate 18 tiles per animation frame. Not good when I need to consider enemies, power ups, etc.

I could have a maximum of 14 unique framesĀ but ended up with a total of 10, comprising of:thegrid

  • 1 Standing Frame
  • 3 Walking Frames
  • 2 Punching Frames
  • 1 Jumping Frame
  • 1 Kicking Frame
  • aaand 1 Death Frame

That’s still the majority of the 256 total available to me, leaving me with only 76 tiles to put enemies into!

I wanted to have some variety to the enemies with at least some animation so opted to make the enemies fit into 4 tiles per animation frame, with a maximum of 4 animation frames per enemy.

There’s 4 different enemies in-game, so that’s adding another 64 tiles, leaving only 12 (well..okay, 16, one enemy had just 3 frames to save on space)

The remaining tiles were dedicated to power ups, shadows, visible punches and kicks leaving a paltry 8 spare tiles at the end, I was really pushing the limits to what I could use here and many other scenes went the same way, it was tough trying to cram it all in!

Somehow it managed to fit in though and with a few sneaky tricks to reduce cpu usage, not checking for certain hit detections on every frame, etc, etc. Further code reductions to allow the main game code to fit inside one 16kb bank, the game squeezed into it’s available space.

queenspritesandconvI was hoping to add a boss fight with the queen towards the end of the jam but, despite having prepared some sprites, simply ran out of time and ROM space come Monday to add this so, had to replace it with some rather odd dialogue scenes.

All in all, I’m pretty happy with the way this game turned out. I’m tempted to round out the remaining bugs and add that boss fight at a later date but yeah, a few flaws but, it plays pretty well and looks better than I thought it would!

Heck, I even managed to add some requested scenes from a guy at work’s request, but you’ll probably need to view the code to figure it out šŸ˜‰

Why not give it a quick play through at Gamejolt?

Click here to Play Me I Shall Be Queen

Oops, err yeah, the video, I’ll be uploading that one shortly ;P