Lets start NES Game#2 Untitled Bee Game!

Right, so, begun the next game, aiming for a simpler game to program this time around, with a few variants on play styles.

It’s gonna be a spin off the QBert style of games where you have to turn all the blocks a certain colour to continue.

In this case, your bee must collect all the pollen from the flowers and returning it to the hive up to 5 at a time, whilst being attacked by Wasp stingers, Birds and Crabs.

It’ll be playable by 1 or 2 players, with there being the option of 2 players playing co-operatively to beat the levels, or against each other in a single level basis, one person controls the bee, the other controls the wasps. (I’m thinking D pad to move them all around, A button firing vertical wasps, B button firing horizontal wasps.

The difficulty curve should some from starting off with slower, fewer wasps, before increasing the number and aggression of them, before introducing more enemies as it goes along.

Below is a pic of the game screen in-progress from inside a NES Emulator, lots to get on with but lots done today!

Finally Done!

All the levels are set, a few unbeatable levels have been fixed up, a few, easier levels have been toughened up and wow, hardest mode is so damn tough!

I played through each level (1,024 of them) and noticed a couple unbeatable levels which, really wouldn’t be suitable to leave in, so some manual overriding of the generator was required. Thankfully, not for many levels. There’s just over 5kb of space remaining and that’s fine, I’ve used up enough space of the 40kb available (well, 32kb as 8kb is reserved for graphics)

I’ve learnt a lot about 6502 ASM, the NES and developed a few techniques over the years making this game. It’s been a tough, emotional, thing to make. Having no experience in ASM code beforehand, aside from a couple days prototyping stuff on the Atari 2600, which I quickly gave up upon, I developed a lot of bad habits and I’m sure that if anyone looked through the code they’d be shocked as to see how this game was coded up.

Looking through it all, I can clearly see where my initial code was and while it’s functional it’s not particularly great / optimized.

I’m going to sort out my generic functions from the rest of the code tonight and roll that into the next game, which I’ve been wanting to start for a fair while now, I mean, I already made a prototype for it on the Gameboy whilst this game was in early development. Whew…It’s been a while.

Nonetheless, I am now a lot closer to crossing off what was probably my first game dev ambition, which was, as I’m ure a lot of 80’s kids ambitions were, to make and release a game for the NES.



5… 4…3…2.5…1.5…1…2..1 Bugs… 0 Bugs Remain!

Thankfully, 6474…now 6481…now 6486… now 6419.…now 6061 bytes of free space remain also. Win!

Had a redesign of the ending sequence this week and whilst going through the game I noticed a few bugs that had cropped up which I’d forgotten about or thought wouldn’t really happen.

Yes.. Yes they will happen. sort them out!

So, you can game over… on the title screen.
Yes, I know, I kinda wanted the title screen to be a little bit interactive so you could fly Flappy around whereever and nothing bad could happen but, that’s just not the case, so, gotta reign that in.

Flapping momentum carries post death.
Not a big thing you’d think. Unless n enemy is over your spawn location and you still have some upward flap momentum to go ,in which case, wave good bye to all your lives pretty dang fast! Should be easy to fix mind. Just a couple LDA, STA commands I bet. – Done!

You beat the game. but..the high score didn’t update?
That clearly needs to be sorted out. – Done!

The level name generation always contains Dungeon.
I was being a lazy developer and just sorta left that in there from early days. Again, just a couple LDA, STA commands hopefully. – Done…ish, need to shorten some level names, no worries, caterpillars now become unicorns. Layla, this is for you 😉 Done!

Ending Colour Screen still has issues.
It loads up and plays through happily from the initial screen but somehow not on the actual gameending screen. The colours get borked and the music plays double speed somehow. Gonna be an annoying logic bug in there I reckon. – Done!

On level load Flappy has no head for a few moments.
Should be easy to fix again, just inject the right code in the right place. – Done!

Ending Sequence needs a rectify of the credits.
Things have changed, gotta sort them out again. No biggie.

Lunar Enemies aren’t looking where they’re going initially.
I guess I’ll just have to init their directions to be north initially… or something, not sure, again shouldn’t be much hassle. – Done!

Lumar Enemies Hotboxes are too large
They are just too large. by a couple pixels either way. should be easy to fix with a quick case check – Done!

On the plus side, it’s feature complete, not adding any new features to it now, it’s getting a bit risky with space reamining and there’s a few bytes scattered all over the place so we’re looking at more like 5kb spare I’d imagine. Here’s hoping I can cram some code in this week during the evenings after the day job.