Xerra's Blog

Drunken coder ramblings

Transfer game progress —

Creating the transfer game was always going to be a major task in Paradroid due to the complexities of having a random element to every game screen generated but having to make every one actually playable. I knew at the start that the actual routine to generate the screen was going to need to be written one element at a time to ensure each one worked on their own, before adding in the block stuff – which is where 3 lines are used to create an opening bar and the circuits from this can either progress into other bars, or close off into a single circuit again. This coupled with the other elements that can be part of this structure, such as colour swappers, reverse polarity switches or just plain dead ends, will make this require a lot of testing and map generating within the code to get it absolutely right.

So, progress on the creation, means building the other elements up first, such as the droids on screen with their respective class numbers, and sides selection implemented, so we can get the right amount of turns given accordingly.

Hence the screenshots shown here.

And another shot here shows us having the 999 droid under our influence.

Quite why we would want to drop down into a lowly 123 maintenance droid from this unholy beast of destruction is another story that I’m likely never to go into.

So our droid of choice is now selectable within the transfer game by us. You guys won’t be so lucky as I’ll disable the option to do this once it’s all working so you’ll need to find another way to cheat like me. If we let you …

We went to great pains to ensure that the layout is as close to Paradroid as we can get it, while obviously adjusting graphics size to fit on our predetermined screen size of choice – mainly for compatibility reasons as we would like the end-game to run on practically any old PC out there. DirectX restrictions allowing, of course.

So the markers can already be seen for each players movable circuit selector in black on each side. Once they move down from their parking spot they can’t go in there again and naturally can only fire into circuits that are available. If there’s a blocker in the next column to them then the original game would not waste a shot in such a pointless attempt to try and activate it so we won’t either, for example.

The circuits area which will be modified by the random map element are currently highlighted with yellow and purple animated elements to show conductivity across the line as they will show in the game once the circuit is lit up by the player or computer. You can’t see them animating in a screenshot, however, so you’re just going to have to take my word on this for now.

Creating the actual map is being done by using tilemaps rather than sprites, so a lot of my time has been spent working out how to actually put these on screen and working correctly. Fortunately I’ve had the assistance of Aaron in doing this, as he’s already been playing with that feature of GMS2 from the start in creating Paradroids many deck/map arrangements.

Where I’m currently at is putting in the code to control movement by the player up and down the line of circuits which shouldn’t take very long so I can get to the fun part of tying in the drawing of a random map every hit of the space bar.

The transfer game links in a timer to select a side to play and for completion of all your shots on the circuit board itself, but I’ve disabled allĀ  this for now so that the testing can be done first as there will be a lot of map studying taking place to ensure there are no flawed circuits in any of the play areas.

It all sounds so easy when it’s written into a blog but you can be sure that the code element for this part is probably going to take me longer than all the work I’ve put into the title sequence so far.

Onward then…


Categorised as: Development | Game Studio 2 | Paradroid

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.