Today the little… aliens learnt how to fire properly – as with their movement, every nasty has a script to work from that says which bullet to use, initial speed and angle (the latter of which can send “commands” for rings of bullets, aimed shots and random sprays), change values for speed and angle, the delay between shots and how many to actually fire before moving on to the next set of instructions. Currently there’s a hard-wired maximum of eight states, but if anything needs more it’s just a quick change of a constant.
Of course, the system didn’t work first time and I’d have been quite frankly stunned had that happened, as I “joked” on assorted social networks the nasties appeared to be holding their script upside down (I suspect that one or two had perhaps picked up something from an old episode of Emmerdale) but eventually it flew and they in turn let fly with both barrels. Now I can define some fairly complex patterns on an object-by-object basis, trigger pauses, loop to a command rather than just the start and I’ve got plans for more.
Because things have been rather non-visual lately, here’s a quick screenshot of the new and improved Blast Engine (running with some “borrowed” sprites from Tehkan’s classic Star Force for no other reason than I’ve always liked that game):
The curvy ring-shaped firing is handled from the script, the command for the purple bullets look like this:
<fire>
<bullet=bullet2>
<speed=2>
<speedchange=0.2>
<angle=ring>
<turn=2>
<delay=10>
<repeat=8>
</fire>
Simples!
Tags: BlitzMax, game, programming, seu, shmup, shoot ‘em up