Monday 17 March 2014

Meet Flix!!


Hello,

...So now that Power-Up is wrapping up (at least the Xbox and PC versions that were solely made by me are), I thought I'd take a moment to talk about some of my other projects.

As you might have noticed, I'm currently helping 2-bit Games to get the iOS version of Power-Up as close to my versions as the devices will allow, and that's going well. It's taking a bit longer than I anticipated and it's pushing back my next major project Diz by a month or so, but hey, this is how it goes. I suppose there's not a lot I can do about that short of cloning myself... I'll just have to muddle through.

In the meantime, something else occurred to me...

---

If you're familiar with my blog you know that my professionally, I'm an artist, not a designer, sound engineer, coder, musician or marketeer. Outside of my work, all of that other stuff was really just something of a hobby for me. A bit of an outlet.

Prior to making Power-Up I'd never coded for anything but small Windows.exes and I'd never done that with anything more complex than Adobe Director. It was the less popular, less cool cousin of Flash (back when Flash was cool) but because of its intuitive, simplistic lingo-code, it was on the curriculum back when I was in university. As a result, it was the Programming Interface I stumbled across when I was trying to make my first games.

Director was a visual environment, complete with a timeline and the ability to publish games as Windows execute-ables, and as a non-programmer, I was head-over-heels in love with it.

It's fair to say that this love affair lasted until present day. I've been making little prototypes and pretty much finished games with it (not to mention getting better at the design, music, etc, sides of things) for over a decade now, and using Director to help me to do my own thing in my free time has definitely helped to keep me sane during the more stressful parts of my professional career.

Yeah, it has its limitations, I haven't yet sussed how to do game pad controls or save data with it, but I have been able to create a considerable number of small but potently fun games, again, based on the ideals of the retro game-saturated upbringing that I had.

Which got me thinking...

---

Major Vs Mini

I called Power-Up one of my "major" projects. Here's what I mean by that: When I was in full time employment, I was doing 8 hour days. When I came home, some nights I'd have a play with Director andwork on one of my prototypes as a way to unwind.

Currently I'm working part-time as an artist. This job takes up my mornings while I dedicate my afternoons to my Psychotic Psoftware work. In those week-day afternoons I work on Power-Up, Diz, and those bigger games that I'd like to really focus on for a year-or-two at a time in the hopes of figuring out how to bring it to a number of devices. Those are my "major" projects.

In my free time though, I still like to play with my little Director prototypes, coming up with ideas for good games and generally having fun with it. The innitial concepts for both Power-Up and my upcoming game Diz came about this way back in the day and I'd like to keep that up.

"Mike's Flea Game" - Day one...

Every now and then I find myself having so much fun with a concept, that I pretty much finish the job there and then. These are my mini projects.

One such project is Flix...

---

How Flix Came About

So there I was in 2011, about 6 months before I got underway with Power-Up, having a play on my faithful ZX Spectrum emulator. It was a weekday evening snuggled up on the couch with my partner, Jo and our dogs. TV on, laptop on my knee. I was having a bash at Bugaboo the Flea.

I was boring Jo with my usual retro-appreciation tirade about how great this game was, while picking apart where I felt it could have been improved. Smoother scrolling was an obvious one, though I put a lot of that down to the device limitations. There was an unnecesarry abillity to slowly scroll the screen and look around for signs of danger, which really slowed the gameplay and didn't actually particularly help you to avoid the monster on the cave, but there was something really alluring about the idea of being lost at the bottom of a pit of platforms and being tasked with the job of escaping from it while avoiding said monsters. I liked that.

I was pondering out loud about possible alternatives to the game's weaker points when Jo finally snapped. In an attempt to shut me up, she suggested that I put my money where my mouth is and program it myself to see if it works. That way I might stop talking at her about it and she might get a bit of peace from my geeky meanderings. Fair enough I thought, and had a go...

---

I drew myself a quick cave complete with platforms, gaping chasms, nooks, crannies and hideyholes galore.

A cave: Simple, functional, and quick to make.

Then I drew myself a flea with simple stand, jump and hit-head-on-a-rock-above animations...

A flea: 'Nuff said.

I kept my flea at screen centre at all times so as to ensure a nice big area of looking room on all sides, then I set about working out how to make his jump movements actually function.

It kept me quiet for a few evenings, but I pretty much discovered that the best way to keep this fun was to keep it simple. There would be just two keys: left and right. by holding down one of those keys, my flea would charge up a jump. When  that charge hit full power, it would loop back around to empty and charge again with a nice clear bar for reference. When the player released the key, my flea would jump at a height relative to the power-bar. Brilliant.

What was next?

---

Well, collision was my next hurdle. This was pre-Power-Up, so it wasn't something I was quite so versed in doing effectively in such a fine-tuned way. Admittedly, there were a few glitches and limitations here, but the technique I came up with, while basic and not perfect, was a good solid starting point from which to improve later if I found myself a bit more clued up. I was very much learning to do what I could with what I knew and trust my future-self to know more later down the line.

Because Director is such a visual environment, I was able to take a fairly visual approach to the collision detection in my little flea game. I drew a number of rectangles, sized up to the character sprite and placed them around my flea. I then simply hid them behind the scenes of the game, prioritizing them literally behind the furthermost background layer of the game.

---

A Predator!

No challenging game experience is complete without the antagonist, and as Flix is set in such a large and open vertically focused environment I decided to stick with the flying enemy of my game's main inspiration. Back in the day, the likes of Buggles on the Amiga had introduced smaller room-like levels to the flea mechanic, pitting their flea against flying ghost enemies, always homing in on your position and effectively acting as a sort of time limit, but I wasn't feeling that. For all its faults, Bugaboo had it right... a great big wandering predatory AI which took swoops at you whenever you got close enough to make your presence known.

I had the great reptilian bird spawn moving with one of its eight random directional variables active and a load of hidden sensors in eight positions around it. Then, whenever one of those invisible sensors hit a collide-able area of the map, the bird would simply turn, and go the other way. Certainly, it was going to get stuck every now and then, but that was a quirk I was happy to go with. Lets face it, any sort of glitch like that which cuts the player a break and inadvertently helps them out is not necessarily a bad thing. Glitches that hinder the player are another story, but happily, this isn't one of those.

A look behind the fourth wall: Some starter sprites with their collision all akimbo.

Wandering around aimlessly is all well and good. It actually makes for a decent passive enemy, but lets be honest, even the most basic of AI needs some level of intelligence, especially if it's a predatory monster.

So I added one more feature to the bird, a big invisible circular detector which followed the bird around, locked to the centre of the sprite. If this detector came into contact with the flea, the bird would become aware of the flea's presence and immediately move in the direction of the flea.

I quickly realized that to have the bird update its search for the flea's position throughout its attack was simply fatal to game play, making it close to impossible to escape from in most situations... but by having the bird check for the player's position just once, at the beginning of its attack made for a kind of halfhearted swoop attack. Sure, the bird would make a dart for you, but if you were quick enough to spring away or find a cozy little nook to sit out the attack in, soon the bird would lose interest and wander off, only making another attempt the next time you leap into its range of detection. Smart!


---

Hooked!

What I had at this early stage was really just a re-imagining of Bugaboo. An homage, if you like. Not something I'd consider releasing, and I was all set to leave it there... But the urge to keep chipping away at the little project kept coming back.

I picked it up again!

Prettying it up: It's getting harder and harder to see the seams now.


---

It was at this point that I began to understand why the original creators of Bugaboo added camera controls. My flea's massive jumping height made for some pretty serious design flaws. Mainly, it was quite easy to make a great leap across the cavern, only to land dangerously close to the bird... in some cases, you'd find yourself kindly popping directly into its mouth!

This was no good. Clearly some kind of early warning of the bird's position was needed, but I felt that the cumbersome method of taking your fingers away from the handy left/right controls and using say, the number pad for camera movement just wasnt the way to do it.

I had simple, single hand controls and I wanted to keep it that way!

I also wanted to avoid making the player take their eyes off the screen to look at their keyboard, which would put them in danger while they're not paying attention but most importantly, breaking their immersion in the world of the game. Nothing pulls you away from a game like having to look down at your controls. No! I won't have it!!

Instead, I opted for a kind of spider-sense, represented by a reference to the bird and an arrow pointing in one of the eight directions it was in. This worked in a very similar way to the bird's own detector circle. When the bird was within the flea's much bigger detector circle, the alert would come, telling the player roughly where the bird is in relation to the flea.

Certainly, big leaps of faith could still occasionally end in an easy meal for the bird, but as this was down to an element of recklessness and bad luck on the player's part, this little quirk of play seemed much more acceptible.

Again, by paying attention, the player could survive the cave. Ultimately, the game was fair.

---

These little HUD additions were starting to invade my thoughts now. A heads-up bird-warning had me thinking "What else might the player find useful in the cave?".

The answer was simple. With all this bouncing around, it would often become hard to figure out where you were in the cave. Ok, so you would get to know certain landmarks, shapes of the rock face, a specific useful hideyhole, etc, and that was nice, but particularly, if I was having trouble getting out of a cave, I quickly became a bit disorientated as to exactly where I was. I needed some sense of progression. Was I near the top, middle or bottom of the cave?

I set myself to the task of figuring out how to transpose the player's position in relation to the cave to a little bar at the side of the screen, indicating how high in the level the player had progressed... and after a few days work, I'd managed it. It's amazing what a big difference this made. The effect of not knowing was something akin to not looking out of the window when you're a passenger in a car and feeling motion sick as a result... Adding the bar just helped me as a player to feel more spacially aware, and as a result, more in control. I was able to make progression decisions based on how high up I was and to plan my route to the exit.

Fleshing it out: With armour, levels, a basic HUD, and a pause menu, my flea game was taking shape.


---

This extra sense of control soon had me fighting back the urge to add little extras to the level. You know, points bonuses in difficult-to-get-to places as an incentive for completionists to take risks for greater reward.

It was a small addition but these, combined with the occasionally unpredictable location of the bird during long jumps led to another addition of this kind. I still needed to offset surprise appearances of that bird during long jumps, as once in the air, no ammount of early warning is going to help the player to turn that flea around. What if a one-hit shield spawned in a random position around the level? Surely that would give the player the resources for the odd reckless leap of faith while on balance, providing a psychological reason for them to be extra careful when not equipped with it, right?

The effect I had in mind was something similar in to when Arthur lost his armour in the classic Ghosts N' Goblins (and later, Ghouls N' Ghosts)... and in practice, I was happy to find that it worked rather well!

---

Further Down The Rabbit Hole

All of these little additions had actually made my cave all too easily escapeable. Darn it! I would just have to add more caves!

I had the basic game model all done. All it would take was another few background images of ever increasing complexity and dificulty... so why not? Everything I needed to make a decent game was there. I just needed to build on it.

...and within a couple of week's I'd done just that. One cave was pretty easy to beat, but five caves was trickier. It demanded equal measures of luck, skill and memory for the various exit routes available.

TEN caves was downright devlish, but I created them anyway!

---

I wrapped the whole thing up with an intro animation which payed homage to my original inspiration, then with an ending which made for a really nice twist in the tale (You'll have to get there to find out).

Cinematics: scribbled up very quickly, I started to love these simple little animations for their Cartoon Network-ish charms.


Starting out as a little remake, I'd come to realise that what I'd actually created was a genre game, much in the same way that Power-Up is within the SHMUP genre. My flea game was in the flea genre of platformers that seems to have started with the likes of Bugaboo back in the early 80s and has been pretty well populated by non-mainstream games of its type ever since.

My game had expanded a great deal on the original concept, but while others in the genre had opted for means of shrinking down play areas to bite sized "rooms", I had retained that deep-cave feel which I felt was most important in getting across the tiny scale of our hero and the overwhelming scale of his environment.

Speaking of our hero, this was now his game. My flea needed a name. Something catch, something alliterative, something as monosyllabic as it was representative of the game's mechanics and character's movement style... something like Flix!

At a pinch it sounds a bit like an abbreviation of Felix, while implying something that's being flicked around the screen. It also belts off the tongue as well as any of the great game characters of the 80s and 90s.

I was in... Flix it was!

The icing on the cake: Finally, a title that I'm happy with!
---

Quite a Journey, That!

In just a couple of months I'd gone from a little experiment in remaking and improving on a classic, but almost forgotten game mechanic to having a close-to-finished product of my own!

That said, I was constantly aware that once I'd completed it, I'd invariably have to effectively shelf it for the same reasons that Power-Up almost never happened... licences. While I learned to do basic coding on an educational copy of Director, I didn't have an official copy.

This was just pre-Power-Up. At this point I hadn't even begun to engage with the online community, let alone make friends and build up a following on Twitter. I had no concept of starting a Kickstarter.

Obviously, since then a lot has happened. Power-Up not only got Kickstarted, but it also got released on XBLIG and PC, and featured everywhere from Retro Gamer magazine to the Humble grid! At the time of writing, Power-Up just hit 60% of it's Steam greenlight target!

I've come a long way in a couple of short years, and I've learned a lot about the process of releasing a game for PC... but that's not to say I've forgotten my roots..... and that's definitely not to say that I've forgotten my little Director games.

Sure, I'm going to be trying a few of them out in other formats. My next game Diz, for example, will be my first Unity experiment starting in a few weeks time, but I have a whole batch of other little games from my Director era that I'd like to tune up and release for your playing pleasure.

And Flix is but the first!

Almost done: Flix is all but there in all his bouncing, bounding glory! 

---

...So I've decided to run a Kickstarter this April.

It's a relatively little thing. Just enough to make me the £1100 I'll need to buy my own licenced copy of Director. The campaign has been given the go-ahead from the good people at Kickstarter. As with Power-Up I'm doing all the design, code, art, sound, music, etc, on Flix myself and as with Power-Up there are a load of top award tiers.

I'm hoping to release Flix accross PC portals in late Summer 2014 so between now and then I'll be turning a pretty-much finished PC game into a nicely finished PC game with a cherry on top...

But this is the bottom line:

EVERYONE who puts £1 into the Flix Kickstarter will get a copy of the game.

...Then as with Power-Up, if there's demand, I'll start looking into the technicalities of porting Flix to other devices in the not-too-distant. I can't say fairer then that eh.

Work In Progress: A sneak-peek at the upcoming Kickstarter page for Flix The Flea.

---

Finally

Thanks for reading this post!

If you like the look of  Flix, and if my work sounds like your cup of tea, do come and say hello on twitter (@psypsoft) and follow the fun. I'm constantly messing round with this Game Development lark and learning loads all the time, which I regularly bang on about there, and I'm always chuffed to meet likeminded people.

Hope to see you there,

m