Introduction

I suppose the idea of this game started after I found/read Steve Turner's "Diary Of A Game: Deepest Blue" and remembered Andrew Braybrook's old The birth of Paradroid diary. Of course, I had to check out Andew Braybrook's new blog, as well. Not too long after, my brother and I had one of our C64 gaming nights at my place, and a few Andrew Braybrook titles was indeed played. The day after, I started thinking about Paradroid, and what an ingenious game it really was - and still is. "Wonder if I could make something like that in Construct 2", I asked myself... Now, I refuse to do a straight clone of the (or any) game(s), but the idea behind the game surely is a good one. Maybe I could do it in another setting, and maybe just loosely base my idea around Paradroid instead?

Basic Game Concept

Paradroid is set on a spaceship, so that was a no go. Since I had some graphics /tile maps available from some of my other projects, I thought at least I'd set up a screen using one of them. Ended up using the cave tile map from Gooners. Really didn't take to long to get a screen, and a movable player sprite, up and running. And, thus, the idea about maybe set the game in a Gold Mine came to light. Maybe a futuristic one, with Gold collecting Droids. Your Droid needed to fight the Droid for their Gold, so you can gain strength. The stronger the Enemy Droids, the harder to kill. I plan to have probably 3 different strength Enemy Droids and 3 different sized levels. Small, Medium and Large. I've already got in place a formula to have a certain percentage of each Enemy Droid on the different levels. The bigger the level, the harder to get rid of the enemies. You're more or less forced to battle the Enemy Droids and steal their Gold Supplies to be able to kill the growing number of strong Enemy Droids. Basically, you're only as strong as the Gold you're carrying - both Player and Enemies...

I also plan to have a map of the Gold Mine, where the player can use the main lift to travel up/down between the different levels. Although, once all Enemy Droids on a level is killed, the level will turn "inactive".

My main concern is the design and gameplay of the mini game where you are to steal (or fight for) the Enemy Droids Gold supply. I want the design to be very simple, but not too easy to manage. The player will not be killed if he looses the fight, but he might loose some strength (to be tested and evaluated). Either way, the mini game will not be anything similar to Paradroids mini game, but the concept will be loosely based on it. I just have no idea how to pull that one off yet. In the mean time, I will set the different Enemy Droids strength manually, and possibly add some to they Players strength when he killes one :) Most likely this will change during the course of the game development...

Enemy AI 

So far, making the Enemy Droids act "sensible" has been the hardest part getting to work (properly). I did know I had to use Line of Sight and Pathfinding to be able to work out the AI of the Enemy, but how to use them was another story. So I tried reading some posts on Construct 2's Forum. Tried loads of things, but nothing really worked as planned (or at all) and it soon got way to complex.

I had a day away from the project (well, drawing some sketches of a Gold Mine map, and a few levels) and got back to the AI conundrum... Can't really remember how I did it, to be honest, but I did try to make the enemy setup a bit easier; I manually added enemies to the layout screen, instead of spawning them from an invisible EnemySpawner, in-game. I realised I didn't really need to spawn them at all with my current level design. Long story short, I spent half an hour trying out some Pathfinding basics, and things started to come together. I even got the nerves to add some doors after some time, but that was another strange encounter. Things that sort of worked, stopped working when I did some changes, but never got back to working again after I removed the changed I had done? Never got to the bottom of this. Was a bit annoyed one night/morning, so I started making door animations instead - to get my mind away from opening/closing door logics :) Animations done, and just before going to bed, I just wanted to try out the animation in the game... So, deleted all references of any doors I'd already done in the project and started fresh with animations... And funnily enough, suddenly thing started to work out as planned... I had a little struggle with doors opening/closing while the player was in the door opening, but a couple checks later, that one was sorted as well... Now I actually had a pretty much playable version of the game... Did add some shooting actions earlier, so I could walk around and shoot the enemies... Any enemies inside a room (with door locked) cannot "see" the player, so they won't move, only the enemy who has Line of Sight and are on-screen will start following the player. Also made a loop that makes sure the enemy will update it's Find Path regularly, so it will follow the player wherever the player moves...

What's up next

I'm currently refining some of the Level Designs and making different tile maps for different levels. The plan is to have 4 x Small Levels, 4 x Medium Levels and 2 x Big Levels. (Playing with the possibility of adding a huge "boss" level at the very end, but this will probably not be considered unless I get some time (once everything else is done)). Probably need to look at Global Variables to control the current levels and their status.

I will need a Startup Screen soon, so I can get my event to check weather or not you're playing on mobile or desktop, working.

And finally - and continuously - try to come up with a proper mini gold fighting game.

Below a quick picture of how the game look so far...


Programming tips

None, I'm using Construct 2... No programming required, but loads of game logics, events and actions to work out... I guess, for now, my main tips is to try and generate as many events as possible dynamically, during the game, as you only have 100 events to work with in the free version of Construct 2. Including a few unnecessary events (grouping counts as a single event) so far, I think I'm around 45 events in total.