production

An archive of posts tagged production.

How To Achieve Some Focus

2 min read

I’ve been fortunate recently to take a break from video game developmentand really focus on what the next exciting stage of my career is goingto be.  I was overseas for a week recently in a remote area of Spain andI was taken away from the ubiquitous 24/7/365 connectivity with theworld that we find ourselves part of everyday whilst trying to devoteourselves to video games. Back home internet access has become asimportant is breathing: wifi hotspots, fast data over 3G, netbooks and the iPhone mean that you’re only ever seconds away from a rich world ofcontent. Strip this away and you can really escape the noise and focus.

Outsourcing Artwork for Better Game Development

3 min read

Hi, my name is David Tolley and I’d like to share my many years ofexperience and extensive knowledge regarding successfully setting up,managing and working with art outsourcing teams for computer and videogames to throughout the world. Lot’s of practical experience indelivering a wide range of art assets into game and managing externalteams. Anyone new to (or interested in) the subject of outsourcingartwork for video game production should hopefully find what followsinteresting.

Why fixed 9-5 working time is bad for video game

2 min read

I often wander between favouring and hating the idea of a 9-5 culture atwork. On the one hand it fits in nicely with a family life where we workto enjoy ourselves, we turn up, do some work, go home and disconnect andplug ourselves into an entirely separate life.On the other hand, what we do as game developers is a creative process,it requires thinking, passion and creativity that simply cannot beturned on and off at preset times of day.Imagine a day likethis: 9am – be creative and passionate when you punch in 12pm – stop being creative and thinking about your art. 1pm – start being creative again, now, you’ve only got 4.5hrsremaining 5.30pm – stop thinking, park your creativity, go home, disconnect rinse and repeat.

Myth of the Silver Bullet Game Production Process

1 min read

There is no one development process that fits all; Scrum, Prince, Lean,Extreme and whatever the current fashion is all have their place and canwork but it's typically a hybrid that works best for you now. Thingswill change over time and the next team, platform, role or project mayrequire an entirely different approach. Having an adaptable approachwill make things smoother for you.Consider more formal methods for the meta-project such as milestonestructure and operate an agile process within those. Consider "beachhead" style changes to your production pipeline by introducing the newprocess to aspects of your project, e.g., introduce Scrum on your AIteam before you unleash it.This way, you'll get to iron out the bugs and if things go well then atleast you'll have trusted people on board when it comes to making thebroader change.Consider running agile process for the highly creative periods such aspre-production and concept and more formal methods for the middle bitwhere you're largely implementing your design.Whatever it is, think about the implications on the production andpeople involved as they're both intrinsically linked.

Finishing Your Video Game Production is Hard

1 min read

Every new projectstarts out exciting and fun. Then it gets harder and less fun, until ithits a low point-really hard, and not much fun at all. And then you findyourself asking if the goal is even worth the hassle.Are you a finisher?You’re probably at Alpha and the hard work really starts now, it’s timeto stop tinkering, tweaking and adding features and it’s time to shipit. Remember, the later in the project you add a feature the more itcosts and the riskier it is. Remember that feature that you added inMonth 1? It’s been well and truly tested against everything else in thegame, the new feature you added this morning is just waiting toexplode.Post Alpha - resist change. Test it, fix it, balance it, polish it andyou’re done. Save your ideas for the next one, it’ll be bigger andbetter anyway.Send me a link to what you’re passionate about, your game, business oranything! I’d love to know what you’re working on.

Flow - Make Better Games

7 min read

I’ve been meaning to re-present something I did for a whole gamedevelopment studio a while back about ‘Flow’. It instantly improvedproduction and was something we held dear as a team.Have you ever said anythinglike: “Wow, is it that time already?” “Sorry, I was miles away” “I get my best work done when everyone’s gone home!”If the answer is yes, then you’ve experienced a state of Flow andmost likely been incredibly productive. It’s sometimes called being “inthe zone” too among others. Here’s my take on a well-known psychologicalstate and why it’s important to game developers.Flow is a highly productive state of mind, time slips by and you blitzthrough work, making fewer mistakes, no thought about how much effortyour making and generally higher quality thinking goes into it too. “Flow is a condition of deep, nearly meditative involvement. In thisstate, there is a gentle sense of euphoria, and one is largely unawareof the passage of time.” DeMarco.I’ve been a long time supporter of enabling people to enter this stateof Flow and stay there so they can do their best work and enjoy it.It’s important for managers, colleagues, producers and businesses torecognise that supporting this can make a real difference to the qualityof your game.As you settle in for agood working session, you slip from your Regular un-productive statethat you sit at your desk at, through your Immersion phase into astate of Flow and this whole process typically takes you about 15minutes to get through, although it can vary from person to person.InterruptionsWe’ve recognised that the state of Flow is important and that ittypically takes you 15 minutes to get there. The problem here isthat there are many distractions and interruptions that break yourconcentration and send you crashing back up through the layers toreality.These interruptions mean you’re now back to the start and it’s going totake you yet another 15 minutes to get back down there and if you’d onlyjust got there then it was also a waste of your last immersion. That’s15 minutes lost for every interruption you get. This can be incrediblyfrustrating and it drives me insane!Imagine a horrible state we’re you’re constantly interrupted and neverget into Flow.Explicit Interruptions You get an email pop-up – +15 minutes IM pops up – +15 minutes Telephone call – +15 minutes At desk requests - +15 minutes ‘ping’ from a new text message on your mobile - +15 minutes Starting a long build – +15 minutesImplicit Interruptions Noise Interrupting colleagues – how often does your neighbours phone gooff?You can quickly see how this can mount up to a problem and in a biggerteam the problem compounds itself as the people who have beeninterrupted start sending emails, pop around to someone for a chat, askif you want to join them for a coffee, etc.There’s also a consideration for time of day too as if it’s close toyour break/lunch/home time then you’re most likely to just not bothertrying to get backI had a particular problem when I was running a team and sitting amongthem. I often had to use the phone to make or receive business calls. Irapidly became aware that every time I did that people stopped workingto listen to what I was saying and I was obviously disturbing them. Theyweren’t cross, they were just interested in what I was talking about andoften asked questions. I intended this to be transparency but I wascausing a whole load of drag on people’s time.You’ll also see this happen when you approach to ask someone a questionand the others around them drift out so they can pay attention.Mitigating InterruptionsHere are a few things you can do to try to helpyourself: Turn communications systems off and let everyone know why you’redoing it; E-Mail, IM and Phone. It’s not going to be forever and I’msure your manager/lead will be happy you want to be focused. Use your email apps Out Of Office system to auto-respond lettingpeople you’ll get back to them soon. This prevents them fromthinking you’re ignoring them for no reason. Set your email app to only check emails every 30 mins or so. Doemails really need an instantaneous response? ‘Zebra’ Mail - I’ve also used the email apps rules systems topickup keywords in the subject line to bring an alert up. In myexample people knew that putting the word ‘Zebra’ in the subjectline would mean it would get my instant attention. I could alsochange the word to prevent people just using it all of the time. Put your headphones on. This seems to be the internationalsymbol for Do Not Disturb plus you’ve got a damn good excuse for notresponding to general chat as you can’t hear them! You don’t have tolisten to music either, just pop your headphones on. Door Etiquette - If you’re fortunate to have your own officethen adopt a door protocol suchas: Door Open - ready for interruption Door ajar - priority interruptions only Door closed - Do Not Disturb on pain of death Consider other people’s desire to be undisturbed, do you really need ananswer to that question now?  Try and use appropriatecommunication: Time critical: voice Immediate & discreet: Instant Message Can wait: e-mailTeams and Studios should support this whole way of working by beingconsiderate and enabling people to work for extended periods in anundisturbed state.How long to stay in Flow & ExceptionsIn our game development world there are typically 2camps: Developers and Managers.Developers generally need to stay focused for 2 hrs to get anythingmeaningful done and make progress. I’ve rarely seen anything take lessthan this and staying focused for more than that is difficult.Managers are exceptions as they typically work in 20 min batches ifthey’re lucky. Their job requires constant monitoring and attention toothers and they need to use email, phone and IM to communicatethroughout the studio.People in a Lead role are caught between the two roles as they are oftenasked to both Develop and Manage. In this position they need time to dothe work but they’re constantly interrupted and this often leads to asense of immense frustration. I often see Leads spending the regularworking hours being interrupted and attending meetings but staying lateto do their work. It’s a tough place to be and the only advice I cangive is to try to time-box your availability so people know whichhat you’re wearing at any point in time.ConsequencesThere are natural consequences of not considering Flow.Being mindful of it and actively supporting it improves efficiency,quality of work and aids progression. All of which make for happierDevelopers and a better game.The natural opposite of this in a world where interruptions are rife andpeople can’t work are poor performance, poor quality of work and mostlikely late delivery.We all know that the work still needs doing so in the latter example,people end up working overtime to compensate. This overtime usuallyoccurs when all the interruptions are gone so people get work done.Strive to keep a working environment that enables people to Flow asoften as possible.Meta-FlowIn addition to the regular working flow I also believe there’s a conceptof Meta Flow if we take the principles of having a continuous andfocused train of thought about a particular subject over an extendedperiod.This comes in to play when you’re team members are working on aparticular item for an extended period of days, even weeks. Their mindis full of a single task and shouldn’t be polluted or interrupted byother things occurring. Think of a physics programmer being pulled offto do work on the rendering system only to return back to physics ashort while later. In this scenario it makes sense for them toconsecutively focus on Physics.SummaryBeing aware of, honouring and supporting Flow can make a realdifference to your game development team and therefore the game.Encourage everyone in your organisation to learn about it and respectit.Further Reading•“Peopleware”– Tom DeMarco•“Cringe from crossing a concentrating coder”http://liw.iki.fi/liw/texts/flow.en•“Promoting Flow in Software Development”http://www.davethehat.com/ot2000/unblocking.htm

How To Make Documents Work For Your Team

8 min read

All video game production projects need documents, whether it’s a fourpage description for an iPhone game, Xbox Live Indie Game, Flash game ora 65-doc library for a AAA multi-million selling game on PS3, X360 andevery other platform. On all video game development projects, similarproblems comeup: people don’t read docs, people read docs but find themconfusing, docs don’t get updated or the updates don’t get acted on.Fortunately, there are some ways you, as a game designer (or aswhoever’s writing a doc) can help.Make it readableDocumentation that isn’t read is worse than not having the documentationat all because (a) game designer time is wasted writing it and (b) thegame design team assumes the other teams know what they’re doing, whenthey’re actually relying on other methods, like reading tea leaves. Gamedevelopers are busypeople: it isn’t easy to convince us to readanything. But there are some ways you can help to make sure the team isreading what it needs to.Make it approachableThat means no doc over 50 pages. If it’s over 50 pages, split it into adoc per section. Reasonable sized fonts. Diagrams instead of pages oftext. A glossary, if you need one. Don’t make it any scarier to readthan it has to be.Make it navigableMake a studio doc template and stick to it (within reason - a sportsgame and a beat ‘em up are going to need different docs, but they’llboth need a UI section and there’s no reason that section shouldn’talways be at the end and always run in roughly the same order. Help thepoor sound designer who’s just been shuffled onto his third project insixmonths: let them turn straight to a ‘Sound’ section with ‘UISounds’, ‘UI Music’, ‘In-Game Sound Effects’, ‘In-Game Music’ and so onall laid out as they’d expect. Nobody’s creativity’s being stifled by keeping the same structure (andof course the template can be tweaked and improved as time goes on) andjust having that template there is a great way to avoid designers (andproducers) overlooking things. It’s also a massive help to designerswriting their first design doc to have a skeleton to fill in.If you really do have to have a big doc and you want to make it quick toflick through, put a navigation bar at the bottom of the page, with theappropriate section highlighted to show where you are (this is a fiveminute job if you use Word’s section tools and put it in the footer).That way you can thumb through the doc flickbook style and stop when yousee what you want. For extra points, make it actually operate like anavigation bar on a website and skip you to the start of each section ifyou click on it.Exception: while it’s great to help teams find exactly what they’re looking for, be wary of people zeroing in on exactly what they think they need and skipping the vital stuff they thought didn’t apply tothem. There’s nothing wrong with putting a big note on the second pagefor each team, calling out sections they might otherwise skip over(‘Weaponsteam: as well as the ‘Weapons’ section, make sure you read the‘Animals’section: the rhinos have their own built-in particle cannons’ AND put a note in the Weapons section itself linking to ‘Animals’. By doing this, you’re implicitly confirming that it’s okay not to read the whole doc, but that’s probably going to happenanyway: use your bestjudgment.Now you’ve made it easy to pick up and start reading thedoc: how do you make it *work*?Avoid duplicationNever, ever, ever, state the same facts in two places. Every time youlist, say, the weapons in the game in both the introduction AND theweapons section, that’s two places you have to keep it updated and twicethe potential for outdated information. Cross-referenceinstead: usehyper-linking: it’s better to make people click a few times than have someone miss a vital widget because it was added in one section and not in another. Introductions and Executive Summaries (which producers always insist on) are a real pain forthis: producers (and publishers) like nice, simpile lists and they don’t want to read further than pagethree, so they want to duplicate all the essential information here.Keep it short, and check it every time you update the doc.State exclusionsYou have to realise that people will use your doc in ways you neverintended. For example, an artist will, when they’re in a hurry, look ata list of creatures in the game on page 42, see that there are five andschedule five artists to tackle one each. Only there aren’t fivecreatures: there are six. The list on page 42 was in the sound effectssection, and you only listed the creatures that needed sound effects(giraffes are silent). This isn’t a joke. I’ve seen lists cut and pastedfrom a doc, passed through a chain of ten people and then relied on asgospel for a completely unrelated discipline. So don’t list the animalsthat have sound effects in the sound effects section. List all theanimals, andsay: ‘Giraffe: this animal has no sound effects’.Remove ambiguityIt’s better to be clear. If in doubt, state it. Don’t write lazily. Thisislazy:All rhinos can be ridden by players of level 14 or above.Hold up. Does that means that all rhinos are rideable, and all rhinoriding requires players to be level 14 or above? Or does it mean thatlevel 14 players have their choice of all rhinos in the game to ride,but level 13 players can ride some of them? Let’s try itagain:All rhinos in the game can be ridden. Riding a rhino requires theplayer to be at level 14 or above.EnglishThis leads on to English (or whatever language your dev team has agreedto work in). Designers (and other doc writers - don’t forget theTechnical Design Doc author) aren’t necessarily greatwriters: in terms of technical English (spelling, grammar, punctuation) or writing clearly and in an easy-to-read style. And that’s not necessarily aproblem: *except* when it comes to design docs. Don’t get the wrong ideahere: good writing skills don’t make someone a good designer, andI’d much rather a designer have fantastic ideas but be unable to expressthem than have no ideas but great communication skills. Most designerson a large team don’t have to write docs. But for the ones who do haveto, writing skills *are* important because for every word they write,potentially 60-100 people are going to read it. Luckily, writing skillsare easy to assess and easy to learn. I give a basic English test (afive minute, half-a-side of A4, spot the mistakes thing) to every designcandidate I interview. I don’t exclude candidates with poor Englishskills, but if they move towards a position where they’re going to needto do a lot of writing I do make sure they’re trained up and ready forit when they write their first GDD.Understand the readerYou should be able to identify the common mistakes the rest of the teamwill make. Call them out, in big, friendly letters. If there are twoterms that sound very similar and could cause real problems if they’reconfused, say so. Better still, think up different terms. Behelpful:‘Remember, we don’t need to do this on PS3 because we have blah’.UpdatingDocs need to be updated constantly, to keep them in line with thedesign, at least until you reach whatever your agreed ‘the design is nowlocked’ stage and start using change control. Call out changes so thatpeople don’t have to read the doc itself, if you possibly can. Do adaily email collecting together any design changes (if you go dayswithout needing to do one, so much the better). Every change gets a oneline description, a link to the section of the doc where the changedsection can be found, and - and this is crucial - a note as to whetherthat’s it, or whether there’s more detail in the doc. What you’re tryingto avoid here is both people reading the doc when they don’t have to,and people not reading the doc when they need to because they’ve assumedthey’ve already gleaned all they need to. Here’s what Imean:UI: New PS3 hardware requirements - added ‘Move Disconnected’ message(link)SoundEffects: New 3D ambient effects added - MORE DETAIL SEE (link)Version ControlKeep docs under version control and have a change control section at thestart where you list everything that’s changed in the latest version.Yes, this will get long. If you’re doing the update email as describedabove, you can cut and paste the same text andcontrol section into an email, save the doc and check in, send the emailand everything’s done. ReferenceOn some projects, there’s a huge amount of information that all membersof the team might need access to, but that the design team isn’tcreating (say, lists of tire pressures for 400 cars, or the completeflight manual for an Apache gunship). The worst case scenario is whensome of the information is out on the internet and different teammembers are consulting different sources. Allocate one person to be the‘project librarian’. When the team needs a fact, they’re responsible forensuring it gets stored somewhere everyone can access it - saves timeand mistakes, and if a mistake is made it can be corrected once on yourWiki or in your reference doc and the change can filter down toeveryone.

Everything you need to know about Video Game Production

1 min read

By special request I’m going to dig deep and put together a series ofposts on Video Game Production, covering the whole cycle fromend-to-end to hopefully share some of the knowledge I’ve acquired overthe years and get your feedback too on what you think. This will includeelements from numerous training courses and also hard-earned bestpractice learned from doing the job and working with amazing people.Don’t missout: join the RSSstream or follow us onTwitter and be ready. Tell your friends to join too.I’ll aim to cover the following topics in theseries:Game Production - 1000ft view The Plan The Team The BusinessUnderstanding the Team-Implementation: Design, Code, Art, Audio and more-Support: Operations, HR, finance, legal and more-Stakeholders: Publishers, Platform HoldersGame Concept Key elements to include in your thinking Genre, Platform, MarketDocumentation-Game: GDD, TDD, Plan, Risk & Issues-Business: Contracts, Finance, ROIs, Breakevens Marketing, DLC plans, sequels, derivatives, partner itemsProduction Planning - agile, formal, phased, iterative Tracking Reporting RisksFinalizing the Game User Testing QA Endphase: Alpha, Beta, Master, Submission, Street What next?

Games As A Service: Do You Really Know What It Means?

5 min read

I was looking at the schedule for Develop Conference2010 ( @developconf2010 ) to see if there was anything I should pick up on regarding game production and development and I’ve spotted a couple of tasty things that I have experience so I thought I’d jump the gun and share a little before July comes along. Some of the content we’ve seen before from prior conferences and here’s what I’velearned:Games As AService: Do You Really Know What It Means? Online games have been around for a while now and we all know the keymantra “It’s a service, not a product.” Or do we? Very often, in thehaze of development, teams may lose their focus from this truth;especially as the concept of service is not that clearly defined tobegin with. As well as fleshing out the concept of Online GameService, this lecture will provide a practical overview on how itscomponents should be designed and integrated in the production cycleto form an optimal player experience.Well, I’ve done a lot of service related game ideas lately and here area fewideas:The game is just the startIn a nutshell, the players journey with your game starts before theyput the disk in the console, download it from PSN, XBox Live, Wii ordownload and install via Steam. Your audience already has an expectationbased on prior marketing, reviews and many other means of communicationthey’ve received up to this point. They’ve probably talked about it withtheir friends.It’s true to say that the game content delivered up to this point islargely fixed, it was probably made months ago before it went throughQA, format submission, mastering, distribution and sitting on theshelves in the store. Or at least some of that process if you’re totallyonline.So as a player, you’ve waited months, saved up, bought the game, you’veplayed it through. Now what? You’ve had a fantastic time and you needmore content now! If this were a book or a film then that would beit, you’d be waiting for the sequel at some point in the future,probably years away.Thankfully we are blessed with an opportunity to maximise everyone’senjoyment and if the developer and publisher are clever, then they’llhave a whole slew of things to keep you busy and invested in the game.Downloadable content such as levels, characters, vehicles, maps, wholenew features, tracks, music, new season data all keep the game fresh andalive and are all part of the service we offer.Why is this important?So, why not just package up your game and move onto something new? Well,I’m sure you’ve slogged your guts out and put a lot of sweat, blood andtears into making this the best game it can be and you hope youraudience appreciates it. Why not maximise all of this effort and keep itgoing for longer, after all you’ve written the tools, have experience ofhow to get things in the game and your team are probably producingpatches anyway to sort out those last-minute niggles.It’s almost trivial to make this content. I’d also guess that duringthe late parts of production from Alpha through to Master Approval thatyou’re creative team have been twiddling their thumbs whilst the bugsare ironed out. Making add-on content can be a fantastic way of focusingthe team, stopping them adding stuff to the version that’s shipping andallow them to expand and maximise the experience.All of these extras help create an attachment with your game and athirst for more content, it’s up to you if it’s free or paid for; whichis a whole other discussion.Bolting on upgrades and DLC also makes it harder to part company withthe game itself when it comes to trade-in time and you’ll see lowertrade in figures for games that actively promote a long-term connectionwith the game.The ultimate serviceThe ultimate service is user-generated content, which really bindsauthors and players to the game, giving them an emotional involvementand volume of content you’ll find hard to surpass as a developer. It’salso self-promoting as authors actively encourage their friends to divein a try the thing they’ve just made, either by demoing it locally orpointing them at it so they can play at home.You’ll find UGC authors in forums promoting their content and obviouslythe game is good too (which is why they’re making content for it). Allof this drives long-tail sales of your game. For these reasons, you’llrarely find a copy of LittleBigPlanet traded in.Integrate EarlyThese are all great ideas and you really need to plan these in early asI know from experience that retro-fitting the highly modularrequirements of supporting DLC into a hard-baked mess of legacy code isa nightmare and probably one that will just be a barrier to you evermaking it happen. I’m sure many of you will have had that sameexperience and wish to leave it long behind.From an architecture perspective, everything has to be dynamicallyqueried, validated and loaded into the game. You should treat your gameas a tool or framework into which everything plugs-in, nothing should behard-coded or you’re not going to be modular enough to cope with afuture of upgrades and DLC. How can you integrate another character(avatar) if you’re selection screen only supports 8 characters? You’llneed to design expansion into your game from day 1.Away from the gameThe ‘service’ can also expand out beyond the game experience itself andincorporate regular touch points such as social networks like Facebook,mobile phones running OS like Symbian (good luck!), iPhone, iPad,Android or Windows Mobile. Here are some examples of more extensivegame amplifiers: Browser games public league & competition systems In-game auction houses reflected onto the ‘net Training your game character online then playing them on console Clans, factions, guilds Managing your team for tonight’s game News feeds into the game and out againThe list goes on and on and I’m sure there’s some things you could addto the list too.SummaryThere’s a really easy way to remember this - “The game is just thestart”. It’s a mantra that suits every occasion and reallyencapsulates what “game as a service” means.We want to engage with game players for longer, enabling them to getbetter value from the games we make, after all they’re not cheap to makeor buy. Game players and developers have a symbiotic relationship andwe should nurture it over a long period of time for both our sakes.Further ReadingDevelop Conference 2010 -Evolve -ThomasBidaux will be covering this topicGabe Newell on ‘entertainment as aservice’ - DICE 2009

Why has multiformat games development become so problematic?

12 min read

With release dates slipping as titles need ‘further development time’and louder groans from coders regarding the trials of contemporaryCPUs, we look at how the increasingly contradictory nature ofdevelopment – with studios asked to make one game for a variety ofdifferent machines – has impacted the industry……are the opening lines from an this old video game production articleI contributed to a few years for DevelopMag about video game production issues.“Mike Cook” is actually Game Production Legend “MikeCox” as the author got his name wrong. :)Read the full article below, including me waffling on aboutmulti-platform video game development.Posted: Thursday, 3rd January 2008 at 9:38 am With release dates slipping as titles need ‘further development time’and louder groans from coders regarding the trials of contemporaryCPUs, we look at how the increasingly contradictory nature ofdevelopment – with studios asked to make one game for a variety ofdifferent machines – has impacted the industry… Looking at the current state of the game market, it’s clear that thedevelopment sector is having a serious problem with multiplatformdevelopment. Staggered releases have become morecommon: it’s not unusual to see aPS3 version of a title ship a week or two after its 360 counterpart.But it can be even more severe than that – some titles are appearingon some formats months after they’ve appeared on another, withslippage as developers continually shift attentions between platformsimpacting production schedules. In addition, more and more developers are starting to speak out on thedifficulties of being multiplatform developers in this latestgeneration – usually at the same time as they boast the large amountof work they’ve done on their own internal development frameworks toalleviate the situation. There’s even a feeling amongst some in the industry that simultaneousmultiplatform development isn’t possible with a single team any more. CHANGING SCOPE Going back to basics for a moment, development for multiple platformshas traditionally always been done because it spreads the cost andresulting risk of games development across the biggest audience. Withgames now costing more to create, it would seem that this would beneeded more now than ever before. Similarly, though, with the largedisparity between widely popular platforms such as the 360 and Wii,going cross-platform means more work, more ideas to exploitplatform-specific quirks and similarly more money. But is it gettingto a point where the benefit gained from going cross-platform isactually being outweighed by the cost – and is being a multiplatformdeveloper really as hard as some say? At first glance, it is clear that the very definition of‘multiplatform’ is muddier than it ever was. While it could havepreviously been easily defined as the development of a similar-lookingtitle on all of the ‘big three’s’ platforms, Nintendo’s decision toveer from the road of horsepower advancement and produce a largelylast-generation specced machine has changed the playing field. Similarly, with the PlayStation 2 enjoying a long tail in sales thatnone of its contemporaries managed, there’s much to be said fordeveloping on last-generation machines. And let’s not forget the twowildly different handhelds while we’re at it, and the player interfacedifferences that the Wii and DS bring to the table. Suddenly,‘multiformat’ encompasses a set of vastly different standards ofdizzying complexity. Or, as Eidos’ chief technology officer JulienMerceron thinks of it, possibilities. “Actually, all these platforms are quite exiting to support,” he says.“You can generalise most games into two cases. The first case is thatyou’re making a ‘hardcore’ game, in which case the chances are youmight only target PC, Xbox 360 and PS3, and that’s not hugelydifficult. “The other case is that, if you’re making a mainstream game, you’dideally like to support the Wii as well. In that situation, developingfor the Wii in addition to the other formats isn’t the easiest thingin the world – especially when each version needs to be cutting edgeon their respective platform.” One way of reducing the complexity of the latter case, says Merceron,is to actually open up to even more platforms. That way, “you couldpotentially develop three sets oftitles: one for PC/PS3/360, one forWii/PS2/PSP and one for DS and mobile,” he says. CAUGHT IN THE NET When taking a birds-eye view of the different ‘this generation’consoles, it’s tempting to generalise the differences based solely on performance: the Wii is weak, the PS3 is strong but the Cell posesarchitectural difficulties, and the Xbox 360 is powerful and less ofan alien layout. But to do so would miss some of the other largeissues, especially one such as online gameplay. Kuju Sheffield rebranded itself as Chemistry earlier this year, andwith it decided on Unreal Engine 3 exclusivity. And while that’scertainly insulated the team from some of the pain of multiplatformdevelopment – “We’ve got Epic worrying about the technology, so we canbe worrying about other things,” says managing director Mike Cook – asstudio manager Simeon Pashley explains, there are still significantissues to be worked around. “The very big issue, we feel, is networking. There’s no commonalityon any of the platforms, even to the end-user, on what the experienceis like,” he says. “There are very obvious differences between XboxLive, PlayStation Network and GameSpy or whatever other PC service youuse.” As such, part of the network implementation focuses on just gettingthe same core experience right across all of the platforms, andworking to create uniformity in the face of vastly different attitudesin the structures of the various networks. And that’s beforedifferentiating to take advantage of some of the other functionalityprovided by, say, Xbox Live. It’s a another major point that hasimpacted the bottom line for next-gen game production. Cook is keen to add that it’s not just the developers thatunderestimate the cost per platform of implementing network play – thepublishers are just as guilty of overlooking the complexity involved.“It’s a massive cost, and it will trip people up,” he says. “It’s notan easy thing to do by any means.” But isn’t it a problem alleviated by the studio’s use of UnrealEngine 3, though? “Sure, making maps is fine – that does come freewith Unreal, so to speak. But things like lobbies, the matchmaking,the leader boards – it’s a big job. The reality of using UE3 is thatyou’re still developing for multiple platforms, and you have to playto those platforms’ strengths and weaknesses.” REAL PROBLEMS Interestingly, Unreal Engine 3 has in some ways become the posterchild for both the ups and downs of multiplatform development. Whichis understandable, given that it’s often seen as a flexible, catch-allengine and has been epitomised by creator Epic’s own Gears of War butalso questioned by a lawsuit from licensee Silicon Knights. And thenthere’s the chatter that, despite UE3’s performance on Xbox 360, itsPS3 showing struggled. At E3, Sony even pledged to work with Epic toget the engine working on PS3 with all guns blazing. Six months on,and how is the engine faring? “Epic have done a lot of work on PS3 version of Unreal,” explainsCook. “The engine was obviously PC and Xbox-lead, by a long way, but Ithink the effort both internally and with Sony has got the PS3 versionof Unreal up to where it should be. It certainly looks the part.” Naturally, Mark Rein is confident about Unreal Tournament 3’sPC-equivalent performance on PS3, but admits that it has taken theproduction of one of Epic’s own games to get UE3 to ship quality.“Like we did last year with Gears of War on the 360, we’re kind ofreaching version 1.0 of the technology for PlayStation 3. It’s reallyexciting – it feels like we’ve reached a big milestone and hurdled wayover it.” Epic’s troubles are pertinent because more and more studios areturning to existing technology such as Unreal Engine 3 to facilitatedevelopment for multiple platforms. The alternative – buildingequal-footed technology for several different architectures andperformance envelopes – is a job too large for many small- tomedium-sized developers. Merceron points out several reasons for why building a bespokemultiplatform engine is more difficult in this generation than itmight have been in the past. “These days, experts are rare – losing one key person in your team canmake things tough, to a greater extent than before. Not only that, butthe scope of today’s games isbigger: even console games are movingdeeply into the online and social community spaces, an area wheremultiplatform needs to be applicable as well,” he adds. But it’s not just building for the now that’s important – despite onlya year having passed since two of the current-gen platforms launched,Merceron believes that cross-generation development will be a bigforce in the future. “Developers that are already trying to architect so that the coretechnologies can migrate to PS4, Wii 2 and Xbox 720,” he says. “It’s avery interesting trend, as it can really have a very positive impactfor the company in about three years from now.” (And, as we reveal onpage 6, this is a future Eidos itself is investing in.) OPENING THE FLOODGATE So, what should those embarking on contemporary multiplatformdevelopment be careful of? Amongst the people we spoke to, advice onmaking sure you have a solid architecture featured strongly. “It’s correct that there’s a lot of bespoke or tailored code,especially in the hardware intensive processes like graphics or audio,but it’s definitely the case that when it comes to aspects likemultithreading we’ve got an awful lot of common code,” says AlexMcLean, technical director at Pivotal, which itself has spent the pastyear building its own unified development base for 360, PS3 and PC. Assuch, it’s important to make sure you have a solid underlyingstructure that’s applicable across all of the platforms, so thatplatform-specific features can be abstracted out on top. It’s a point that Merceron agreeswith: “Whatever your approach,anyone can trip up on architectural aspects. Architecture work is nowextremely important so that you ensure the implementation will berobust and manageable. A poor low level architecture will generate alot of multiplatform issues when designing the high level features.” Part of the problem that developers have had adopting to the high-endmachines of late has been that of concurrency, the true power onlyobtainable when all of the cores or SPUs are working efficiently. Assuch, splitting big processes into smaller tasks and building asuper-scheduler to manage them is a major priority for developersstarting out. “The SPUs are incredibly hard to program and optimise for,” empathisesValery Carpentier, Emergent’s EMEA field application engineer. “Youhave to write data to special parts of memory or it’ll crash, you haveto transfer memory yourself – it’s a big nightmare.” It’s a problem that Emergent saw coming early – not just that ofprogramming for the PS3’s unbalanced concurrent architecture, butdevelopers having to plan how their game will work on anywhere fromone processor to six. As a reaction, it developed Floodgate, a new butintegral part of its Gamebryo engine aimed at helping game studios getthe most performance out of parallel systems. Although it could be(somewhat unfairly) described as a scheduler, Floodgate is inactuality a system that manages processes running on different cores,keeping them thread-safe and their memory managed effectively – andscales from the six core PS3 through the Xbox 360 and even the Wii. “When you’ve written the task program, you can tell Floodgate to runit on one SPU, two SPUs or even all five. It’s as simple as that – youjust say ‘run this task on this many SPUs’ and it will.” These ‘Floodgate programs’ can be written in pure C++ to ensurecross-platform compatibility and then later rewritten in chip-specificassembler during the optimisation stage. The benefit of Floodgate,says Carpentier, is that it allows people to get code running onmultiple processors quickly – and that time saving, which Emergentsays can amount to around 12 man-months, can be better spentoptimising, swapping tasks between cores or altering how many coresare working on the task. Issues with getting code running correctly on multiple platforms arecause to most of the grumbles we hear today, but what about actualassets? Are there significant performance differences between thehigh-end consoles, or are they similar enough to this gen’s stumblingblock one of code? “If you build assets, they are sharable across multiple platforms, sothat’s where you win. Assets that you build are usable on multipleplatforms. So long as you don’t do something like 360 and DS, theplatforms aren’t that different – you can genuinely share assetsbetween them all,” says Chemistry’s Pashley. “It’s when you get downto the technical sides of things – the things players shouldn’t careabout – that’s where there’s differences that need to be addressed.” BUILDING THE FUTURE Ultimately, however, even if there are performance differences, mostdevelopers are used to having scalable pipelines – it’s not as ifconsole specs have ever been identical. So in many respect it’spossible that growing pains today are aiding future developments.Certainly there’s historical precendent. Could it be the case thatthose developers with PC experience are better prepared, having dealtwith flexible specs for a while now? When asking Mark Rein if he’sever thought that having a PC background has helped Epic Games withworking on different architectures, his surprise is palpable.“No-one’s ever mentioned that as a positive before – people used tosee us as a PC company trying to make a go on consoles, and that’salways been a hard selling point for our technology,” he says. “But yeah, we’ve been dealing with different system specs, differentperformance envelopes, different CPUs and GPUs for years, so itprobably does make us better equipped – especially as these newsystems, the 360 and PS3, are very similar in nature to high-end PCsin terms of some of the parts that they’re using. So it’s important toremember that we had this problem already on PC in a much larger waythan we did on the consoles.” And so, as dual- and quad-core chips continue their onslaught intoeven entry-level PCs, there will come a time when a single-core chipis an anachronism and working in parallel is just the standard. Thetransition has been – and still is – a difficult one, for sure. Butit’s one that will gradually be overcome, leaving developers in abetter place to squeeze every last drop of performance out of whateverarchitectures the future may build. Read the originalpost

Why you should use Minimum Viable Product game production

5 min read

The term Minimum Viable Product (MVP) has recently come to be usedin the world of video game production but what does it mean and how canit benefit our games and the gamers themselves, including how to get thefeedback you need.The phrase Minimum Viable Product is a product development andrelease methodology pioneered by Eric Ries as part of a long seriesabout Lean Startup companies. Its main tenet is the development andearly release of only the core of your product, allowing the marketplaceto vet and feedback on its pros and cons. While the developer still hasa roadmap of their own, risk is mitigated as feature feature has analready receptive audience and the product offering more tightly focusedwhen the core is released early and iterated upon often, in response toreal customer feedback.[caption id=”attachment_54” align=”aligncenter” width=”300”caption=”Minimum ViableProduct”][/caption]Rapid IterationThe Minimum Viable Product is dependant on rapid feedback loops andis quicker these are the more successful the iterations will be.This approach is wide spread on web-sites and browser games where thegame is effectively re-downloaded every time the game is launched, it’sbeen used to great effect on games for iPhone to produce some greatexperiences.While it is possible to take on this approach for traditional consolegames, their closed nature and long approval and release cycles can makethe feedback loop a very long process and therefore seem disconnectedfrom the community.Get FeedbackOf course, connecting and interacting with the community around yourgame is absolutely essential and is likely to require specific communitymanagement staff to be successful. I have been fortunate to work with agreat community manager and I have witnessed what a real difference thiscan make, this is a skill that is not to be under-estimated.You will need to offer simple opportunities for your audience tofeedback. It has to be trivial and caught at key moments to gain themost valuable information. The closer the feedback loop is to the game,the easier it is for the player.As a minimum consider simple 5 star systems in the game, like iTunes oreBay as they’re easy and trivial for players to give you a rating. Maybeeven some pre-defined phrases that help them communicate feelings suchas “Happy”, “Great”, “Slow”, “Dull”, “Exciting” or “More!”. Try and givethe player an opportunity for extended feedback via a short text box andmaybe hook them up with a backend web-site if possible.When to get feedbackConsider collecting feedback at key points in the game such as when aplayer has finished all of the levels, tried a new character, tried anew download pack, experienced some user generated content or evenuninstalled the game.Social Media – connect outside the gameConnecting with your audience via social media warrants an article initself but I’ll cover some basics here.The old style way of interacting with “consumers” was to wait for themto discover some forums you had lurking around somewhere, on adiscretely hosted web-site hoping they stumbled across them. Such forumsstill have a valuable role and can gain some feedback that you reallyneed to know. A certain amount of “know how” is required to use theforums and they typically contain dedicated gamers used to givingfeedback in this area.The more modern way is to go to your audience on social media sites andconnect there. Good examples include [blippr]Facebook[/blippr] Fan pagesand [blippr]Twitter[/blippr] streams where people are likely to besharing feedback about your game anyway and you need to be there,especially if you’re doing Minimum Viable Product production andneed to iterate your game.MetricsYou can take advantage of a connected game by collecting hidden metricswithin your game and reporting them back to a central repository, eitherin real-time or caching them to be sent when it’s convenient.Collect data from areas such as level start, level completion, game modeselection, use of the abort/quit game, lives lost, time played, etc.etc.Analysis of global system metrics such as Achievements, Trophies orsimilar can be used to discover how successful some areas of your gamehave been. How many people have finished the game in under 5hrs? Howmany people have collected all of the cars? How many people have playedlevel 1? How many people have booted your game (includes rentals andre-sales)?It’s possible and advisable to engineer some of your achievements /trophies to bring this information to you automatically without the needto write your own systems.All of this is valuable information you can gain without asking theplayer specifically for it.Use It!Of course you need to use the information from you’ve worked so hard tocollect or the whole process is pointless!Quit EarlyA Minimum Viable Product also allows for game ideas to be releasedinto the market to see how it responds, truly weak ideas can beabandoned early and the developer can move onto something likely to bemore successful. It’s better to remove these failed attempts rather thanleave them hanging around unattended.Of course, this isn’t an excuse for releasing poorly thought out anddull games with a “throw enough mud at the wall and see what sticks”approach as your reputation is attached to each connection you make withyour audience. The last thing you want is to be known for releasing astream of half-baked ideas.Rapid PrototypingI would say that the Minimum Viable Product concept has been used bymany game developers for internal concepts and prototypes under thebanner “Rapid Prototyping”  where ideas are taken far enough todemonstrate before a decision is made to change or abandon games atreview meetings during its lifetime,SummaryThe development approach of rapidly incorporating feedback from youraudience is here to stay and the Minimum Viable Product conceptsuits this well. Consider using it where possible in your game lifecycle for maximum success.Further ReadingMinimum ViableProduct – Wikipedia definitionEric Ries – Eric’s website with lots of great information