Tuesday, November 9, 2010

Some teaser shots

Things have been quiet for a while on the blogging front, so I thought I'd share a few bits with folks, just so you know I'm not dead, and nor is Incoboto.

Spy-bots went in today and they're creepy as hell. I'm not yet sure if they clash too much with the general cute feel of the game, but I love their floaty movement. Very, very unnerving. Their little eye-stalks track you, and light up red or green depending if they've acquired you as a target or not. Brrr...

In other news, I'm trying to simplify the interaction at the moment. Up until now, EVERYTHING was a physics object. While my physics system managed perfectly well, the poor player had to contend with hundreds of clickable, draggable, carryable objects any time anything exploded, shattered or... well, did anything, really.

As of now, I'm doing the 'nethack logic' thing. If I can't think of 3 reasons why something should be in the game I'm either adding reasons, or jettisoning the idea off into deep space... or into Helios if that's a more terminal metaphor. Personally, Helios gives me the willies when he's angry:

Not a friendly character when he turns. No, he's not based on anyone I know. Honest.

Wednesday, August 25, 2010

Where does the time go?

So it's been a month since my side-tracked rant about gender images in the media... and longer since I've actually posted anything of note regarding Incoboto, so here's where we is at.

I spent some time making weird, droney noises like this. I may use this stuff as music in Incoboto. I may decide it's too 'cold'. We'll see as time goes on.

I've just returned from holiday in Iceland and am currently suffering from post-holiday blues. While there's a lot in Incoboto already, there's a lot to do to make it into a game, let alone polish that game to perfection.

- The movement/interaction/interface is pretty much done.

- I have 'creatures' in the game. They don't do much, but they are flammable. Believe it or not, that's important.

- The physics has been re-vamped yet again. It's now a very peculiar hybrid of verlet integrations and rigid body physics. From a consumer's point of view, this simply means: "I can make windmills you can stand on, turn by hand, chuck rocks at and so on, and it all reacts correctly." Yay! Seeing as my background isn't particularly academic or technical, that's a big deal to me.

So - why the delay?

The problem is that I've a huge feature set, but no actual level demonstrating how this all goes together. As such, I need to make a big choice. Generative, or edited content.

This isn't a game where you 'make stuff yourself', leaving all that lovely creation to the user. My 'meaningful' content has to come from somewhere. I'm loathed to spend another month and a half creating an editor, but the sheer wall of work that is required to generate the content in a non-game-breaking way is really quite scary.

At the moment I'm taking time to think and finish off a few technical bits and bobs that'll lead to a smoother, more polished experience (getting planetary atmospheres and stargates rendering quickly, for example).

Once this is done, I have to face the 'wall'.

As such, I'll post more screenies next time around when there's a game to show rather than a bucket of disparate features. Thanks for your patience.

Now if I can only stop myself playing Battlefield Bad Company 2 multiplayer...

Friday, July 9, 2010

Gender Polemic

So, I was sitting here working while my housemate was watching the television. An ad-break came on, during which I heard the refrain 'Here come the girls...' My reaction was quite extreme: I think the correct phrase is 'my blood boiled'.

I suddenly realised I had a profound loathing for the false gender-identities projected by the media. While men and women do have slightly different wobbly bits we are fundamentally the same species, and I find myself increasingly annoyed by the fractious, factious way in which gender differences are presented.

It starts when you're a baby. Walk down the infant aisles of any toy shop and you'll see what looks like a tactical battle-map of baby-blue and pastel pink intended to genderise us before we can even figure out where our own toes are.

With these gender lines drawn, childhood sets about reinforcing them. Certain toys are deemed 'appropriate' for certain genders, and parents not-so-subtly nudge their offspring into stereotyped roles in order to ensure their kid isn't pointed out as 'the funny peculiar one' at school and mobbed like a peculiarly hued crow... or a Muslim.

Adulthood offers no respite. Conversely, the situation worsens in relation to our spending power. According to marketing firms and the media, women are superficial, materialistic, overly-emotional airheads who only care about babies, their weight, Davina's hair-style of choice and whether Kerry Fucking Katona is fat/in rehab this week.

Worse, we hear phrases like 'us girls have got to stick together' and 'men are from Mars, women are from Venus'.


As a bloke I prefer to decide who I spend my time with based on shared values and tastes rather than the fact that we both stand up to pee. I like logical, clear people whose motivations and beliefs are consistent, well-considered and understandable (and preferably geeks in my case).

I imagine a majority of women feel similarly (bar the geeks bit).

Women: next time you hear 'Here come the girls' ask yourself if you feel included in their perfumed, vacuous number. I know a majority of you don't, just like many of us 'guys' aren't obsessed with shaving, football or beer.

We'll love you just as you are.

Tuesday, July 6, 2010

Physics and Input

Chuck Rock
So, the last couple of weeks have been a real challenge. My physics work is almost complete, but - as ever - edge cases cause lots and lots of problems. I had rocks that forced you back through 1-way walls, balls that went into a non-decaying orbit when thrown, clouds that made you flip into the air as you approached an edge, objects you could swing off causing the player to enter into a non-decaying orbit, and countless others.

The ultimate problem emerged when I realised the player wasn't gaining mass when carrying objects. My little (as yet unnamed) pal wandered around quite blithely, leaping all over the place with a boulder on his head the size of a small 4x4. It seemed a bit silly. When players walked against the boulder and thus pushed it, it felt suitably massive and rolled sullenly, like an overweight cat being shooed off a couch. However, flagging the boulder as 'carryable' allowed the player to loft the massive object into the air with ease.

I fixed this.

And then I realised why I hadn't fixed it before.

In game design there's a constant fight between realism, expectation and fun. Realistically, you shouldn't be able to move a heavy boulder. However, if you could lift it, you'd expect to stagger under its weight. However, that's no fun.

I realised I was going to have to be a little more binary in my treatment of all this stuff, and figure out why I was letting the player do these things in the first place. I always think that once you get into the psychology of game design, a lot of complicated issues become a little clearer.

So, why am I allowing the player to lift the rock? Because it's fun to carry stuff. Because it's necessary for some quests. Because you can throw rocks, and in order to throw them, you need to be able to carry them. See - all this stuff basically says: "Hey! I'm fun! You can do stuff with me!"

So, in this case I decided - even if it is hard to push a rock - if you can lift it, you can move it around with ease. If you try to throw it, it'll arc just like a small pebble.

'But surely that's nonsense!' I hear you cry.

'No,' I respond. The key is in the 'if you can lift it'. It's impossible for any normal person to lift a fecking great rock. However, if we're saying 'you can lift it' then you're super-strong. The end.

I remember the Halo team talking player expectation in relation to AIs, and how 'grey' rules really don't work. If you can make a squad of baddies run by killing their leader, it better happen every damned time, or else don't bother doing it. It'll just confuse the player.

In my case, if you can lift it, you can carry it. If you can throw it, you throw it in a manner identical to every other item you can throw. No exceptions.

Click, Swipe, Press, um... Lick... uh... Fondle?
Have I mentioned how much I hate on-screen controls? The little virtual joysticks that effectively say: "Sorry - I forgot I was designing for the machine you now hold." I think they're awful, lazy, impractical and fiddly.

However, I really wish I were using one.

At the moment, players can do the following, all by pressing, tapping or swiping the screen.

1) Walk
2) Run
3) Jump
4) Pick up
5) Throw
6) Swing

None of these use on-screen controls, nor the accelerometer*.

Balancing all these things involves careful tweaking of interaction radii, the minimum valid distance for a swipe and the maximum period you can keep your finger on the screen before it decides you're pressing rather than tapping

If you make jumping more responsive then you find stuff you're carrying around sticking to you like pathetic industry execs on a booth-babe. Make jumping less responsive and the merest flick of a finger causes stuff to fly off without your say-so. Watching my wife play the game last night was an exercise in frustration. She fundamentally doesn't understand the difference between 'tap' and 'press', nor how 'make the player jump on a press' simply wouldn't work (because that would mean you couldn't move without jumping first).

That's the thing with casual games - there's a lot of training involved because your audience has not had 10+years of tropes and rules to fall back on when faced with a new control system. It's irritating as hell. At some point I'll just draw a line in the sand and say: "Yup... I know. You don't know how to swipe the screen. Quite how you've managed with your iPhone so far, I don't know, but I think you and I part company here.' I'm thinking of giving away 'Act 1' of incoboto and then selling subsequent chapters, so that people who just can't deal with it don't feel too annoyed.

Despite the eventual training issues, it is working - and relatively well. There are no on-screen controls apart from 'Pause'. When you use the machines on the planets, there'll be no mini-game, GUI or other distraction. You'll be manipulating real, physical objects that spin, slide, rotate and otherwise give you tactile feedback.

It's taking a while, but there's the potential for this to be quite awesome.

Now, where's that bloody rock gone.. ow!

*I tried the accelerometer for a bit and then realised that using one on the iPad is no fun at all - and Incoboto is destined for the iPad at some point. Tilting the iPad makes me feel like I'm drunk while in charge of a vehicle, albeit with less lethality, lifelong guilt and prison sentences.

Tuesday, June 15, 2010

A Little Less Fog, a Little More Detail

So What's it All About?
It's been a while since I posted anything on the strange game I'm developing. It has grown quite a bit since the last time I posted. It now looks just like the screenshot - and better. I'm aware that I've not yet stated what the game actually is. I'll rectify that shortly, but first I should lay out what my aims were when I started.

1) Produce the best game on the iPhone... for geeks like me
I've grown rather dissatisfied over the last few months. The iPhone is such an excellent machine, but seems to be used to create nothing but 5-second twitch games (Flaboo! included). It can do so much more. So, rather than whining I decided to do something about it. I'm hoping that Incoboto will be something people can play in short spurts, but which also rewards a long afternoon of play.

I'm also bored with games that offer only a single, repetitive mechanic, or with so little content that there's nothing to discuss with friends between play-sessions. Nethack and Angband provide countless hours of content and fodder for water-cooler discussions despite their primitive appearance. Why doesn't this happen more?

I very much hope Incoboto brings this sense of depth and immersion onto the little machine.

I also want to make a game that doesn't involve killing - or at least not as a casual mechanic. This isn't some hippy vegan doctrine I'm following here. I just feel it's a bit trite and not in keeping with the childlike sense of wonder I want to evoke. More on that later.

2) Provide emotive content without resorting to (too much) dialogue
Since watching countless small animated films and seeing the efforts made by others such as Jason Rohrer (who have done marvellous things with lesser technology at their disposal) I've become increasingly interested in the emotional power of simple images and animation.

Incoboto's story is about wishes, loss, and understanding what's really important in life. Hopefully, with clearly designed characters and appropriate pieces of music, I should be able to wrench the odd tear from the audience.

As ever, David Lynch is on my mind, so along with pathos, I'm hoping to bring a sense of quiet unease into the world of Incoboto. As an example, Helios (the great, grinning sun-thing you saw in the last blog) should appear insane and menacing without ever having to say: "Hey! I'm insane and menacing!" or - god forbid - play a dialogue sample. Bleach.

Less is more. In Incoboto's case -hopefully a lot more.

3) Construct a Mythos
It's been a while since I left Lionhead now, and Fable along with it. I'm very proud that we managed to give players the sense that Albion was a real place. By the end of my time there, my job mostly consisted of being a filter for what was or was not Albiony or Fabley. I also experienced a great deal of frustration when others disagreed, or decided 'nobody would care' if we chose to do something out of character.

Incoboto is all mine. That's an enormous privilege. As such I have an opportunity to craft an entire universe of strange inhabitants, colossal machines, odd devices and mysterious planets.

It is unlikely that someone is going to say, "Helios should, you know, fart. It'll be funny."
Even then, if they do, I can ignore them rather than wishing I had a bottle of Draino to swig from.

What's in a Name?
I've had several people tell me that they don't understand the name 'Incoboto'. Others offer me the advice that nobody will remember it: "What is that... Japanese?".

Both are fair comments. At this precise point in time I don't care. The name is... what the game is. Perhaps that'll change in the next few months, but right now I can't imagine the game being called anything else. I'd be interested to hear how others feel about it - presuming anyone reads these.

Zoom and Rotate
One of the biggest things I'm battling against at the moment is the complexity of building a game with no fixed axis of movement or rotation. The whole universe can spin around you, planets rotate, satellites rotate around those, and you can stand on all of them and jump from one to the other. It's bonkers.

However - with all this fun comes potential nausea and a great deal of difficulty in maintaining a meaningful view of what's going on.

If I don't auto-rotate the camera, jumping on the leaves of a crystal-tree while upside-down feels quite... unnerving.

If I do auto-rotate the camera there's a strange sense of vertigo and a constant feeling that there's no 'up'. That's because there isn't one.

I'm thinking of allowing players to choose their own axis of movement at any time, but also leery of the fact that this adds yet another level of complexity into the controls of an already complex game.

I added zooming out/in today, and it looks fantastic. With any luck it'll go part-way toward fixing the issue.

Next Up...
The next task is to get AIs into the game. Like everything else in this game, there are no off-the-shelf solutions to navigation, and the fact that there's no clear axis of movement will make everything more difficult. So - by next blog, my aim is to have AIs wandering around and able to interact with the player-character. Then it's time for catacombs.

Never Neverland
As a final note, I'm also aware that what I'm trying to do is stupidly ambitious, and that most people fail miserably when they attempt something this big on their own. But then, if people didn't have a go the world would be so dull.

Thursday, May 20, 2010

Incoboto Teaser Screen

I know I shouldn't do this so early, but it helps keep a record of my intent, and - believe it or not - giving an image public wings keeps me motivated.

So here it is: the first teaser screen of incoboto.

I'm trying something completely different, combining physics programming, my interest in generated content, cute-yet-unsettling moods and ambient music.

Game-play is really simple to control but has a lot of complex and chaotic repercussions.

I'm also going to be exploring the space between software-toys and games. Hopefully people will have fun with this even if they don't 'win'.

I'm also going to try and maintain a 'there are no bad things, only less-good things'. It'll be a challenge, but that's part of the fun.

Wednesday, April 28, 2010

First two tracks available...

Only a minor post. This is the first pair of Kitty Genovese songs to make it out into the world.

While You Sleep

Noone Knew Kitty Like Me

I'll post more as I go on.

Tuesday, April 20, 2010

Primary and Secondary

The First

I have uploaded video of the original version of Flaboo! from 2006. I coded it during a holiday in Cornwall - that being my idea of a nice, relaxing time. I believe it's one of the first of its kind: the endless jumping game. It's odd to know you pioneered a genre long before it became popular.

[Edit: see note from Kalev about 'NS Tower' which was developed in the early '90s!]

Flaboo! often gets compared to 'Doodle Jump'. Those who consider themselves in-the-know wink archly and say, "But Ah! Papi Jump was first..." I'll have to invent some other facial tic to preface my statement: "ACK-tually, Bounce was first. And here's a video of the original code running on a really old mobile."


I'm sure the scientists among you will state, quite correctly, that this does not constitute a proof. Furthermore, I'm aware that having not publicly 'published' Bounce (only a few friends downloaded it from my site) it is hard to verify.

However, I'm not attempting a scientific proof, nor gathering legal evidence. I know my little Fat Chick was bouncing high into the sky for years before the benozzled quadruped ever left terra-firma, and that's enough for me.

The Second
In other news, I'm facing 'second album blues' trying to decide what to do next. I've now built the animation exporter for Blender, so I can get more complex movement into games. However, with my experiences from Flaboo! it becomes quite hard to decide the best way to move next. I have about 6 game ideas to choose from. Some are ambitious. Some are quite simplistic. Some are very hard-core. Some are casual.

After trawling the feedback from the Free App A Day release back in March, I realised that I wasn't quite sure who I was making games for any more, nor were my personal motivations for making them clear. Here's a selection of the reasons people usually ascribe to their development:

1) To make money
Bwa. And indeed, Hahaha.
The iPhone market is so monumentally flooded with cheap games at the moment that it's hard to make any kind of impact, no matter how good your game might be. Getting your game into the top 25 is much like winning the lottery. I assure you, Flaboo!'s profit is negligible.

This is not the reason. Case 1 fail.

2) To make people happy
I've received quite a few positive comments about Flaboo! via email. When Flaboo! first came out, it averaged as a 5-star game. All seemed well.

However, a curious thing occurred when I made Flaboo! free for a day. My rating went down to 2.5 stars. There really does seem to be an enormous conceptual link between price and perceived value. In addition, I had one chap tell me that if he purchased an app which later went free, he went to all the app stores around the world and spammed them with negative comments to vent his ire. We're talking $0.99, folks. He would have spent at least an hour doing this. That's a lot of rage for such a tiny sum.

From some of the negative feedback and comments I received you'd imagine I'd violated their favourite pet with a novelty toothbrush. For these individuals it seems I actually made the world a worse place than it was before the little Fat Chick came into their lives.

Still others spent so little time even trying to play the game that they didn't realise the game had a) sound or b) tilt controls.

Oddly, and perhaps unscientifically, I find that the energy the world uses to fashion venom and negativity far outweighs the energy used to say something nice. I think YouTube comments illustrate this perfectly.

As a result, I don't feel making small games makes the world a happier, nicer place. Case 2 fail.

3) Just 'cos I have to
If I don't work on games for a week I start to go a bit funny. Ideas start bouncing around my head like ping-pong balls and I start gathering bits of paper together and start scribbling on them like a 3-year old on a tartrazine drip.

My work on Fable 2 largely consisted of director-like duties: ensuring things 'felt' appropriate to Fable, that the story's pace moved appropriately and so on. Despite its resemblance to game creation, it didn't feel like making a game to me, and that dissonance is what started me down the path of being deeply unhappy.

Now all these cares are absent, I'm a little too free. Ideas and justifications for each idea speed through my head and vie for attention, meaning it's difficult to decide... anything. The difficulty with making a game 'just 'cos' is that every damned idea seems like it's the most appropriate - depending on when you ask me, what I'm listening to, and how much coffee I have consumed. As many old club-going friends of mine will tell you, constraint can be a good thing.

Case 3 - a tentative 'yay'. With reservations.

So What Now?
In view of the circumstances, I have decided to take a short break from actively pursuing game-creation. I'm giving myself some time to write a CD based on the events surrounding the death of Kitty Genovese. The first track is here. There's a bit more work to be done, and about six more tracks to write, but I think a break from coding is a good idea. With luck one of the ideas bubbling around inside my head will rise to the top - and stay a while.

Tuesday, March 9, 2010

The Tortoise and the Hair

I've given in. I have succumbed. I have turned up my tootsies to the sky and cried 'Uncle!'

(It's always perplexed me that one's indication of submission would be to scream out the title of a family member. Odd. Possibly Freudian?

I have given up writing the Android version of Flaboo! The reasons? Oh, there are many...

1) Speed.
2) Java constraints.
3) The difficulties of writing native code.
4) The un-enjoyable development environment...

...to name but four off the top of my increasingly shiny head. My remaining hair now has a tuftier appearance than usual due to my grabbing fists-full of it in frustration.

When I left Lionhead, I filled my mind with thoughts of skipping through flower-filled fields, care-free, bouncing along greeting the trees and bunnies with a latte in one hand and a tiny, portable dev-machine in the other. In these fantasies I'd sit under a tree while butterflies kindly offered me refills (strong buggers, these particular lepidopterae) and helped me with my typing.

As such, Flaboo! was largely an experiment. It was an experiment in testing out the iPhone development environment. It was an experiment in working entirely by myself. It was an experiment in changing my life.

As such, it was pretty successful. I love Flaboo! I really do. It's one of the purest and best games I've ever written. It might be simple, but it's really, really 'clean' and incredibly addictive.

As such, I thought that branching out and spreading the Flaboo! love to other platforms would be a good thing to do. After all, the game originally started out as 'Hopping Mad Simon', written in Java back in the days of the Siemens MC65. How hard could it be?

Earlier in the year I went to the Google Android developer conference in London, and the folk at Google were kind enough to give me a Nexus One. They also listened to my questions, and have a spiffing support site filled with little gems for the burgeoning android developer community to sink their little milk-teeth into.

How jolly!

Creeping Dread
In horror films (um... take 'The Shining' as an example) numerous small details of 'wrong' slowly congeal into one super-powered 'mighty-wrong'; an axe-wielding Jack Nicholson in the case of 'The Shining', and Wendy Richards in my own personal nightmares.

Look at that face. It's Evil Edna in a wig made from Dougal's carcass. Brrr.

(Youngsters should look up Will-o-the-wisp and Magic Roundabout)

In the case of the Android, the first 'wrong' came when using the device. Its battery has roughly the lifespan of a chain-smoking mayfly who's eaten polonium-sushi for breakfast, followed by a nice long sit on public transport while wearing a bushy beard and a bulky, ticking backpack. Not long at all.

However, in light of the lovely pixel resolution and the early promise of a big friendly API allowing me to do things like play multiple sounds with minimal effort (no openAL! Woohoo!), it seemed like we were going to be bestest friends forever.

Then I started coding for it.

Android uses Java as its primary development language. Java?! It's a language named after coffee! That's awesome! Coffee! Yaaaay!

A warning bell should have gone off when everyone writing Android apps said: "Don't allocate an object. Ever. No, really." At the time I pulled a confused 'Father Dougal' face and moved on. It was a hint of the 'wrong' to come.

Converting projects isn't really a lot of fun as it mostly consists of copying and pasting code over to the new environment, watching a load of red lines appear, and realising that your original code was a bit poo. Slowly, day by day, you watch more and more lines (out of your 300 000 total) turn from red into black.

And then break. You see, Java is a bit 'special'... seemingly just for the sake of it.

For a start there are no unsigned types nor typesafe enums. More little bits of 'wrong'.

(Jack is now sitting at a bar drinking imaginary scotch. It's only a matter of time before the creepy eyebrowless twins make an appearance.)

Also, Java's strings and arrays do not terminate with null characters. That broke a whole bunch of my data-parsing code without me realising it. It wasted about a day; a day where I both gnashed my teeth and smacked my head on the table such that I now have bite-marks in the woodwork. More tiny helpings of 'wrong'.

(Oh no! Jack's typing 'All work and no play...'!)

iPhone Flaboo! uses openGL to maximise performance. I used big interleaved vertex buffers and manipulated them in real-time to get the rotations and scaling you see in the game. Java does things a bit differently (uh oh). You have to use ByteBuffers instead of arrays, and there's no sensible way to cast different portions of them to different types - vital if you're interleaving colours and vertex information. I wouldn't mind if ByteBuffer manipulations were fast, but they really, really aren't. Another 'wrong'.

The Slow Dance
Despite the various hiccups and a nagging feeling that this wasn't as much fun as it should be, I got all my lovely, complex, multi-layered, articulated sprite code working today. I tapped the screen a couple of times causing Fat Chick's cheery little face to appear on the screen.

By the time the game had 20 sprites on-screen it had slowed to a crawl. If you wiggled the roller-ball on the phone it ran at half of even that glacial framerate. In response I looked around once more to see if there was anything I should be doing (or not doing) that would help speed things up a bit.

After a search, the main advice seemed to be to change all my maths into fixed point. Fixed point? I've not used that since 1995! How retro does your hardware have to be to rely on the veritable 'Stonehenge' of game engineering? Big 'wrong'.

(Jack has now seized the axe and is telling all present that 'Johnny' is in the building.)

The other advice was to rewrite a majority of my code in C and compile it, along with all the android OS in a Ubuntu virtual machine or Cygwin. Yuck. As of two days ago there's better support for openGL in the NDK, but still.

Take a look at this. It's the final, capitalised Wrong to end all 'wrong-kind'. Debugging native (i.e. workably fast code) makes Lost's plot look straightforward.

(We've now seen the man in the bear suit, Jack has chased Danny around the maze, Halloran is dead and the titles have begun their roll. Oh, and Wendy screamed and cried a lot, looking much like a novelty bottle-opener with eyes.)

The Final Straw
I started Fluttermind to have fun and experiment with gameplay and graphics, not sit staring at a screen of hex for a day trying to figure out why a @&%£ing cloud isn't rendering properly.

There's no pithy afterward, I'm afraid. Eclipse/Google/Android and I part company today. It's the supermodel that turns out to be a hose-beast. It's the British Mars-probe that crashes due to a measurement error. It's the 'Avatar' that turns out to be 'Dances-with-Smurfs'.

Farewell Android. As I wander off into the distance I have absolutely no fear that you might follow me. Even at my pace you have no hope of catching up.

Thursday, February 4, 2010

'Flaboo! Lite' Now Available on the App Store

By the time you read this, Flaboo! Lite will be available on the App Store.

For those of you with the full version, this will mean naught. You already have the best version. Stop looking for greener grass on my side of the fence. I have a gun, and there's only grass over here. Move along. Wait a moment - actually, Flaboo! Achievements will be available soon, at which point the grass analogy fails more embarrassingly than a british bobsleigher's gusset.


Anyway... for those of you reading this who do not already have Flaboo!... um... well... what can I say?



Welcome to Fluttermind.

Nice to meet you.

You must be lost. Are you? Thought so.

Perhaps you were looking for a humorous 'fart' application, or the well-observed simulation of a pint glass, or - if I may be so risque - you sought a full screen depiction of mammary glands? If it is this last, I must say it seems bafflingly redundant considering you're reading this on the internet. The internet = Pornucopia. But I'm not one to judge. Dear me, no.

All I know for certain about you is that you are visiting the little-read blog of a game developer whose work you dont like enough to spend money on. That's fine. It's your right not to buy as part of a civilised free market economy. Without that, where would we be? Eh? Yes, that's right. Norfolk.

No, you go right ahead and read on. Make yourself comfy. Or better still, go and download Flaboo! Lite. It's free. Yes, that's right. 'Free', just like some of the beer, boobies and farts you were looking for. But better.

Go on. Download it. You know you want to! Quick! Before it's too late! Get it before all the 'Free' leaks out!

Saturday, January 30, 2010

Flaboo! 1.1.0 now available on the App Store

So it took a little while longer than expected. The Open Feint libraries were rather cryptically and inaccurately documented in places which meant that code which appeared to work did not in fact work at all. Particular mention must go to Matt Jaques who helped me solve that particularly elusive bastardo bug.

Various other fixes are included, including one an annoying sound bug which meant that drinking too much coffee eventually made you go deaf. Perhaps the gods are trying to tell me something. Perhaps I should drown them out with a nice fresh mocha.

Overall, thanks to the patience of both folks at Aurora and my beta test team, all the problems were eventually fixed, so the new Flaboo! is bigger, tougher, more competitive, and better than ever. Long may this trend continue.

Future Plans
I now have 3 big things on my 'to do' list.

1) Investigate Android as a platform
This fills me with some fear, as it's another API to learn, and then - potentially - a whole bunch of hardware specific issues to fix. Re-writing Flaboo! so that it uses 'virtual coordinates' and thus takes account of any screen size is no trivial task. Additionally, I don't know if accelerometer tilt is standardised between hardware types... etc... etc... I hate this stuff.

2) Flaboo! will soon be part of an Open Feint promotion. Woohoo!

3) Flaboo! LITE version will be out at some point in the near future. It'll effectively be Flaboo! with no Open Feint or leaderboards. The people who have bought Flaboo! already have bought free updates for life, so I hope they'll still feel satisfied.

And in Other News
On the non-Flaboo! front, I have two other games on the drawing board at the moment.

The Clockworks is something I've been thinking of for some time. It's kind of paying a debt to all the magical books I read as a child. The pre-pro screens are looking beautiful, and will be using 3D in a really unique way. The aim is to get across the sense of a massive, evocative, magical landscape on a very small screen, and create a gentle, if elegiac experience. That's all I'm saying about it for now.

incoboto is a complete departure from my usual work; a strange crossbreed between an art-house animation and tactile fun. I'm sure a lot of people will immediately say: "WTF? That's a game?" when they first see it. When they realise how relevant it is to them, personally, that'll hopefully change to 'Cool! Let's see where this goes!'

There's a lot of Fable in it, but not in the ways people might expect. It's also a great candidate for a GDC or IGF talk. If you want a hint, I was listening to a lot of 'Mesh' when the idea came to me. Music's a huge part of visualising a game for me - the right song can define a game from the outset, which is really helpful as the months go on.

As ever, it's still just me doing this stuff, so obviously one idea will take precedence, and existing customers of Flaboo! take precedence over everything.

Regardless, I'll post some screenshots when things are a little further along, and see how people react. It should be interesting.

Tuesday, January 12, 2010

Bayonetta - geddit? Hur hur...

Thumb Candy
Some years ago, an EA executive horrified me by stating that he considered good game-play to be 'thumb candy'. His usage of that term was pejorative; the elusive, golden specter we all chased was demeaned and derided, given no more value than flashy FMV, an eye-catching box, or the prominence of a particular store-shelf on which that box might be perched.

Thumb candy. That's like saying a book's plot and characters are of no more value than the cover.

This sat with me for many years as a psychic rallying-point, something with which I could mentally bash those from publishing and which I could use to distance myself from 'non-creatives'.

Now I'm somewhat at an impasse. I've discovered a game with great game-play and visuals to match, but with such risible, infantile wrapping that it actively detracts from the experience to such an extent that the experience is ruined.

I am, of course, talking of the introverted teen's wet-dream, Bayonetta.

I first came upon the game at the Igromir game show in Moscow. The show is so retro and booth-babe-fixated in nature that Bayonetta's lurid crotch-thrust poster didn't seem out of place. I assumed the game was some Z-lister's ill-conceived limited release and forgot all about it.

Then the hype began. This was a new breed of action hero, soon to wipe the floor with poor gay-icon Dante. This was an experience with game-play so sublime that Gods of war, and Ninjas gaiden quailed and quivered in its presence.

This was THE game to be playing, and to be seen to play.

So, out went the £40, in came the game to end all games. I put the disk in and began to play.

Very soon, I found myself doing a couple of odd things. I was wincing. I was rolling my eyes. After a while I realised that I was finding the whole thing incredibly embarrassing.

I'm no prude - I've had a fair few Giger calendars in my time, and can sit through The Crying Game with my parents, pointing to the screen at key moments, with no trace of a blush upon my cheek. But this was something so clumsily adolescent I swear I could detect the heady scent of PanOxyl Maximum Strength and Bacardi Breezers.

The Good
First of all, I'm genuinely in a quandry. This game's achievements - on paper - look exquisite: more than can be hoped for from a game of this type, and certainly more than is found in 99% of games on the shelves. For example:
  • It looks great: extremely high resolution textures throughout, loads of particle effects, wonderful-looking terrain and a cohesive art style. Most uncommon.
  • The frame-rate is so fast and smooth you expect to have to pour espresso into the console to keep it going.
  • The heroine's move-set is large. Really large. Beat-em-up large. And changes with each weapon you pick up.
  • Enemies are well-designed, very imaginative, and beautifully rendered. The angels are as magnificent as they are gruesome, suffused with a Renaissance filigree that makes them quite identifiable and unique.
  • The game tries not to bore you at any point, giving you time to practice moves during loads; a fantastic idea.
  • You can try moves before you buy them. We tried doing this in Fable 1 and 2, and failed to get it into the game due to time constraints. Newsflash: it really does work.
  • The experience is very varied. Incredibly so. At no point have I ever felt I was grinding my way through any part of the game. I am constantly surprised.
  • Most importantly, the game feels good, solid and tactile. Years of tropes honed in beat-em-up-style games come out to play, and the use of Witch (bullet) time is well considered and better executed. 5 stars.
The Bad
So, what could the problem possibly be? How can you find one thing to moan about after that, you old misery? How does one look this particular gift-horse in the mouth?

Bayonetta herself
Christ in a bucket... where do I start? Many years ago, Freddy Krueger - Wes Craven's nightmare killer - was cool, terrifying and shadowy. Hollywood thought him too iconic, too commercial to remain in the shadows and had him turn into a tap-dancing psychopath with truly awful one-liners.

Bayonetta starts out that way. She is designed to appeal to young men who have never seen women in the real world. Ever. Not even in a supermarket.

She looks like Sarah Palin's porn-star sister, with a wit to match.

She is deeply unlikeable, sharing a vocal style with Batman and Robin's 'Poison Ivy' as played by Uma Thurman. Not a good choice. At no point does she utter anything that isn't a derisive sneer, delivered in a mock-English accent that would shame Dick Van Dyke.

Most of the time, Bayonetta wears a catsuit with pale gloves. Apart from when her clothes fall off. See, her clothes are made of her hair... sort of... sometimes. This could have been a cool idea, but it soon becomes clear it's only there so they can remove all her clothes when she performs certain moves - usually ones involving her spreading her legs and giving the surrounding baddies a lead shower. Unfortunately, they break this rule of 'big attacks use her hair' all over the place, making it far more blatant an attempt at sexual edginess than it needs to be.

She has guns on her feet. No idea how she fires them. On her feet. Um. It means she can kick really hard... and shoot at the same time. Yes, it's as silly as it sounds. I'm not the sort of guy who questions Elmer Fudd's motivations in Bugs Bunny cartoons; they're predicated on the idea of a talking rabbit, so all bets are off. But so many elements of Bayonetta seem the creative equivalent of Alan Partridge's 'Monkey Tennis': invention for the sake of invention or - more accurately in this case - puerile titillation.

The Story
The story of an Umbran witch's attempt to find the gem of whatsit is... shit. Random, visually led, gold and gem-encrusted shit, maybe, but turdy nonetheless.

Imagine a group of men sitting around a table trying to imagine what a teenage boy would think was cool. Random scene follows random scene feebly pulled along by the quest for... um... see, I've forgotten already. Where was I? Oh, yes. Randomness. Like this:

"Hey - how about she shoots a bullet up the willy of Belgium's famous peeing boy?"

I know it's supposed to be audacious, 'cos, you know, she's a WOMAN and she's shooting a bullet into a COCK! Hee hee. See the imagery? See the metaphor? SEE IT? SEE IT, YOU NEANDERTHAL EUNUCH! SEE IT AND APPRECIATE OUR MUSCULAR, THRUSTING TAKE ON FEMINISM!

Her clothes fall off every 5 seconds, guys. Your 'girl power' schtick is somewhat lost in the cleavage and thrusting pudenda.

Oh, there are some other characters in there, too, but I literally couldn't tell you anything about them. I think they said some random things like: "Holy SHIT!" as something exploded nearby, or "What a day!" as their car was thrown through the wall of a... I dunno... Tesco Metro or something. I'm afraid I was so bored I did what I never ever do ever ever ever. I started skipping cinematics. Yup. Every single one. That bad.

Yeah, I know nobody cares about videogame stories. But... Bayonetta is supposed to be a character rather than a cipher, and thus the story is supposed to be there to make us connect with her. Unfortunately, the story and dialogue are so egregious that they'd come a poor second to an episode of Acorn Antiques re-cut by Tarantino.

The Pacing
I like Norwegian Black Metal. Not all of it. Not all of the time. Nor do I like the bands' politics. However, when I'm in a nihilistic mood 'Thorns' is just great. However, I have no desire for Thorns to be the sole musical form I listen to for the remainder of my life. See the analogy? No? Then I'll rant some more.

Bayonetta's pacing seems based on the single precept that something must explode at all times. If something's not exploding, someone will randomly throw something else into the environment that will explode. Are you standing on a bridge? It's going to explode. A Colosseum? Explodeyness awaits. How about a park? I'm afraid something will throw an oil truck into that park, it'll explode, then something bigger will pick up the entire park and explode it some more. Still sound cool?

The first time this sort of thing happens, you go: "Crikey - that's spectacular!" After the 50th time, you hear yourself mutter: "For heaven's sake. Just stop it."

When you strip back the explosions, you'll find strangely restrictive environments. Invisible walls abound and funnel you toward the next explosion at all times. There is no opportunity to explore, no reason not to run forward, and no sense that there was anything more to a level's creation than the developers' desire to blow something up in your face around the next corner.

It. Becomes. Tiresome.

If Bayonetta Were a...
If it were a film it'd be a porn version of Matrix Reloaded directed by Stephen Sommers*.
If it were music, it would be thrash metal produced by Stock, Aitken and Waterman.
If it were a book... nope... there would never be a book of this. It'd be empty and still somehow confusing. Marvel Comics' worst excesses are works of Shakespearean wit and subtlety next to this confusing mess.

Final Moan
Despite its obvious technical merit and the evident ability of the team who created it, I think the game lacks several things which I increasingly value over and above pure twitch game-play - as amazed as I am to say it.

Its characters, story, world and tone are gaudy, superficial and cynical. I know that doesn't count for much in a world where few companies can make a game that feels good to play, but the world has moved on. Surely we - as an industry - are capable of so much more than this?

I find myself wistfully looking back at the relative restraint, beauty and atmosphere of the first 'Devil May Cry' game, when Dante was a brooding, near-mute hero and the environments he roamed cohesive, explorable areas filled with a sense of menace. I long for the occasional moments of true tragedy in the first 'God of War' that made you feel that the guy you were steering around the Elysian fields might have depth, and I warmly remember the sense of achievement I felt when maneuvering the great concentric circles of a dungeon on the back of a striding giant into just the right alignment.

While I'd never agree with the guy who said that gameplay was thumb-candy it seems there's more to great games than RSI. There's heart. This game is a cynical, heartless bitch.

If only Bayonetta herself had that much character definition.

*Not even Michel Bay would touch it, and he's a tit.