Mr Bubble Amidst GameCity

So this Friday, I showed off my WIP game Mr Bubble Amidst The Fireworks off at Gamecity. Gamecity itself was excellent fun. I'm writing this, happy and drained, on the train back to London. I'm going to write about feedback I got from people about the game, and subsequently where I might take it. This may be long and rambling, as I'm kind of working through this stuff as I write. Fair warning.

So first off, people seemed to enjoy it! Hurrah, and woo! There were loads of kids running around, and maybe the largest proportion of my players were under ten. And they totally dug it! I had kids who came back to play it time and time again. A lot of them played against siblings, or played against other kids, or played against their parents (who had very variable levels of gaming literacy). Ultimately it is a game where you press a button and pretty colours appear, so I guess I shouldn't be too surprised. I hadn't thought about how it would go down with kids, but it turns out : well. I'm probably being unfair on the kids to suggest that it's just "the press button, make pretty" appear that appealed. I guess the "fuck you buddy" mechanic has a good appeal - the kids far prefered playing as The Fireworks than as Mr Bubble. (I totally ended up playing under tens and swearing when they hit me. I apologized once, and the kid reassured me that he swore all the time. I guess I deserved that.) They'd be happy to play through when it was their turn, but often they'd be like - no, no, you have this controller! when players swapped. Fair enough, I guess. Who'd not rather be powerful than powerless? 

Opposing this, I also got the comment once or twice (but I give it undue weight because I share it, sometimes) that it was better to be Mr Bubble. Far more relaxing to just operate at the lizard level of dodging and viewing the field, than to start building up layers of strategy. What enemy has unlocked? Where's Mr Bubble? What enemies will this one place? How much charging to do? How are they playing? What pattern goes with this pattern? etc etc. These ae the questions I hope to have people dealing with anyway. I'll admit that they probably aren't all necessary thoughts currently. Certianly, the kids delight (and success) at being The Fireworks shows they're not necessary for playing. Hopefully they give an advantage - but it's dreadful slim over random chance fucking Mr Bubble.

And of course this lack of effort, lack of beautiful contruction by The Fireworks affects Mr Bubbles experience - it's not joyous unless it's hard, you need to be put into the right position between challenge and slack to get into the zone, as the literature says. Which was often the case on Friday - as I guess it always would be, with novice players with varying levels of skill rocking up to a brand new game. But that sense of skill progression for The Fireworks - that wasn't there either. You learn the mechanics, and there's a few wrinkles there, and then you can try out various strategies, but the later strategies aren't much more complex than your earlier ones. As I think I ranted to someone out on the floor, games is all about learning. That sense of "achieving mastery", that's something like a synonym for learning. And that's kind of missing from being The Fireworks.

Later, I was talking to Ricky Haggett, and he was suggesting ways to deepen the experience for The Fireworks. I, entirely fairly, summarised his suggestions as "farming" and "crafting". So "farming" was : The Fireworks collects bullets that he's fired. And can use those bullets to unlock new enemy types. He's building a more complex structure, as he has these parallel goals, killing and pinning Mr Bubble, and sowing for his own upgrades. "Crafting" involved creating a tech tree - instead of the current random ordering of enemy unlocks, there'd be a tech tree of unlocks, and your choices down it would be decided by what you placed. Deliberately develop your playstyle to get particular enenmy unlocks. I was sceptical, as I always am of other people's ideas. But thinking it over now, it seems like the random order timed unlock system, while a real improvement over what was before in terms of pacing the game and introducing things slowly (and mixing up the rounds, and leaving new things to discover on rounds 2 and 3) isn't good enough. The randomness seems unfair, as the enemies are not (and may never be) balanced carefully enough. And it's not delivering in terms of forcing differing strategies. But I think I kind of reject Ricky's other ideas - they involve simulating learning and progression with ingame rewards, whereas what would be much better would be real learning and real depth going on. Not just in terms of an artifical layer over, but in terms of how to be an effective terror for Mr Bubble. I might be just making things difficult for myself here. And I think Ricky's suggestions were more in aid of leaving more room in the system to explore. More interactions to deal with, more to see at the 30 minute mark and the 1hr30 mark and the 5hr mark - not just in providing rich systems to gain mastery of.

Ultimately, without overthinking it too much, the problem comes down to the enemies. They kill others not of the same type too readily. This means an effective strategy will generally be a monoculture. Fill the screen with Zoomers and Zoomer-bullets, and they'll be pinned and eventually die. Trust to random flak from the Sprinklers, eventually. Or keep them shuffling along between some Strafers, and then maybe put something in to bisect that area, and hope they die escaping. There's good odds, there. Or just use Snipers, because they're a menace. Or spam Splodeys as fast as you can and trust in quantity. The enemies are reasonably balanced, but it's always the monocultures that are the dominant points. What's needed is enemy types with rich interaction between each other. But how, without breaking down the "but enemy bullets kill each other"? What if --- what if enemies could only kill their own types? That'd allow all these strategies to work at once, which'd be bollocks for Mr Bubble, but sweet for the Fireworks. What if you could choose colours for your enemies, but only different colours killed each other? They'd have to be some gating on the amount of one colour you could spawn. A mini-economy? A new incentive for diversity? Designing something subtle enough, something homeostatic enough which keeping it comprehensible in a sentence or two to a five year old... that's a fun task to sleep on.

But hiding richness in the interactions is where the joy comes from, where the dev time goes to. Phil Fish says half of Fez is hidden, behind the scenes content. Dark worlds, subtle, to be unlocked. Stuff to delight over discovering.

Right, that's a whole bunch of core mechanic work that's there to be worked on - man, is it ever hard stepping back from a project with some polish on and making dramatic changes. It's a bit easier earlier on, but just recasting the whole thing is sometimes the absolute best thing. Switching from a tail cam to a static isometric camera. "The Fireworks try to kill Mr Bubble, but the fireworks kill each other, so there's some strategy" to "You're got to try to make fireworks that can kill Mr Bubble, details unknown". But the good thing is I can make these changes, and the game is still pretty. I know the code, I can work pretty quickly on it, it's probably the cleanest code I've ever worked on, it's warm and at the top of my head. This is a healthy patient to be performing surgery on.

And it's pretty! It's pretty already! David Hayward said "Wow, this looks a lot prettier than the build you submitted to Eurograme Indie Expo". And it's totally true. Everything is nicely animated when it lives and when it dies, bullets fizzle out, the enemies and the player glow, and are alive, the speckles float by underneath, the whole thing has a look of it's own (someone said "Hey, is that Conway's Game Of Life?", yes, that was totally on my mind when I made the bullets. Although their pattern is reminiscent of the blobs that stay in one spot, oscillating back and forth, rather than the blobs that crawl...). Looking at it, it looks different. It looks austere. It glows, but it is not a giving thing, it has a charcoal background and things move across it. This being achieved by my innate tendency for subtlety, for wearingly getting gaming effects from a sfumato approach. Laying one layer down nice and thin, and then going back and doing another when it's not strong enough. And another, and another. And if you don't lose patience, then a marvellous result can be achieved. Eventually. I've pointed out to many people that the speckles cluster around the fireworks' cursor, and avoid Mr Bubble. I'll be surprised and overjoyed if anyone ever points it out to me. But the culmination of these details matter. And, more importantly : when I was writing that code, I was working on this project for my own delight at making. And it was great fun working out how to do that effect cheaply. It had a worth of itself.

Am I not now working for my own delight in making? No, not really. I'm showing the game off, I'm thinking about getting press and attention for it, I'm putting it into conferences and scheduling time working on it based on deadlines for them. But it's a good thing, already. And the stress is still fun, and the project itself is still fun. If writing this State Of The Project doesn't fizz me up for it (and it seems to be) maybe I'll give it time to breathe.

======

As I write these kind of things, I find my attention sparking onto new things to write about. So as to not become a terrible octopus of a train of thought, I make notes below the cursor, and when I run out of steam, I write one of them up. The last one I tried "this was made in flash?!", but we barely scraped into that topic, so let's go at it again.

So - yes - lots of people asked me what this was running in, and a fair few were surprised when they were told it was done in Flash. (because it was so pretty! <3 *warm fuzzies, sense of delayed reward*) I wasn't aware it had achieved particularly high heights for Flash, but maybe it has. Maybe it's also the expectations of marketing that technologies create. Flash is for 15 minute browser games, it's for Armor Games and Newgrounds. It's not for fullscreen austere things (even if they're also less than 15 minutes long). Not for Serious Games Shown At Things. But yet, here it is. (Here's a nice article with Ricky about their dev process, prototyping everything in Flash) I guess also the 360 pads make people not think Flash.

Which reminds me! The way I got the joypads for GameCity working was the quick and simple hack of plugging in JoyToKey with mappings from Xbox 360 controller to The Beast's mappings. So it emulates it. But this means we're using analogue inputs to make digital inputs, which are smoothed to an analogue response (actually, not in the case of The Fireworks - but "movement speed" has just been added to the upcoming topics). So that's kind of sucky. If I'm showing this again using pads, if that is becoming a proper platform for showing it off, I should really look into actually talking properly to the pads and getting the analogue input. Mr Bubble will become a lot more controllable, and placing fireworks will be able to get a lot more precise, quick and accurate. Generally all round improvements. The triggers should cycle weapons, or maybe fire - I don't actually play enough XBox games to know what the default affordances are. The triggers suggest charging to me, but having two shoulder buttons also suggests cycling/rotating through things - like (la la la, I played this today) Fez. It's cheap to try the variations and see what's natural, so that should probably be what I do. Certainly thinking of what buttons can be pressed on a pad vs The Beast leads to more verbs. If I'm redoing selecting enemies, why not have only 4, and each face button picks one? Or use the natural mapping of colour to good effect there?

Which talk of controls leads to one early thing I noticed (before my brain fried entirely), that I found wonderfully strange. People laugh more playing it on the arcade machine. It's different, sat down on a comfy chair, arms at ease. It's less funny. I felt this. It's still a neat game, but it's less directly competitive. You separate your games. Obviously, it being the bullets-fired-from-the-thing-you-placed rather than the bullets-you-fired clearly leads to more separation, but it's a wonderful idea that this feeling is affected by physical proximity of the players. That ergonomics affects humour is a lovely thought. And the game is different when not designed for The Beast. For that mater, the mode I usually play while developing is Fireworks-as-mouse, Mr Bubbles-as-WASD. And a mouse can't wrap (Flash won't let you grab the cursor and do funky things to it), but it can move at approaching-infinite speeds. So the Fireworks have an advantage when placing. The Beast's movement for The Fireworks is a cheap copy of that. But it's worth looking at afresh. Games should fit devices properly, not be bad ports. But how do you justifying making a really good port when the machine is too small to be worth developing solely on? That this project-for-two-machines suffers the bad port cancer of the game industry is a amusing thought. It'd be more amusing if it wasn't my fault. (The actual answer for how you do it comes from the section up above, on the joy of making things for making things.) Similarly, the treaclish handling of Mr Bubbles works (I think) excellently on The Beast, but poorly on a pad. If you're hanging off the stick, making movements a few inches across to yank him about, then making him a object requiring yanking is ace. But if you're making a precise thumb-twitch... you want a precise tight result in response.

It's odd that I've neglected this side of stuff so much, as I am usually all about tweaking the curves and the handling of stuff. At work at the moment, we're having endless fun tweaking a curve a fraction this way or that and trying to evaluate the change. But all we have here is a simple iterative lerp, and nada more. Worrying sudden thought - that iterative lerp isn't framerate independent. Fuck. How embarassing.

But yes, thinking about radical surgery, and challenging accepted layers of the game - let's talk movement speeds and handling. Should Mr Bubble be able to outrun bullets? (yes) Should he be faster than The Fireworks? How large should the cancellable charge radius be? Should I finally put in the constant dead-zone of charging around The Fireworks? (yes, why the hell haven't I yet?) How should Mr Bubble move? How precise? How nimbly? How best to let him dance? How best to give The Fireworks control? How best to let him ignore his physciality? To abstract his presence down to sheer tactical intent, under constant time pressure? Is that even an aim? I should talk to Aubrey. He loves this shit.

The most common suggestion I've heard is "there should be some way for Mr Bubble to get back at The Fireworks". Every time I hear it, I push back at it (though I do love feedback! Please send it my way. But I might politely ignore it for a little while, and then adopt it and claim it as my own.) I like his limits. But still, I said earlier that most people prefer being The Fireworks, because they can do more THINGS. And as you increase Mr Bubble's options for pushbacks, you add complications for The Fireworks. But I do so love the lizard level of Mr Bubble... So there are two ideas that came up (read: were suggested to me, ignored for a while, and now adopted and claimed as my own) that I'm going to explore. Firstly, making the charge on The Fireworks larger, and hence more poppable (also, always present on the stage - less possibility for leaving mines in the path of Mr Bubble, and fucking him that way). This makes The Fireworks more corporeal, which maybe is a sensible thing to do. Certainly his non-corporeality is tied into the mouse's approaching-infinite speed... I have expanded on this above. The second is to remove (maybe) the inconsistency between how the Snipers behave and the rest. In the game currently, the Snipers die if they get too close to Mr Bubble - maybe everything should be like this? It'd give Mr Bubble some more options for pushback, add another level of intermediation for The Fireworks to contend with... These are subtle expansions, the sfumato approach again. Any other ideas?

One thing I added for the GameCity build were little contextual bits of text. While this may well have still been misfiring, I found they were not noticably effective. Maybe it's just I pre-empted them by explaining them a few seconds before*, maybe it's just that utter unwillingness to read that everyone has, maybe it's just that if they did work, they did so silently, and it's harder to notice a lack. I'm happy with their look, so I'm not going to rip them out. But maybe I need another layer...

Such as something on the title screen? That too was new, and seemed pretty handsome. It was joked I should have an elaborate and melodramatic backstory for Mr Bubble, which actually would be pretty funny. I got some compliments on the tone of the copy, as minimal as it is. It's an area I am super unsure and unconfident about. I am not a practised or confident writer, and I take the same approach as with I do with art - minimize the amount I do, try to keep it consistent, and hope I scrape through. But both got praised, so maybe I'm doing okay. I do wonder if the enemies themselves should have better diegetic names. The Swizzler, the Woosher, the Crawler, something something, proper firework names. But then, not naming them, letting the text remain so very minimal - that's lovely too, and I guess I should keep it. I do feel nicely retarded explaining mechanics and making reference to how they're named in the code.

The main focus of my work on the game the past few weeks has been just adding more clarity to systems. Smoothing in the introductions, adding flashy background things to explain the music, the text, sound effects -- all are there to communicate the core to the player. And now I guess I'm getting to go back and hack on the core. That's fun! But then you have to go back and do the same again, making the new stuff clearer. When it works well, you don't even percieve it as communication - things just appear, complete with significance. These signifiers - some visible, some not, some completely primal, some cultural, some vidiogame specific, some that only makes sense within the context of this game. Mr Bubble is white, all the fireworks are not. UI and The Fireworks have transparency, c'uz they're not real, but once an enemy starts spawning, that's got a colour. The point isn't that you notice it, that you necessarily have the deep literacy to dissect this stuff, the point is that it works in bringing the significance along.

What else to report? Technical issues! I ended up launching the game in a web browser because that made it faster. Why? I don't know! I was bashing my head against this previously. Maybe plausibly it's my graphics card conking out - I have been having some issues with Windows not redrawing parts of the screen sometimes, but then I seem to have a problem with Explorer as well. And before I installed a new CPU fan controller thingy it was getting super hot. Maybe I crisped it? Maybe Flash is just weird. See my previous post for more ranting on this. But, anyway, I arrived, plugged the big monitor's resolution into the appropriate bits of code, fullscreened a browser window in the right monitor and ... ah fuck. No way to reset the game, save for unfullscreening, refreshing the page and refullscreening. Not smooth! So I coded in the button "R" to send the Javascript command for "reload page". Copying the code from the net on my mobile phone, a few minutes before opening... I like living on the edge. That kinda worked, but it did need me to mouse-click to start the game (give Flash focus) which clicked through the start screen and into the game proper. Ah well. And then after a few hours of that the game started running slower and slower. So I restart Chrome, and it's fine... So I just did that every so often. But this mystery is still mysterious... And getting it running fast in fullscreen would be absolutely lovely. I don't know exactly what to do about the framerate - I've been reasonably cautious the whole time, and it's generally not in Flashpunk's "update" that most time is spent. There were slowdowns when spawning lots of bullets the first time, which I can save by creating a pool at the start, and the floating background clouds aren't in it anymore for stupid memory usage, but... More work needed. And coding around technical limitations like this just slows you down and constrains you, makes you make features less awesome than they should be. But the game working, running at a decent framerate at a decent res... What have you got without that?

So what have I got left in my list of things to talk on? The big question - "How far do I want to take this?". I don't think I'm ready to answer that yet. What platforms? After this weekend, I'm more convinced this can work as a thing people buy, though it still seems optimized for public settings. But then, so is Street Fighter, and that does okay. These choices feed into... well, actaully they mainly feed into choices based around controllers. iPad means touching the screen, and how that could work. You can't see through hands, would that scupper it? Or stupid onscreen sticks? For two players? One each end, holding the iPad between you like a tug of war? (that'd be intimate enough to raise laughs) For two iPads, networking locally? I guess it can survive some latency, as the two are just disconnected enough... Do I want to grind on on this forever? I have so many other things I want to make! Old projects to be resumed! Hm. There are things to ponder on...

(* I try to adhere to a strict code, when testing my games, of not explaining things. But in this space, I felt it was only fair to provide a little context. Generally I told them their respective goals, and then sometimes hinted options like charging shots, and switching enemies if they hadn't noticed themselves.)

02 November 2011