Sunday, November 12, 2006

Programming & Progressing ProSonic

I've been able to work more on ProSonic lately. I have completed the new PZF format and have successfully written the library to load, save, and compile PZF files. This is a major step in the development of this project because as I've said before, PZF files are part of the backbone of this project. They contain all the level data like object layout, block-maps, tile-maps, palette, and so on.

On top of that, I have designed a sprite format to be used by ProSonic. Originally I had stated that games using 16-bit color wouldn't be able to load certain types of data from 8-bit color games, and vice-versa. I can't guarentee that won't still be the case to some degree, but I can safely say the new format for sprites is the only format that will be used by the engine. It will work in both 8-bit and 16-bit color modes. It has a sophisticated design that also includes features such as built-in color cyclers and multiple palettes that can be activated on a pixel-by-pixel basis. This will simplify development so there doesn't have to be a standard "reserved" set of colors that are always in the same place in every palette. My format allows ProSonic to locate the colors used for the image and draw it accordingly, regardless what the color indexes are. Of course it also contains data specific to 8-bit color mode so it automatically knows what index it should search "first". And if a color isn't found, ProSonic will grab the closest color to the one it's looking for.

I will also be writing a library for drawing the sprites and tiles because it has become too complicated to rip code from the engine and use it in an editing utility. The problem is I always find myself searching through the code for incompatibilities to work out so the code works the way it should in the specific utility I'm using it in. If the code gets updated, I have to update it in every utility. So a library specific to graphics-related operations is essential.

Once I get all this kind of stuff sorted out, I can get utilities out much quicker and make developing ProSonic less painful. As long as I have the time, I am committed to continuing ProSonic and making it people's choice for a game development environment. I know a couple people don't take me too seriously because they either have something against me, or they simply need interactive proof. I'm trying to get there, but every project needs to go through a bit of a clean-up period sooner or later.

By the way, I haven't forgotten about those questions. I just haven't quite gotten around to answering them yet. I will do the deed, I promise.


Anonymous said...

Way to go Damian!!!!!!! :D :D :D

Anonymous said...

Wow, Great Work Sax! Keep It Up! When can we expect a BETA?

Damian said...

You might just get a beta. Lets hope.