Title: Serious Aliens
Genre: Top-down Shoot-em-up a-la Gauntlet, Alien Breed, Chaos Engine
Language: Blitz Basic 2
Extra Info: Please see
the project discussion herePhase One:Graham kindly supplied me with a copy of Blitz Basic 2 to sink my teeth into, and after some time getting it set up, i set about crawling through some example code. My first aim, being to learn how to do the things with Blitz I am comfortably doing with AMOS Pro.
My first hinderance came in the form of OctaMED playback. I'm insistent on using MED because i've already written most of the music for the game in that format, and conversion to PT didnt quite have the results i wanted. I did try that, and in the process got familiar with how to add new commands into Blitz which in itself was a new experience (and a successful one) for me. I recommend from aminet BlitzLibMan (Library Manager) for anyone struggling to get ne commands/libs installed. It made it a doddle.
However, i quickly discovered the MED commands in BB2 to be heavily bugged, largely to be due to being VBlank synced and not CIA synced, which meant all my BPM based tunes played back at the wrong speeds with little way of fixing them. Thankfully, Leffman on EAB has come to the rescue there and has kindly implemented some MED playback sources into BB2 commands. Still in the development phase, these replacements are working very nicely.
My initial goal was simply to get to grips with a few commands, for such as song playback, screen opening, copying, fades, handling palettes and simple objects on screen. I decided therefore to have a crack at just creating the intro screens for SA, in the style of those in Cannon Fodder.
Suffice to say this have been a success. I've learnt how to handle BitMap screens (these work like Screen Open in AMOS) but with a neccessary command (Slice) to be used for opening a viewport. AMOS Bobs it would seem are neatly transposed to BB2 int the form of 'Shapes' and i was quickly able to use my old method of opening an IFF file (LoadBitmap) and "Grabbing" my shapes for a Font from that (GetaShape), all on an invisible screen.
This is great to know, as this technique is one i have used again and again on AMOS to maintain all my graphics, as it means that you only need to update 1 IFF file to change a lot of graphics in the game, without messing with Banks etc. Palette commands, and Fades are even more powerful in BB2 than AMOS, and i particularly liked finding the "DoFade" command which allows you to make incremental steps in a fade, this being able to syncronise th fade-out of the screen with the fade-out of the music.
The killing of the OS with the "Blitz" mode looks as though it will be very handy for maintaining speed, i know this has been raised as one reason AMOS Pro suffers with speed loss on compiled programs. It seems you need to be in "Amiga" mode however to do any file-reading/writing, but thankfully you can jump back to that without losing the current display screen by using "QAmiga" , doing your file stuff, and then jumping back to Blitz mode. All very clever i thought.
So, i now have my first two programs completed. A simple intro section for the game, which allowed me to get to grips with the basic screen commands, and a good a test for handling things like my font writer. To get to hear the music, and play around with some basic input commands, i have also made a "Music Player". I'm sticking to my usual heavy usage of GOSUBs that i used in AMOS, as this not only helps keep the code pretty readable, but also produces pretty quick results. I only hope anyone (GH!) i share the code with will find it easy to read as well!
Next up i will set about creating a title-screen and some basic options screen, enough to set up what is needed for game-start.