Posts Tagged ‘pc’

Bullets, bullets everywhere

Saturday, May 9th, 2009

i’ve just given the Blast Engine a multi-speed firing mode; previously, the “Aim” firing command threw a single bullet in the player’s direction and the “Aim-V” chucked a V of five their way, now “Aim-M” will launch four bullets directly at the player but with different movement speeds so they begin as a cluster and spread out. The straight shot firing modes are now Aim, Aim-V and Aim-M to take direct shots at the player, Forward, Forward-V and Forward-M to shoot whichever way the nasty is moving, Backward, Backward-V and Backward-M to fire in the opposite direction to movement. On top of that are Cross and Star, which launch four and eight bullets respectively with aiming based on the current angle of the nasty and Ring chucks out 24 bullets in, obviously, a ring.

Here’s Cross producing a pretty pattern on the left, whilst the new Cross-M gets busy on the right:

The new Star-M firing option on the right, compared to it's more sedate Star counterpart!

The new firing option on the right, compared to it's more sedate counterpart!

The observant will notice that the status characters have changed, the code now processes text itself (using the Vinculum character set for now) rather than relying on BlitzMax to do it.

It’s a blast blast blast!

Monday, May 4th, 2009

The BlitzMax OOP engine has… erm, grown. It’s now nicknamed Blast Engine (because project folders need names more than anything) and, despite being a single command engine at the moment, can lob a frighteningly complex array of nasties about the place! Rings of nasties, bosses that zoom on, decellerate and sit there, spinning and spitting out bullets, randomly placed popcorn… all possible and for the boss type nasties the game can be told to wait until all aliens have been destroyed before continuing!

There’s even some nice cosmetic details so nasties and player both have muzzle flashes when they fire, bullets spin majestically as they tumble through space and the bigger nasties have larger explosions based on the size of their collision area. Here’s a still screenshot of the code running in windowed mode:

Blast Engine - preview 1

Blast Engine - preview 1

After i’ve experimented a bit more to see where the restrictions are, tidied up the code a little (there’s a naughty little array in there that i might convert to a linked list if it seems more efficient) and generally fiddled with the thing, the next step will be to see if the nasties can be given a series of movement commands as with the Vinculum engine; if that works i want to add a similar system for firing patterns, essentially meaning the engine on it’s own can handle relatively complex boss battles!

Moving along

Thursday, April 23rd, 2009

Well, a few days have passed and here’s another update; the scripting now has the option to repeat an entry (meaning that entire waves can be defined from a single item), there are now three object types with their own firing pattern and sprite design (well okay, two and a half since the third is an amalgum of the other two!) and nasties can be set to speed up or slow down over time. That last one has presented all manner of possibilities because i deliberately left off any bounds checking; nasties can zoom on, decellerate to a stop and then start moving in the opposite direction to whizz off again… but if they’re turning as well it makes some very interesting patterns.

Here’s a screenshot of a couple of waves, lots of bullets and a particle-based explosion which also uses a linked list:

A running test of the OOP engine

A running test of the OOP engine

Essentially it’s completed to the level i intended things to go to… but i’m seriously considering the building of a more substantial project around this control engine now so who knows…! i’ll write up a “post mortem” in the next couple of days.