by Logan Everett (E-mail Me)
#8 - Development Journal
Lately, I've been spending a lot of time working on Krazy Shapes 2000 (rather than updating the site, sorry). Thus, I will use this editorial to fill you in on how the current version varies from 2.0. I had planned to release a version 3.0 but never got around to finishing the beta tests, and when I went back to it, it just didn't seem good enough anymore. The current version as it sits on my computer is 3.1 and won't be released until 4.0. A quick side note on what tools I've been using.
Version 3.0 contained nothing new in the way of gameplay, but featured a theme system that allowed the player to change all the graphics (startup screen and shapes), as well as the colors of each individual line used to highlight the shape. The game was to be released with several themes and contained an internal editor for making your own. The new version will still be released with multiple themes, but I haven't decided whether the editor will be contained within the main executable, or be its own program.
Most of the theme editing process is done outside of the program (the creation of the graphics), anyway. The theme editor mainly focuses on organizing the images and creating a file that tells the game which images to load. The image files must still be included with the theme file.
The main difference in version 3.1 is the graphics system. First I developed a general-purpose library of graphics functions. It uses real Windows API calls (bitblt and the like) rather than the slower Visual Basic functions. Then I reworked the interface so that there is only one big picture box rather than a grid of 16 small ones. Each shape image is now 64 pixels in width and height instead of 50. The layout for arranging shape images in one large file was changed to accommodate masks (more on that in a bit) and the target image. The target image is used to show which shape is currently selected. A theme now requires three images: the startup screen, the shapes, and a background.
A timer function draws the background and all the shapes onto a non-visible picture box, then copies the final image onto the visible picture box. This is done to avoid flickering. Masks (black and white images that tell the program what parts of another image should be transparent) are used to "cutout" the shapes so that parts of the background still show.
Here are a couple of shots from the game:
Page Updated: 5/29/00