As we are getting closer to wrapping up the initial version and release of CoCo Cosmic Aliens in BASIC, I thought I’d share some of the tools I’ve been using and what my development process has been like, which has actually evolved quite a bit over time!
Paul Thayer’s Sprite Editor
The most impressive part about this game so far are the actual graphics, and, the ease of use in which they were produced was thanks to a custom pixel editor tool given to me by CoCo community member and pro coder himself, Paul Thayer. Paul has recently release the commercial quality game Timber Man, and gave me a custom version of a tool he used to develop things for some of his earlier projects. I chose to keep all my designs in an 8×8 grid, so he tweaked the program to match the resolution of my game, the color mode, and the ability to save the screen shot directly as a BINary file to disk, that I can then load in the game, and quickly “get” all the images off the screen I want, to be able to “put” them on the screen later as my game objects or sprites.
I ended up with eight different alien spaceship designs, actually the first ship had a few variants, but only used one, and all 8 of those ships are in the game. I designed 5 different asteroid shapes, but in the interest of time, speed, and laziness, I’m only using one. I have a high tech apostrophe for a laser, a fancy asterisks for an explosion, some bombs, UFO, and the player’s space ship. They are designed using 8×8 “fat pixels” but actually take up 16*16 real pixels of screen space, the graphics mode I’m using effectively doubles what you see and scales it, but BASIC always processes the entire screen as if it were a high resolution 256*192 screen, even though I’m only using a quarter of that. The fat pixel look really adds to the retro look and feel of the game, and this low resolution mode also helps the game run at a fairly decent speed, for BASIC, anyway.
I’ve been using MAME as my Color Computer 2 emulator, and I started by hand typing in the program, using the built in BASIC “editor” and limited 32 column by 16 line display, this was a tedious process. At some point, when I had written an updated fonts routine that needed to be merged with the main game program, I reached out to the CoCo Facebook group for some assistance in this area.
Enter: John Strong and Disk Tool
John Strong gave me a copy of a work in progress editor he’d been working on called Disk Tool:
Disk Tool has many benefits, the primary one is the ability to use my PC and a full screen notepad style editor, which has all the features you’d expect from a tradition text editor, including search, find, replace, copy, cut, paste, etc., and the ability to choose from a variety of mono space fonts for ease of reading..
With Disk Tool I was able to copy and paste code between programs, and make further additions to the game much quicker and easier. In the process of using the tool, I was also helping John debug it, and was able to put in some feature requests. When I first started using the tool, once I was done editing the program, I’d have to close the tool to un-mount the disk image, so I could open it in MAME, this was a multi-step process. John later added the ability for me to launch MAME from the tool, so it would un-mount the disk from the editor, launch it in MAME, allow me to test, and tweak, and any changes were saved directly back to the same disk image, so I could do some spot editing on the CoCo and have those changes saved, too.
The edition of the “launch” button, has basically tuned this tool into an IDE (Integrated development environment) for Disk Extended Color BASIC. There are a lot of other benefits, too, I can copy a single program from a disk image to my PC, or reverse, I can create new disk images, move files between disk images, and more, so it’s a very handy tool for rapid development, especially when working with emulators.
I have been able to quickly change variable names in the entire program with a search and replace, I can search for where a variable or statement is very quickly, I can copy and paste sections of code to other areas and just change line number to re-use a modified version of a routine, and so much more. Having a real editor is such a life saver, having to code on the CoCo is very cumbersome.
My next plans are to start testing the game on real hardware, to see if there are any speed differences between the emulator and the real CoCo with BASIC, as well as possibly hacking together a CoCo 3 patched version of the game with improved color palettes, and maybe, even some speech and sound pack support!