Friday 17 July 2015

A comment on buggy and poorly performing PC ports of games

Originally posted as a comment on The Jimquisition site on an article about buggy and poorly performing PC ports of games.

-------

I am not a game developer, but I am an experienced software engineer who works on web applications. I cannot count the number of problems that I've brought up with management that have been ignored or put on some list of shame that we want to fix, but the whole list is then ignored. I would guess that the engineers and QA people knew exactly about the stuttering problems in Arkham Knight PC port and some people on the team could have fixed them, but they were not given the time to do so. Problems I've most often seen ignored are: security holes, performance problems, rare (or perceived as rare) bugs, and unusual or slow platforms. Of course, these line up perfectly with the highly public fuck ups we've seen from games developers.


In my opinion games development is particularly prone to perceived buggy releases because:

  • Consumers pressure developers to compete to create bleeding edge graphics, which exacerbate performance problems
  • Games are often played just once, so developers are less able to iterate to fix poor first impressions
  • Game launches are marketing led events that happen over a very brief period of time, so again there is little time to fix problems discovered by the public

I think the root cause is as simple as prioritising time over quality. Every manager I've had and executive I've witnessed lives in a world based on time and mythical schedules. "When will this launch?" is such a natural question to which it's easy to give a concrete answer, while "How buggy is this product?" requires a more woolly and nuanced answer that is very difficult to communicate. So every rung you go up the management ladder the reports of how stupidly buggy the thing is will get downplayed until some mighty Decision Maker rules that 71 non-progression blocking bugs are not enough to delay the release that marketing have prepared so diligently for.

The solutions have been written about literally for decades; see "Management by wandering around" on Wikipedia, originated in the 1970s at HP, or "Genchi Genbutsu," meaning "go and see" espoused by Toyota. In a nutshell, decision makers need to understand problems by going to the people that discover them and consider seriously what they find. That means being willing to delay a release to spend more time on doing things properly instead of constantly pressuring the peons to meet a schedule.

I've heard several people talk about how "difficult" it is to optimise games for PC given how varied performance is between machines. I think this is overblown and used as an excuse for the PC games industry. To me "difficult" implies that they don't know how to solve the problem or it requires some dramatic genius-level work to fix. Again people have been writing about these supporting diverse platforms for decades and the solution is to spend more time and do more testing on a variety of systems. For example Facebook test and optimise their Android applications on a representative phone and tablet from each year of release. This isn't as time consuming as it sounds, because if you support say 5 years of phones then optimising for the 5 year old phone and the brand new phone gets you most of the way there. Microsoft have had a performance testing lab to do this for Windows for 25 years.

TL;DR: As Jim said much more briefly, the real problem is not giving a shit.

No comments:

Post a Comment