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.
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.
The next tutorial is up. This one takes the code we had in part two and refactors it so that we have a GameEngine object that does all the canvas manipulation and exposes a simple interface for the game code to use.
I had some feedback that the game seems way too easy to play. I have tried to rectify that. The ship controls are a lot more sluggish. Its not so easy to just get out of the way of the rocks.
I also have a test large UFO that come in and fires in random directions.
Why not give it a go and let me know what you think.
Im enjoying using Monkey so much that I thought I would convert my Asteroids game. It’s all going pretty well. I have most of the code converted now.
Wanna give it a go ?.
Select it from the menu or click here
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.
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.