Saturday, 11 October 2014

Oh YES, it's Honey Bee!

Saturday 11th October 2014 (Work still in Progress)

Poor old Wayne. He designs a new game, creates loads of graphics for it and then awaits a Commodore 64 programmer to write loads of code and then build a finished production. Suddenly the poor coder, erm, okay, me, ends up cancelling projects for some odd reason or something goes horribly wrong. The main casualties were Wizards and Warlocks, Up in the Air, and of course Crash Course.

Next on the list was Honey Bee. When Prime Suspect was working on Wayne's game. Things started to look quite promising. I saw a few videos of Honey Bee WIP, and I also play tested a few previews of the game myself. Just as I imagined this game was NEARLY up to the stage of completion. Disaster strikes. Due to a fatal computer crash on Prime's system, Honey Bee ended up as the next casualty of cancelled C64 game projects. Sadly there was no backup. All that could be salvaged were a few unfinished test previews, which Genesis Project had the pleasure of releasing into the C64 scene.

Honey Bee was almost a game that wasn't, until I received an email from Kenz about this game project. He asked me whether or not I'd be interested in working on this game with Wayne. Since there was the 16KB game cartridge competition announced spring/summer time. I checked out the preview of Honey Bee and thought. "Poor Wayne, his dream projects never seem to come true" and I took interest over the game, although the game will need a MAJOR make over. I tried designing the game with graphics of my own, but they looked too ugly. (See snapshot below). I did however agree to use Wayne's sprites for this game project.

 I started the programming process of the project by typing in the main game code from my head and following some example routines on codebase. I programmed things such as loops, interrupts, level settings, etc using Endurion's C64Studio with use of the ACME cross-assembler syntax. Which I am pretty much familiar with. Plus ACME is one of my all time favourite cross-assemblers for the Commodore 64, since it was introduced to me.

The post-build settings were edited so that I could run the fully assembled/compiled project through Exomizer for the best data compression rate where possible. The programming phase took me about  a few days before my summer holiday started in late July 2014- mid August 2014. The result turned out quite well. The mockup levels were created using Jon Well's Multi-Screen Construction Kit. Each screen was captured and compacted using Exomizer. The Exomizer decruncher source was also implemented into the source code.

 Before the Summer. I was discussing on facebook with STE86 about this game project, (also met him at Revival 2014 in Wolverhampton, where we talked and laughed about The Last V8). He sent me some mockup screen shots of how the game really should look like. The screen mockups then become actual character sets in Char Pad form. I was struggling to build levels at first using various PC tools. They were just unsuitable. I tried another program (Element Editor). The tool did quite well for building background objects, until "An unexpected exception has occurred in your program. You may choose to continue other wise click close to shut down the program". I clicked on continue, saved the work. Rebooted the program. Tried to load the work which I did so far, and sadly lost the graphics data, due to a corrupt file (even the backup). That same message popped by again. Was there any alternative?

As a last resort I decided to go old school and construct each object manually with the aid of Jon Well's excellent Multi Screen Construction Kit utility. What would have took me too much time building levels with CharPad and single 1x1 characters, had actually increased the speed of building objects and place them on screen as tiles. This took a matter of a few days instead of weeks.16 Levels were ready to be captured and crunched.

After new graphics were finished and designed (although they don't look exactly like the original graphics mockups which Steve sent me. They look quite effective. I worked on the main game code, updating the collision settings. So that characters which represented the deadly background will kill the bee, should it collide. Also the enemies will kill the player, using the $D01E routine. This was of course used to save memory.

Level setup is called through a series of tables, in which will also set up the position, speed, behaviour and animation frame of each enemy that is set in the game. Behavior patterns vary from moving up/down, moving left/right to just floating upwards off screen or dropping downwards from the screen. This takes effect on lava rocks and floating bubbles.

There are eight different enemies in the 16KB version of this game. They vary from worms, to bugs and birds.

Then there was the additional programming concept. I needed to get the panel working. Here's how the game should be played:

The idea of this game is to guide Honey Bee through 16 different stages, picking up pollen from flowers and then drop them (at any height) into the honey well. If he picks up pollen from a flower. 10 points will be given. However he won't be able to pick any more pollen until the honey, which he is carrying gets dropped into the honey well. If he drops the honey into the well, 50 points will be scored. Should he drop the honey elsewhere, then he'll have to start the whole level again. Should all flowers hove no pollen left, and Honey Bee drops the honey into the well.  A bonus set of points will be added to your score accoring to the amount of time that remains. If the bonus counter reaches 0000, you'll simply get no bonus points.

Honey Bee has a clumsy nature, and has to watch where he is going. Should he bump into a wall, rock, falling water, nettles, or moving nature creatures, he'll get hurt and fly away. Should he fly away, a life will be lost. This game is not just about picking up plants and avoiding enemies, but it requires precise timing and planning. A sort of a puzzle game one way or another.

Progress so far reports that Honey Bee is nearly complete. There's currently 12 functional levels so far, and just 4 more to do (putting enemies in place, setting up animation, behavior and getting them to move in the last 4 levels.) Hopefully the other 4 levels will be complete by the end of next week - which will result to just the final phase testing and bug-fixing, before entering this humble bee into the RGCD 16KB Cartridge Compo 2014. WARNING. THIS GAME WILL CONSIST OF BUGS - LOADS OF THEM - NATURALLY :)

Due to the size of the data and the code. The title screen is VERY basic and consists of 2 sprites for the logo. Some credits, with nothing else happening, except for animated bees next to 'Press Fire to Start'. Crediting myself for code, Ste86 and Wayne Womersley for main graphics and sprites, and Joachim (Yogibear) for the excellent music.

Despite that my spare time is going to be cut even more from tomorrow through to Christmas time. I am still happy to announce that Honey Bee WILL get finished in time for the competition deadline. Hope you reach the bee line for 1st December 2014. The bee will be unleashed from its honeywell. Then in 2015, the game will be expanded more with additional bonus levels, a picture by JSL and of course a better presentation, game intro and game ending (Of which I was unable to fit into the 16KB version of this project).


  1. Prime Here:
    Hi Richard quite awhile since we've talked I appreciate the story love reading other programmers thoughts,insights.
    Hearing you had problems with charpad,i absolutely despise msck so in some way I can feel you pain here and will never work with it again(Thanks my friend for all your help with char data).
    One of the things I did incorrectly which bothers me still, I didn't comprehend the open space of the game.
    Wayne didn't have a design for the gameplay and neither did I so we went with spit balling ideas. We tried to correct this by having the player in tight spaces(tree's, caves rocks, with basic logic patterns that would cause the player to use timing)with Wayne's idea to have constants gravity on the bee made it abit more challenging I choose to handle the bee's animation so as the player nulled the joystick the bee would idle with gravity.
    Quite pleased you decided to keep Wayne's objects in the game and it look's esthetically pleasing to the eye. Very sad reading the lemon forum and the same member posting something about the lines of finally proper graphics. A Complete shot at Wayne yet again,good job Richard and Wayne if you read this HELLO!.

    1. Hi Richard, Am GUTTED we never got to Finish the Original HONEY BEE - You are quite right I did not Plan the Game as such, to be honest I always imagined it being quite Open Plan like "REAL LIFE", but of course you need Mazes, Structures to Create a Challenge for the Player. I chose to ignore the "TROLLING" on Lemon, I see it like this - Until Someone Draws Game Graphics they have no right to Criticise other people's work. Anyway, If you would like to work with me on that BALLOON GAME you suggested to me let me know - I have DISKS of Graphics Ready and waiting !!! But this time I have a Game Structure for the Game. Wayne