Some more work has been done on the game framework. This time working on the original 16 colour version. Various tweaks have been made and some new features.

The engine now allows you to specify which layers can collide. Each update it will use this information to check for sprite collisions. It’s quite basic so if a sprite has collided ( pixel perfect collisions.. none of that bounding box rubbish 🙂 ) the sprite collided flag is set. The game can then decide what to do about it. What you don’t know is what sprite you collided with. That may come later if I need it.

You can also now Write Strings centered horizontally and you can do write to any bitmap. It’s still a bit of a hack add-on just to get the game done. Will revisit this at some point.

Sprites can be given a lifespan ( in frames ). If supplied then this count will decrease each frame and when it hits zero the sprite will be marked as dead and removed.

You can now delete all sprites in a layer.

Finally to test all this goodness I have released another Game Listing. Flappy… based on the Flappy Bird game which appeared, went ballistic and disappeared faster than I update this site. This is an actual complete playable game this time.

Go ahead… visit the page.. grab the code, save it and try it… and then improve it.

Simple Platformer
Simple Platformer

As is the usual for me I haven’t posted anything here for ages !. It must be almost Christmas.
I have been busy though. Messing around still with the GameFramework. After several iterations I have something approaching useful… at least useful for me.
I recently also adapted the GameFramework to run as an original GameBoy, complete with visible pixel borders and ghosting.
As a working example I have created a new menu section under html5. I call it Game Listings and in here I intend to post the full source code for sample games. First up is Simple Platformer in Original GameBoy style. This is a fully stand alone .html page. Simply type it in ( I’m kidding!.. copy/paste is allowed and recommended ). save as an .htm file and run in a browser.
After that you can view the source and edit if you wish.


I seem to have had a half decent response to the game so I decided to devote another 6 hours to it.
Click the QB Galaxians link in the menu to find the latest WIP version.

Current New Features are :
Graphics for enemy and player explosions.
Less prominent stars. They are nice and colourful now too.
Some sounds which can be toggled with the S key.
The sounds are for player shot, player explosion and enemy explosion.


Additional :
Font background is now transparent
Font changed to a thick CGA font.

There was a distinct lack of interest in the tutorial so unless I feel the urge or someone expresses an interest it has gone on hold.
The asteroids game… well… I have lost interest in that too… no one else seems to be interested either so no loss there.

On a more positive note I have discovered the joys of being a MonkeyCoder 🙂
I feel I have learnt it enough to give a go at writing something with it.
I have decided to try writing a galaxians game with it. Rather imaginatively I have decided to call it QBGalaxians. Who says I lack imagination !?

I have also decided to try doing things a little differently this time. The whole project is run as an Agile project. Given the amount of spare time I have I figure 6 hours of work per Sprint sounds reasonable. I can get that much work done in a week. I have also given myself a deadline. I have limited myself to 4 sprints. The comes out as 24 hours work.

The whole game has been broken down into stories. A story can be anything from a 15 minute to a 2 hour coding task. I pull in 6 hours of work per sprint of work. When coding I will not deviate from the list of stories. No sneaky extra features. With everything time boxed I cant afford to faff about. To ensure I dont get carried away I have restricted myself to finish the game in 4 sprints. 24 hours sounds like a nice deadline.

I have just completed sprint 3 and it is looking pretty close to a finished game.









If you want to see the progress click here to run the html5 build of it.
Once you are in the game use the cursors keys to move left right and Z to fire.

Work is about to start on the fourth sprint. I have had to be pretty brutal to pick what makes it into the game and even more brutal in this last sprint to ensure I pick the absolutely necessary stories.

It wont be the perfect game I initially envisioned. If I am going to be honest if I were to try and get it all written then there is every chance it would never get released.

It will however be finished. If I feel like it or if anyone expresses an interest in the game then I may run more sprints to enhance the game.

Otherwise I will move on to something else.

QB Asteroids - Now with sound... sometimes

Its been a long time since I have had any time to look at this code so I figured I would just post up where I got to.

This is pretty much the same game as before but now it tries to play sounds. In keeping with the rest of this project the sounds are not an external resource. It is all generated with code.

It sounds a bit raspy in Chrome and Opera remains silent.

Still… its progress of sorts.

You can find this latest version here

The time between updates is huge but this is still being worked on.

My current goal is implementing some sort of sounds. In keeping with the general theme of ‘no external media’ the first challenge was how ( if possible ) can you create and play a sound in javascript. The answer is that it is possible. You can create a wav file in memory and then get the audio tag to reference it.

A big thank you must be given to Steven Wittens (Here) for showing how this can be done.

 The bad news is that for some reason Opera doesnt want to play ball. So for sounds I am now reduced to a list of Firefox, Safari and Chrome as browser platforms. I’m hoping that eventually Opera will fall in line.

 Of course next I needed some way of generating sounds. I wanted to work it out for myself and I have something that allows me to make something approaching usable sounds. There is also the issue of having several sounds playing. The control of the audio tag is still currently very limited so I need to try out a few different ways to come up with what I think works best.

The code I have is still very much rough and ready and until I clean it up a little bit I dont want to release it.

So… to sum up… I have something… but Im not sharing… yet.

–> Here <-- is the latest version of my version of the arcade classic asteroids game written using the Canvas tag introduced in Html5. New features added this time are : 1. Big UFO makes an appearance. Note : It doesn't actually shot yet. 2. Hyperspace works. You should not appear inside any object. 3. You now start the game with 3 lives. You will only re-appear after losing a life when it is safe to do so ( as with hyperspace you will not appear inside an object ). 4. When objects are destroyed debris is produced. Comments / emails are always welcome. Let me know what you think.