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.
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:
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.
I 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 😉
Right, a few more changes have been going on under the hood of Formula Racing, including an overhaul of the A.I. which was a lot more predictable than in the current version, the A.I. can now branch into different paths depending on the track layout and is a lot less likely to crash into things as a result. So you really need to plan your overtakes now!
This has called for a redesign of some of the older tracks to handle this variant of the A.I. which has turned out to be a great blessing, with a lot of optimisation in the code now present to reduce CPU usage I’ve also weeded out some unneccessary lines of code and removed the speed overflow bugs that were present.
These bugs caused boost pads to stop the car and crashes to occsionally accelerate the car instantly to it’s top speed!
While this is all good, it’s resulted in the game becoming much tougher than before, unpredictable A.I. really puts things into a twist.
There have been some graphical changes to each course group also, billboards, trees and other elements being locked to each group help to give each track a slightly different feel, which is pretty nice!
The password system is almost there for Grand Prix mode and I’m working on a custom sound editor in the background just for the hell of it.
GBDK and sound can be a pain in the arse, there’s lots of ASM based solutions but GBDK could do with something, however basic it comes out initially. Unobfuscating the process could result in more games with soundtracks in, which would be nice!
There’s a couple of little A.I. bugs to sort out still but they should fit in nicely with the ~500byes remaining. I’m hoping to add a car explosion effect also in the remaining space!
Oh my gosh. it’s 1am, time to sleep, will post again soon!