Sponsored By

A "Dark Intelligence" - Part Three.

Mike Hanson talks boss attack patterns in the 3rd and final part of his post on Power-Up's enemy AI.

Mike Hanson, Blogger

November 15, 2013

27 Min Read

Hi Guys,

Welcome back to my three parter [Part 1, Part 2] on the evolution of my Power-Up baddies (the hyphen appeared in the game's title when I submitted the game to XBLIG. Appologies for the inconsistency there. Hey, generic sounding titles: we live and learn).

By the end of the last part of this somewhat prolonged insight into Power-Up's enemy creation, I had basically hit the end of the game where it concerns standard enemies. I'd picked up a heck of a lot of tricks and was pretty much ready to pool my resources and apply them to five of the coolest, most visually enticing and distinctive level bosses you ever did see.

It was also a bit of a new chapter in the Power-Up production process on a number of levels. We were hitting December 2012 and having been made redundant from my Artist job of six and a half years (Lead Artist for the last three or so) I was finding it hard to get re-employed. An experience that's increasingly common in the games industry as even the biggest players are forced to make redundancies and re-think their strategies.


A Change In My Mindset...

...For some, long-term redundancy means re-training, for others, giving up on their dream career and stacking shelves once more. I didn't have the money to re-educate myself and I honestly don't think I'd have made it stacking shelves again. I decided to get pro-active... To move out of the back bedroom, and into the bigger, more suitable office room at the back of my house, surrounding myself with some of the more fitting office adhornments that my old employer happened to be getting rid of in the light of a much smaller workforce. This replaced the debris of house moving that had previously surrounded me in the back bedroom and gave me the sense that I was embarking on a career changing move.

I dedicated my mornings to the games industry job-hunt and in the afternoons I switched my attention to finishing Power-Up in the hopes of making a career out of that. I was living on what was left of my savings coupled up with the mortgage protection we'd thankfully had the foresight to take when we bought the house.

On one hand, time was ticking and there was a fire under my backside to get things done before Jo and I found ourselves on the street! ...but on the other hand my allotted time on Power-up had effectively risen from 8 hours a week to 20 and oddly, the overwhelmingly predominant sensation was that of freedom. A fresh start. I felt, for the first time since childhood like the master of my own fate.

...and it was a very good time to face up to the challenge of Power-up's final bosses!
I attacked it with gusto!!

(SPOILER ALERT!! - Want to keep these bosses a mystery? Then stop right there! ...Only venture on if you can't resist a peek).


Guardian 1: The Cleaner - Dreaming in Bosses!

I was on garden-leave over december 2011 which gave me time to get my studio in up and running. It was an arduous process which involved a lot of cleaning out and trips to the tip... and the whole time I was chomping at the bit to get on with Power-Up. It would be a fair understatement to say that I was obsessing over Power-up's bosses.

I'd go to bed at night considering how my first screen filling guardian would need a weakspot and a means of getting you wherever you hid on the screen, and I'd wake up in the morning from a haze of dreams in which a giant spaceship was squeezing me into abstract corners. I'd race to my office at 5AM and start scribbling the sketchy remnants of my dreams and became convinced that as much as I loathed the RAYCraft of previous posts, this was in fact at the core of what was going to become the Chapter 1 boss: The Cleaner.

In lore, The Cleaner was to be a huge garbage disposal unit which fired out a formiddable disintigrating ray, intended to wipe out the debris of a vanquished foe and cover the traces of the battle that took place.

Innitially making one slow forward progression, the Cleaner was to move everso slowly from right to left, giving the player a limited time to defeat it. The boss would charge up a monster white ray at its centre, a great white glow and charging sound effect, building in pitch to act as audio/visual signifiers, warning of the blast to come.

It would be up to the player to navigate up or down in order to dodge that blast, and while both directions offered refuge on the fringes of the great ray, that refuge was a tight space, and dogged by the cleaner's additional aimed-bullet firing cannons. Once the ray was discharged the coast was clear for another volley of shots at the Cleaner's weak spot. This, of course, was the barrel of its deadly ray cannon.

Soon, I realised that the cleaner's constant frontal movement was actually to the detriment of the battle, limiting the duration of the fight and raising minor issues when the great hulk was on screen left and no longer fighting. If it's ploughing relentlessly onward, having filled the screen and taken you out, why would it now reverse back to give you another go. Doesn't sound like much of a big deal here in print but in practice it actually seemed a bit silly.

This grated for a while, until I caved and improved the sequence. After adding the obviously required floaty-wobble (see previous posts), I then had the Cleaner crawl forward while its ray charged. on releasing the shot, I put extra emphasis on the weapon's destructive power by having it actually push the whole titanic Cleaner craft backward and toward screen right. This whole sequence of movements really brought the boss to life and gave it weight, substance and an organic, piloted quality, as though someone was carefully balancing the Cleaner's controls with its firepower.

Getting up close and personal with The Cleaner.Getting up close and personal with The Cleaner.

The Cleaner would sink toward the bottom-right of the screen on its defeat, while regular small explosions occurred all over its outer shell as it went, there was no need for multiple parts or multiple instances a-la RAYCraft.

Coupled with the fact that I was a good eight to nine months more experienced, the Cleaner looped its simple, but visually striking attack sequence nicely and went off relatively without a hitch.


Guardian 2: Orbital Defence 01 - The Humanoid Touch.

Since I'd committed to make my own space shooter, One thing I'd noticed was that unlike my own, a lot of these games were developed by shooter/SHMUP enthusiasts. Yes, these guys were developing other stuff, but for the most part, this was their genre and the thing they loved the most. I can relate to that. I sorta felt like that about classic brawlers since I was little.

Also though, I found that the majority of good enthusiast-developed shooters, especially on my chosen format of XBLIG were in the top-down, vertical scrolling sub-genre. What's more, while these games looked GREAT, in my view there was something a little generic in the traditionally Japanese-styled visuals. It's hard to put my finger on why but broadly, I was seeing those subdued metallic colour schemes, with future-computer UIs along with those big, synthesised over the top soundtracks. Don't get me wrong, all of this is brilliant, but it wasn't what I was trying to achieve. I needed to make something that came from my formative experiences as a gamer and developer.

The biggest generic element I noted while taking on bosses on a lot of these games was that each boss seemed to be a gorgeous, but admittedly nondescript spaceship, each with a different arrangement of beautifully complex attack patterns that any purist lover of the genre would truly appreciate. ...But again, this wasn't me, and by my second level boss, I was able to formulate the beginnings of a mission statement:

"Yeah, I've made a boss that would be best described as a massive nondescript spaceship. I'm calling that "The Cleaner"... but from now on, every boss I do is going to have a visual theme all of its own, and the Chapter Two guardian is going to beeeeeeeee......... A GIANT MECH!!"

As the game's story was taking us to the enemy planet's orbit, it seemed fitting that I call the mech Orbital Defence 01... but other than fly onto the screen, I had no idea what OD1 was going to do. I grabbed a sketch book and drew that bad boy.

OD1s attack patterns really came from my innitial scribbles. Instead of hands, I'd given him two very different types of guns. His far hand was some kind of cannon, suitable for firing something large, dangerous and at a slow rate..... ooooh, say, a homing glow-ball mine kind of thing. You know, like the ones I've already made work, while the near hand seemed to be some sort of spinning chain gun end, clearly suited for smaller close bursts of bullets or... hang on, clouds of the aimed bullets that I'd also already sussed out.

Man, this game was writing itself!

That said, just having this guy floating around on screen right and blasting bursts of aimed bullets coupled with the occasional homing glow-ball just didn't seem to cut it. I mean, The Cleaner had pretty much done the same thing but with the added strategic complexity of its charging ray. If anything, this was a slight step back from The Cleaner, and i wasn't having that!

I solved this with the addition of my first "mode" condition. While mode equalled 1, OD1 would indeed alternate its butsts of aimed bullets with the occasional homing glow-ball, forcing the player to dodge and swerve constantly, but when its mode-counter hit a certain duration, OD1's mode would switch to 2.

In mode 2, OD1 would sweep backwards, off screen right, and upon hitting a point off screen, the boss would switch to a flight pose, place itself at a random vertical position, then come screaming, forcefield on, accross the screen. Once off screen left, OD1 would repeat the move in reverse, sweeping from screen left to screen right at a pace that made the movement believeable while not taking so long as to slow down the fight.

Of course, due to the random vertical positioning of OD1 in this mode there was a small chance that the player would simply not have time to swerve to safety and a swift activation of the player's forcefield would be the order of the day, but this understanding took some skill from the player, and that comes with practice. Add to this the probabillity that when OD2 starts sweeping, it'll also leave behind a few rather durable homing glow-balls, and you've got yourself a boss who the experienced player can run circles around but who will probably wipe the floor with you on your first few goes. Oh look. A bit of replay value!

Dodging aimed bullet clouds from Orbital Defense 01.Dodging aimed bullet clouds from Orbital Defense 01.

I was happy with how OD1 had turned out, though it wasn't lost on me that visually, the darned thing had come out as Japanese-influenced as the games I was trying to distinguish myself from. It was basically a dog-legged humanoid Gundam, Guyver kinda thing, and I'd just have to accept it.

...But somewhere in the actual execution of the character, whether in the modelling, the coding, or the extreme use of its image in the indie press, who knows, ironically, the image of Orbital Defence 01 really helped Power-Up to stand out as rather a unique looking shooter experience when placed next to similar games. ...and I'm very proud of that.


Guardian 3: The Worm - Vomiting For My Art


Some peoople can do that thing where they suck air in while making a high pitched screaming monster noise. You know the one. Back in my day, kids in the playground would impersonate Tie-Fighters with alarming accuracy when making that noise. I always wanted to be able to do that. In fact, realising the value of such a sound for the voice of a particularly unpleasant screaming monster-vehicle-robot boss, I almost forgot what happens when I try.

That's right, the Worm started as a sound! I didn't know what I was going to do with it but I knew that the sound of me screeching inwardly would make a great voice for something ugly and monstrous... and so determined was I to have it that I disregarded what was likely to happen if I tried excessively to make that sound.

In a nutshell, I made myself sick! .....but it was worth it!!

Armed with a recording of me making some of the nastiest inward breathing noises on record (not to mention the accompanying bawking and spluttering noises that really, nobody needs to hear), I put my mind to designing some kind of ground dwelling metal monster. Co-incidentally, it was about this time that once again I came accross my old original pixel-popped Power-Up tests from what, 2002? - 2003? Anyway, it seems I'd pixel popped this wierd, coiled up, screen filler of a boss over a desert. It was all angular parts and was curled into some sort of a protective ball, a myriad of guns pointing across at the player.

I had to have it! What's more, I began to imagine what this thing would look like uncloiled... Why, a big, nasty WORM of course! I was inspired! The chapter was the aliens' desert planet, there was even a floor plane to exploit. This thing was perfect!

The next few days were a flurry of creative activity. Working my way around the confines of the chapter's environment and my own coding limitations, I came up with a mountain of possibillities. scrapped some of the less practical ones (though the repeated tail-stabbing up from the floor in random horizontal locations would have been cool in hindsight), and whitteld my way to a sequence that not only worked, but added another level of complexity when compared to the previous boss.

The Worm first appears as an invincible, rumbling hill of churned up dirt, rolling slowly from left to right. It pauses in front of the player, then kicks into its first fight mode, bursting from the ground in an explosion of dirt particles.

As it reaches for the sky, a huge metallic, towering pillar of level guardian, its attention (head) turns to the player. The bullet nodes all along its body kick into action and one long cluster of slow moving aimed bullets becomes its first wave of attack. There are a few techniques for easily dealing with this, but again, it takes a bit of experience to figure them out.

It's worth noting here that my biggest challenge was one of believeabillity, and the element most in the way at this point was this... the screen is scrolling, yet that worm is standing upright, half way out of the hard cracked surface of the planet. It makes no sense! ...until I put a bit of time to giving the impression that the hardened exterior of the worm is actually churning up the ground beneath it with ease. A little adjustment and the rumbling churning earth particles at the Worm's base seemed to sell it nicely, while emphasising the machine's power and purabillity... On to the next attack mode.

Here's where I borrowed from my early pixel-popped design mockup. Turning its attention (head) back up to the sky above it, the Worm now digs slightly downward into the floor before taking off at great speed. It's at this point that the first-time player spots the enormous rattle-like gun tower that is its tail-end, offering an unnerving hint of what's in store... and then its gone, into the sky.

I'd learned by now to give abscent, state-changing guardians a beat to believeably change state, after which, in this case the Worm heaves back down from screen left or screen right (randomly), but slowly enough to give the player time to react to its presence and to position themselves accordingly.

Each of these movements is punctuated by horrible, heavily post-produced monster screams and screeches (the aforementioned me making myself sick), again, this is to inform the player as to what they can expect next as much as it is for ambience.

If the Worm comes down in front, you've a selection of generally frontal-firing weapons at your disposal, if it comes down behind, you can whip out your backshot (provided you've powered it up suitably).

Then comes a barrage of aimed bullets and vertically homing missiles from the Worm's rattle-tail. a particularly potent mix I might add, and a combination that with practice, seriously levels-up a player's natural abillity to use their peripheral vision and to cope with vast numbers of incoming projectiles... essential for the chapters to come.

With a parting volley of tough homing globes, the worm boosts itself up and off to screen left. The player is left with just enough time to despach the homing globes, when the earth starts to rumble and the cycle begins once more.

The Worm tears through the terrain.The Worm tears through the terrain.

Again, this is simply a cyclic approach to a level boss, but this time around, there's definitely something about the left/right randomness in the Worm's flight mode that adds to the tension.


Guardian 4: The Walker - Finally Mastering The Multi-Faceted Baddie.


I suppose it's a bit sad in its way that I only sussed out how to successfully break an enemy up into functioning parts just two baddies away from the end of developing Power-Up. The upshot of that is that this discovery makes the Walker a real stand-out enemy in the game.

I was DETERMINED to draw from the wonderful ED-209, AT-ST armed pod on legs heritage at some point in Power-Up. But let's face it, it was always a given that this guy couldn't be animated as straight frames. As a screen-filling walking enemy, he's just too big, and any reduction in frame count to accommodate his sheer size was always going to result in jerky, unbelieveable rubbish.

I bit another bullet (of many, admittedly) and broke the process down. The first task, even before working out an attack pattern, was to work out which parts needed to be seperated for dare-I-say-it, programmed movement. Again, I started with a drawing of my ideal in action, working out that I'd need x1 body element, x2 legs, an overlay strip to appear to hold the legs on, a front bolt, plus a peek at the back holding strip and perhaps some between legs inner workings.

Once I had all the parts drawing to screen in the right order, I surged The Walker in from behind the player. It was about time a boss attacked from behind and in my mock-up this boss seemed well suited to it.

I treated the main body as the main controller for the Walker's physical movement around the screen. Once it was comfortably on screen, I had the entry mode stop there so that I could work on getting the finer details into its movement.

first, I added the bob of the body. When each leg took a step, the body would need to bob. Then I alternated between two metallic stamping noises at the end of each bob (the sound was me dropping a few pans on the floor in a variety of ways, then messing around with the sound in Adobe Audition). I was now also able to start the Walker off -screen and have it bob its way on, into its start position, fading in the sound of the slamming metal steps as it came. Nice!

Next, I added an extra bob to the near leg, making it arc higher than the body and moving it forward in a trial and error fashion so that it stayed within the confines of the supporting strip in front, then with every alternate bob of the body, the leg would cease to do any bob arc, but instead, slide horizontally back to its starting position in relation to the body.

I had the far leg to the same thing, but moving forward with its extra upward bob while the near leg slid back, giving the impression that the Walker was taking steps.

Then the finer details. The cog followed the front leg's horizontal values, so as to appear vertically static within the front strip, shunting left and right in a piston-like manner.
Meanwhile, all the extra inner and back parts followed the movement of the body, but sat at their respective draw order in relation to the moving legs. The illusion was complete!

Finally, I had the Walker cycle two modes. Quite simply, it moved to the right of the screen, paused for a bit, then it moved to the left of the screen, paused for a bit... and looped that sequence. This allowed me to get an idea of how well grounded the feet were with the floor... they weren't.

Obviously, in relation to the scrolling of the floor, the Walker's feet were sliding about all over the place. for a few moments I was at a loss as to what I should do about it, but soon I realised that through a combination of adjustments to the Walker's physical movement speed accross the screen and the left/right speed of its legs, I was eventually able to get the Walker grounded. With an appropriate speeding up and slowing down of these variables at the right points, the Walker's movement had become believeable... Now it was just a case of working out a fight pattern.

Something I noticed with the walker was that in a strictly 2D sense, the machine filled the screen. When it moved from left to right and back again, surely there would be no way to avoid it. However when looked at in the context of the game world, that big chunky body is sat in between two legs. Those legs are situated at the sides of the monster and it doesn't take too much latteral thinking to discover that the player can fly directly between the Walker's legs unharmed. Initially this was something of a happy accident which turned out to be a really effective latteral touch. When I initially demoed the Walker for my Kickstarter audience I got a very positive response from that between-the-legs touch and knew I was onto a winner.

The Walker - A multi-faceted monster.The Walker - A multi-faceted monster.

The Walker's armory was comparitively simple. In my designs, I'd provided it with a huge aimed bullet module that pretty much permanently dispensed aimed bullets. Additionally, when the Walker was stationary on the left or right of the player, it would blast out homing red glow-balls in short bursts, giving the player just enough time to get through the destructible weapons and have a bit of a blast at the Walker itself before the guardian swung into action, shifting again to the player's other side. Throughout this shift, the homing glow-balls would stop, to be replaced with comparitively fast moving, fast repeating, but on balance, highly visible new, larger aimed bullets to shake things up a bit and keep the player on their toes.

While the Walker offers little in complex attack cycles when compared with previous bosses, it does boast some seriously smart little flourishes and plenty of seat-of-the-pants challenge. It was also a bit of a technical victory for me personally and really represents a big step forward in my baddie-coding confidence.


Guardian 5: The Mastermind - Putting A Bit of Yourself Into Your Work.

During production, I'd gradually formed this vision of what the last boss was going to be. As I developed more and more little skills within the confines of coding my game, the possibillities opened up. Recollections of influencial games from my past came-a-calling and one particularly weird and wonderful final boss that sprung to mind was the crazy floating head that came grinning at you in the popular early 90s platform shooter, Midnight Resistance... Well I loved that game and after taking down a host of tanks, planes and generally millitary based opponents, I recall being initially a bit taken aback by the appearance of this surreal and abstract final boss offering. It had just the right level of uncanny to put me off my guard and has stuck with me ever since.

Looking at Power-up, so far I'd bossed-up with a giant ray-ship, a humanoid mech, a monster worm and a big stomping walker. I wanted to complete my collection of distinctive and memorable bosses with my very own angry-face-type final boss! What's more, I wanted it to animate!!

I mocked up a series of sharp toothed giant lizzard/human faces on paper and started painting the monster up in Photoshop. I'd decided to give the boss four waves of attack, each increasing in difficulty, each with its own key facial expression to act as something of a quick reference for the player to monitor their progress with. However, with the size of the sprite and the timescale I'd given myself for the task, I realised I'd need to do something akin to modelling, rendering and post producing spaceship frames. Sure, I could make it in 3D... or I could just play the dude myself.

My fevered little ego liked this idea. It was like facing off against the game's creator on one level... on a more practical level it was a quick way of getting the exact frames I needed so that I could stop wasting days on unecessary art and concentrate on making the boss work! I took out my camera-phone, got myself side on to it, and took the pictures I needed, making the facial expressions myself, then consistently post producing them in Photoshop, I added the lizard skin, sharp teeth and sideways blinking eyes I'd envisaged him with.

It worked a treat, not to mention that it only took a day to do!

I built the rest of the boss' surrounding structure in 3DS max, opting for a closing wall from the rear, combined with a closing top/bottom wall as secondary and tertiary attack modes. This combination would make the use of full powered back and side shots an absolute must in order to get through the fight, and after each cycle of these closing walls, the Mastermind himself would come back at you, stronger, faster and more desperate as you piled the damage onto him.

This really made for edge of the seat stuff. On the harder difficulties those bullet streams became fast and erratic, some coming directly for you while others targeted invisible moving reference points to create some intense and beautifully symetrical patterns... deadly all the same, and a last minute little innovation I was particularly pleased with.

Taking it to the man with the Mastermind.Taking it to the man with the Mastermind.

The Mastermind demands dry palms, 20/20 peripheral vision and a practiced focus that none of its predecessors could compare with. I really threw all of my acquired coding skills at this one. Vertically homing missiles, all-round goming globes, several variations on the aimed bullet, multiple moving parts, forcefields, patterned projectiles and more besides.

Sometimes, to this day, I fight the Mastermind and ponder to myself "How on earth did an unemployed, novice developer like me do THAT??"


And there you have it.


As I said earlier, this piece wasnt about alienating you with my badly written code. It wasn't about showing off, and it wasn't about giving the impression that there's some kind of black art to what I achieved with Power-Up. Compared to most industry professionals, I'm really just a novice, bedroom coder. When it comes to programming games, I'm untrained, unemployed and just doing my level best with the skills I've gleaned from the internet.

Sure, I've got a good sense for how things look and sound, how they're paced and how to generally get them from my head onto the screen, but all of this comes from my love of the medium, and all of it was hard earned by trying and failing, then getting up and trying again. These are all practiced skills, and with practice and a bit of grit when things get tough, anyone can do it.

You might ask why would anyone want to learn to be multi-skilled and independent when they could just get educated and employed?...

It seems we're coming off the back of a time of safe-bet mediocre AAA console titles and safe-bet freemium/pay-to-play mobile experiences designed to accumilate money, often with a disregard for the quality of the gaming experience. People aren't stupid. As players we've become wise to this sort of simplistic manipulation. It's a real turn-off and end-user faith in my industry is dwindling.

Companies big and small are seeing revenues falling. Redundancies are being made everywhere. Talented people are being lost to other industries and it's been a very bad time for creatives overall, but I for one believe that the old way of doing things isn't the only way.

With my ongoing blog, my hope is that by giving you a quick, brainstormed insight into some of the thought processes, the organisational coping mechanisms, the fun design ideas and the overall gradual improvement in my understanding of how to actually implement this stuff while developing my games, I can help other aspiring game developers who also love games and have an underlying desire to make something good to realise that with a bit of work and yes, plenty of headaches, you can do this stuff too.

Over the next few years, I'd love nothing more than to see a great wave of inspired and inspirational indie games coming from independent, self-empowered people who's first motivation is the love of the games they discovered in their formative years, reviving and evolving video games into something with the magic and electricity of the industry I remember growing up on. What a golden age that would be.

Anyway. That's quite enough of that. Better put that soapbox away before I fall off and hurt myself.

Thanks again for sharing in my development experiences. If you have any thoughts or questions about my work, do drop me a comment or a tweet @psypsoft. Community is quite important to me and I'd love to hear from you about you and your projects too.

See you next time.


Read more about:

2013Featured Blogs

About the Author(s)

Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like