Posts Tagged ‘XML’

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.

Being belligerent

Saturday, April 18th, 2009

Looking at the title, i’m not sure if the belligerence was on my part or the code… i raised the bar somewhat on the “learning OOP in BlitzMax” challenge; today saw the player’s data such as ship co-ordinates, score and lives converted into a single object and the addition of a primitive but workable attack wave manager that not only uses a linked list to store data, it reads in and parses it from what is pretty much an XML file. Then because i was feeling particularly masochistic, i decided to clean everything up internally so that the BlitzMax “SuperStrict” mode could be enabled.

Somehow that all works and i’m still getting over the shock, but the fight that was put up will probably rate as a bigger challenge than the final game’l be! Due to “other commitments” i’ve got to step away from the thing for a few days (or possibly longer) but i’ve made a start on some in-game sprites so the next milestone will be getting those at least to a state they’re workable, scripting up some attack waves and then slapping together the presentation code so that the game becomes a properly stand-alone unit rather than something that needs to be run each play.