Following on from last week’s first faltering footsteps into the world of game testing, this week we’re going to look at some practical application. To do this, I spoke to indie developer Andy Gibson, whose company Team Pesky is currently working on their second title ‘The Kraken Sleepeth’ due out later in the year.
First things first – Tell us a little about you, your game, and your company?
I set up Team Pesky about 2 years ago primarily to get ‘Little Acorns’ out but secretly I’ve wanted to go full time Indie for a long time. I worked with Dave Reed and Rich McClaughry to get an iOS version done. Chillingo published the game and it was featured on the App Store. I worked with Adam Smith to do a Windows Phone, Vita and Xbox version, then Pixel Toys and Dave again to do a 3DS version. I’m currently working on ‘The Kraken Sleepeth’, an original twin-stick shooter that will be out August as a Win8 App.
What sort of code do you work with and what do you like about it?
I work with C# and Unity but have only been coding for about 2 years so I’m very new to it, coming from an art background. I really enjoy the gameplay side eg. taking the player’s input and making the game react. Sound and music really interest me too, enemy behaviours, emergent gameplay as ideas develop, and anything involving art direction – lighting, vfx, character animation, etc.
I’ve not tried java or C++ but I like C# as it’s pretty friendly. I’ve learnt a lot from tutorials and a few ex-colleague mentors, but there’s so much more to learn. I take the view that everything’s already been done so look how smart people do things, ask the questions politely and above all, be prepared to do the work and put the hours in.
Two interesting points raised here. Firstly, as Andy says you can learn a lot from what other people have done before you. Of course you can – why waste your time trying to work out how to invent the wheel when you can ask Kwik Fit? Whilst this might sound like cheating, it isn’t, and it’s the way of the software development world; if you ever see a developer working, look over his shoulder and I guarantee he has Google open.
Secondly, by working with something that you’re familiar with you are able to use my favourite testing technique; static testing. I like static testing as when you tell someone you’re doing it they think ‘ooh sounds exciting! I bet he’s interesting! I wonder what he looks like underneath his clothes?’ In reality, static testing goes like this:
Step one – Look at it
Step two – Decide if it looks what it’s supposed to look like or not
Step three – Go make some coffee
Static testing is basically looking at something and checking it looks like what it’s supposed to look like. Think about paint by numbers; have you painted all the number 5’s blue? Yes? Good, go and have a biscuit. Have you painted all the number 4’s green? No you’ve made a paper airplane out of it haven’t you, now stop mucking about or you’ll never get your art degree. If you take something that’s tried and tested (or at bare minimum something that you know what it should look like) and copy it, you’d be amazed at how much time and effort can be saved by just…you know…looking at it.
So, to business. Who does your testing? (you/another developer/someone independent etc)
I break testing into 2 distinct areas - Focus Testing and QA.
Focus Testing involves watching players play your game. Do they understand what the game would prefer them to do? Is the game reacting in a rational way. Essentially, are they having fun, and if not what’s the friction?
QA is players deliberately trying to break your game – the rules, the interface and how your game works on a specific platform eg. iOS. I recommend dev’s do Focus Testing as early and often as they can, leading to QA soon after Alpha and again from Beta.
Ok so there’s a lot to cover here. First things first then; Focus Testing. If you remember last week (and if you don’t, click here), I told you the point of testing something is to make sure it does what it’s supposed to do. If you’re developing a game, it sort of stands to reason that the point of what you’re doing is to make something fun. Think about it – there are a couple of excellent examples of games out there right now from companies who’s litigious trigger finger warrants anonymity, but have apparently gone out to make games where the be all and end all is to make money through in app purchases. Fun doesn’t come into it, hence why Dungeon Keeper is getting such bad reviews right now.
So you want your game to be fun, how do you check? You can either do what I do and make all your error messages contain obscenities, so when it breaks it tells you to f**k off and makes you smile. The second is to actually give it to someone and let them have a go. Find out what they like and do more of that, find out what they don’t like and stop doing it. Simple!
We’ve all heard of a Beta (cough….Titanfall…cough), but the principle applies the same for all; a Beta test is checking that the game works on the customer’s machinery. As this is the second stage of testing, it would make sense that when it is checked on the developer’s machinery it would be called an Alpha test (fans of the Greek alphabet will no doubt be stunned by this). This always happens first as it would be stupid not to, but not having a Beta test runs the risk that whilst your game works fine on your jail-broken iPhone, your mate Colin the Square’s shiny new un-hacked version can’t handle it.
QA testing stands rather predictably for Quality Assurance. And like Andy says, it’s trying to broaden the scope of ‘make sure it does what it’s supposed to’ by checking that as much of it works as it should as possible. Last week I used the example of a racing sim where you line up on the grid only to be joined by eight hundred other online games doing the same thing; your QA testing will be checking that the maximum number of entries actually exists and that you can’t have ten people join if the limit is nine. Similarly, it’ll be testing that if you click on Online Multiplayer that you’re actually redirected to the online servers, and not to the Domino’s Pizza website.
Once again, I’m being flippant for the sake of making a point. Almost all of these examples would be caught at the debugging stage, which is essentially where the developer looks through their code and goes ‘yep that bits works, that bit too, that bit looks fine, whoops! That bit’s going to email my bank details and PIN number to the player! I must have been wasted when I put that in! Better take that bit out. Yep next bits fine etc….’ Debugging is the first stage of testing and irons out a lot of the major creases, so QA testing usually incorporates a lot of the less frequently used scenarios and the more complex interactions. On the subject of debugging….
How much time do you spend debugging before you actually get to a testing stage?
I tend to test/debug as I go, trying ideally to only implement one thing at a time. Then I regularly spend time playing the game again and again to find any loose ends, or unforeseen bugs.
Andy’s a smart guy, as what he’s talking about is regression testing; checking that something new hasn’t broken something old. Because I like racing sims I am going to return back to my now tired analogy; you add in the code for your nice shiny car, and it works fine. Happy? Yes? Good let’s move on. You now add in the highly detailed road surface art, so sharp that you can see the chewing gum and freshly trodden in dog turds by the kerb. When you try it again however, you notice that your once beautiful car is now a horrible shade of road, having taken on the colours of the track in the process. Just because it worked fine earlier doesn’t mean it’ll still be working when you’re finished, so it’s important to keep checking that each change you make or each section of development you add in doesn’t ruin the other bits.
What stages of testing do you normally go through (debugging/functional testing/integration of new code/end product testing etc)
One mantra I have is “keep it simple but make it beautiful.” ‘The Kraken Sleepeth’ is supposed to a relatively simple vertical twin-stick shooter so there’s little or no technical risk trying things never seen before. Being a one-man-team simplifies things and by trying to implement one thing at a time I can minimise the bugs.
I have no formal training in coding and having a visual training I tend to sketch out ideas. Then I can break code tasks into the smallest logical steps, implement each step, test it thoroughly then move to the next. Take a step back and play the feature, deliberately testing the ‘edges’ for robustness and stability. I do some refactoring after returning to classes after working on something else. This gives me a little perspective to see any duplication, or ways to shortcut or optimise routines.
If you’ve ever played an app game you’ll have heard of Unity; it’s the platform that most of them are created on. One of the big plus points of Unity is that it has an Asset Store, a collection of pre-written code which can be downloaded and plugged in to your project. In a nice piece of serendipity this brings us back to the analogy I used earlier; why waste time reinventing the wheel when you can go to Kwik Fit? The Asset Store contains a variety of different items, from tree’s to landscapes, to characters; all can be downloaded and plugged into your game. The challenge then is to make sure that when you plug it in, it’s compatible with the rest of your project…
Do you use Unity’s Asset store and if so how easy is it to integrate something pre-existing into your project?
‘The Kraken Sleepeth’ uses Hayate Particles and QuickRope 2. Anything that’s tried and trusted, and can save me time is a good thing. I’ve found both easy to implement and well supported by the authors. I’ve looking at several commercial plugins and will certainly be using more.
There you go; take something already tried and tested and use it to your advantage. You don’t have to waste hours testing the minutiae of your coding as you know that dozens have done so before you and perfected it, just a quick common sense check that you haven’t plugged it in upside down and check it’s not broken anything else any you’re away!
And that concludes the second lecture (yes it’s a lecture) on software testing. Big thanks to Andy Gibson and Team Pesky for their time and input, and if you’re interested in them you can check their Facebook page here https://www.facebook.com/pages/The-Kraken-sleepeth/646532388737478
Where buying games is concerned, I tend to follow two distinct patterns. For PC, I generally buy digitally, whether it be via Steam or GOG (with a preference for the latter). Occasionally, I might buy from another digital retailer, such as Humble Bundle or Green Man Gaming; sometimes I even purchase a physical copy. The rule of thumb, however, is that digital downloads have become the main source of my PC gaming fix. It’s convenient and it tends to be cheap.
This situation is entirely flipped when I buy my console games. Despite there being active digital distribution platforms for Sony and Microsoft, I will very rarely obtain a game from PSN or XBL. Sometimes this is because the physical copy comes with material benefits (such as a Collector’s Edition with loot), but more often than not, it simply comes down to price. Unlike their PC counterparts, console digital games tend to cost even more than boxed retail copies.
But I’m faced with an awkward decision when it comes to the release of inFAMOUS: Second Son for PS4.
Last week I gave the general overview of the game. But I’m not satisfied with simply telling you people to buy the game. Oh no, I’m going to hammer this game into you. In these cynical times when the games market is flooded and our options of what to sink our time into are many, we often overlook content in favor of simply gorging through games as fast as possible so we can get to the next one, never truly understanding the games we play or what makes them good. I savored this game. Every minute of the 90 ours I plunked into this I digested with glee. I wouldn’t say I’ve mastered the game like some of the people I’ve seen on YouTube who pull off perfect scores in each level, but I definitely feel like I’ve got some skills to pay the games bills and I’ve grown in my gaming experience because of it.
Up until recently I’ve stood apart from a large portion of the gaming community. Today the major franchise gaming titles are hugely grounded in multiplayer. From behemoth FPS franchises like Battlefield and Call of Duty, to FIFA and Forza, games are eschewing a meaningful single-player experience to focus on providing as comprehensive platform for gamers to compete against each other as possible. Hell, even RPG stalwarts like my beloved Mass Effect have taken the online multiplayer shilling. And thus far I’ve remained on the outside, looking in.
The last time I played an online title for any length was World of Warcraft, though to be honest I didn’t really play that properly as a multiplayer game. Sure I did the odd dungeon run, but in the main I soloed the game, which I’m fairly sure is missing the point a touch. Really, in truth, the last time I played online with any real engagement was in the days of Delta Force 2 and Quake 2. We’re talking late nineties here, so not the most refined experience. My experience then was not the best, if I’m honest. Pitted against the hordes of experienced players gathered in their clans, with just my wits, my rollerball mouse and my 56k modem, I found the going hard. Actually, I found the going to be bumpy, covered, as it was, with mounds of my corpses, as I re-spawned for the thirtieth time that minute only to be immediately annihilated afresh. Whether it was my horrific ham-thumbedness or their massive experience of the maps, playing the games was a deeply humbling and unpleasant experience. Let’s face it, spending all your time being shot and getting literally no actual gaming offence in begins to grate. This was early in the beginnings of expansive online gaming, so balancing and level design were in their infancy, meaning that good players could exploit the system something chronic.
Add onto this the end of round scoretables, with me sat bottom with no kills and a death count of astronomical proportions and you can see why I didn’t exactly enjoy the experience. And when I got myself a headset for voice in play? Forget about it. You know what’s worse than having no offence and being visibly and catastrophically worse than every other player in a given game? Having each and every member of your team explaining to you how badly you played, discussing the various life choices you must have made to become such a failure, raising the question of your sexuality, parentage, race and general ability to function in life and with much more exotic language than any 14 year old is expected to appreciate.
Now I’m not saying that ALL games from this time were like that, I’m just saying that all the games I played in were. Maybe I’m really just that offensively bad, but I doubt it.
So yes, from that point on online gaming and I had an understanding, I wouldn’t tarnish it with my horrific inability to play and it wouldn’t subject me to a rigorous cycle of abuse. So since then our two paths have never crossed, with me sneering at online gaming as frankly rubbish, comfortable in my assertion that ‘people ruin games’.
The thing is, though, quite a lot of gamers I know play online; gamers who’s opinions I respect. Tales of Battlefield 4 and the like would go around the office. Statistics would be exchanged and war stories recounted; all a shared experience that sounded a lot different to what I’d experienced back in the day. Still though, it’s one thing for it to sound like that, but quite another to experience right? So, I carried on in my nice little offline, solo gaming comfort zone thank you very much.
Then came the day that I got a Titanfall beta code. This was something of a problem, as my journalistic integrity (yes I have some, shut up!) meant I had to play the thing, but the idea of an online game, let alone a FPS one, didn’t exactly appeal. However, ever the dutiful correspondent I powered it up and dove in, fully expecting to loath it.
But you know what happened? What I actually experienced was one of the most engaging and energising gaming experiences I’ve had in years. While I didn’t have any voice-in-play gear set up (and so had little interaction with other players other than via the medium of ballistic metal) I did have the mano-y-mano joy of competitive gameplay I quickly discovered that there’s more to this online gaming malarkey than being shot and then ridiculed. There are roles for everyone, subtle nuances of gameplay that reward other things than just brutally murdering swathes of other people. Don’t get me wrong, the murdering is still pretty high on the importance list whatever play style you have, but it’s not always the be-all and end-all, which was a revelation. Indeed, things have moved on some way from the late nineties death matches. I may still be a cack-handed imbecile, but even I managed to find a niche, ghosting from titan to titan and destroying them. I even felt like I achieved something, remaining of the bottom of score tables and even topping a few, despite not troubling the top end of the kills to deaths tables. Hell, I even shot a few people.
And I only got tea-bagged twice!
The experience really made me examine my own pre-conceived notions of online multiplayer. A little bit anyway. Yes the gameplay had been fun and, yes, I’d begun to understand some of the appeal of the combative gameplay against others, but this was just a streamlined BETA experience after all. I had no other player chat to endure, no ridiculously levelled up opponent and nobody knew the maps like the back of their hands; a sterilised online gaming environment for sure. If I was to play a full online game I was sure to find the familiar old problems. My poor twitch reflexes and my complete inexperience would render me a hindrance to any team unlucky enough to be cursed with my ‘assistance’.
All was well again in my solo-game utopia until the aforementioned friends mentioned that Battlefield 4 was on offer and that I really should give it a go with them. My initial reaction was, of course, that I’d rather saw my own leg off with a rusty spoon, but a treacherous part of my braid pointed out this was a good way to reassert my belief that online gaming was as horrific an experience as I though, so before I knew it I’d agreed, purchased the game and was heading home with it, convinced I’d just paid a fair old whack of money just to be abused and humiliated.
What entailed was something of a surprise and in the hours and days since, I have been pursuing something of a personal quest; a personal journey of discovery and investigation into the world of online gaming, starting with online FPS titles like Battlefield.
Over the coming weeks I will be detailing some of the things I have experienced, the nuances of online multiplayer gaming across the board, as seen through the eyes of a (relatively) online multiplayer virgin; one that’s pre-disposed to hate the genre too.
Thank goodness I’ve upgraded that 56k modem in the meantime!
In the games industry, it’s a given that games are art. However, the general public are yet to be convinced.
The games industry today is abuzz with talk of the next generation of gaming. With the WiiU already with us, the Playstation 4 having been announced a while ago and, by the time you read this, Microsoft being about to or having just announced the next Xbox unit, you can’t move around the gaming web […]
Computer games, as much as any other medium, are mysterious things. They can stir our souls, hotwire our adrenaline glands or disappoint us to our core. For every person who plays a game there is a valid and varied opinion. It’s one of the things that make the subject of a game’s relative quality a […]
Across every genre of entertainment there are specific titles or releases that become synonymous with failure, that in the eyes of fans and critics alike embody the worst that the genre has to offer. They become the universal butt of any joke in that medium, the yardstick against which every other poorly-received release is measured. […]
Over recent years there has been a shift in the focus of the gaming industry towards online multiplayer as a gaming model. Indeed, the biggest sellers of this generation of titles have been primarily online competitive titles, such as Halo 4 & Call of Duty. Over this time there has developed a very distinct separation […]