Previous Blog Next Blog
Prev/Next Blog
by date

Plan for Ross Turner

Plan for Ross Turner
Name:Ross Turner
Date Posted:Nov 03, 2005
Rating:Not Rated
Public:YES
Comments:YES
RSS Feed:GarageGames Blog feedor Subscribe with .
Profile Page:View profile page for Ross Turner

Blog post
To PNG or not to PNG?
Well I've realised I should be keeping some sort of blog on my development of Bit Riot (remake of 1992 Amiga game Bugbomber, very Bomberman-like, but with extra fun features). I think you can find the project description somewhere from my details.

Well anyway, the graphics in the game are entirely tile-based, so each character has an image file with all their frames of animation (pretty similar to an RPG-maker character sheet). I've been storing them as bitmaps purely because of using the DDUtil function to create a DirectDraw surface (yeah I know, I'll move on to DirectGraphics next project) from a bitmap file. This has worked well enough, using RGB(0,255,255) as the transparent colour for blitting. The only real problem is the lack of an alpha component. If I could use alpha transparency (which appears possible with DDBLT_ALPHASRC, but a lot of articles say DirectDraw doesn't support alpha transparency, maybe they're referring to old versions? Help on this would be appreciated) to give alpha-blending blitting, I could do away with the hard edges on the sprites. Would make it a bit nicer and any artists would probably appreciate it. That and bitmaps are horribly uncompressed. So then, this all lead to me trying to incorporate a C++ png support library for writing my own DirectDraw surface loader from a png file. After much confusion from figuring out multiple APIs, I eventually got something half-working. The png loader can deal with normal RGB 24 bit PNG files and put them into a DD surface, but when I try and use a png file with 32 bit colour depth (including alpha) the library function goes horribly wrong. It's open source, but stepping through the source doesn't help much. Maybe paint shop pro is saving the transparency in a weird way? Anyway, i'm going to leave it for another time. At least I could migrate from 24 bit bitmaps to 24 bit PNG files, which would cut down on filesize a lot. Might increase initialisation time for the engine as it deflates the png files, but I doubt there would be a noticable difference in speed.

Well that's pretty much all I've done so far today (plenty of time left though :D) other than testing setting a player character's entity's "walkThroughWalls" flag to true, which worked perfectly. Must remember to try including a powerup that lets players walk through block walls for a short period of time. Should be fun :)

The next stage is to start filling in the functionality for basic entities like bombs (which is the only thing I've done some tacky programmer art for) and mines, and explosions. Should be fun. Must remember to include some debugging/player info to the side of the screen (to eventually become the player information panel). Either that or start to implement DirectSound. Which is tempting. Probably easier to get hold of some free sound effects than drawing more programmer art. Artists! Help meee. Please?

Submit ResourceSubmit your own resources!

You must be a member and be logged in to either append comments or rate this resource.