Why has multiformat games development become so problematic?
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