Gaming Software Development Practices

I’ve never worked for a gaming studio. Nor have I ever written a game but I have got 25 years of software development industry experience. I’ve also owned and run a recording studio business, have been a pro photographer and have dabbled with lots of 3D rendering technologies and machine learning projects. So I wouldn’t say I was entirely unqualified to at least have a somewhat loosely-informed opinion on it.

As a person that enjoys games and has the hardware to run AAA PC @ 4K on an RTX3090 powered machine. It’s hard to ignore the continual problems. I have access to the top tier, at least performance wise, gaming experience hardware. A beefy CPU, 64GB of fast RAM and Samsung NVMe SSDs. It’s a great workhorse machine. So if I’m having issues with this hardware, I can only imagine what it must be like on lower spec machines.

I’m really not sure what’s happening in the industry to be honest. Over the last few years the number of big AAA games that have released in a frankly embarrassing state is becoming impossible to ignore. The obvious ones to mention at the moment are Cyberpunk2077, Star Citizen, Anthem and Fallout 76 but that list could go on and on and on.

These pieces of software are complex, there’s no doubt of that. But these are often large companies. Worth in the billions or hundreds of millions at least. They aren’t short of cash or resources.

What I think is going on is not a lot of planning, changing of minds on a whim, a lot of directionless hand waving for 80% of the time. Then there is a fucking mad rush at the end to stitch together the disparate pieces of a jigsaw which no-one knows what the goal really looks like.

Throw assholes from the marketing department into the mix showing demos of something else entirely as “marketing materials”, throw in stupid in-game purchases messes, pay to win and you have what can only be described as a complete clusterfucking thiefdom. Games have become vehicles for justifying micro-transactions rather than the other way around. I mean, there are job titles in the industry like – “Micro-Transation Engineer”. I mean, they are there to maximise the cash grab. Companies used to do that by making great games …

CD Projekt Red shit its pants recently and insta-wiped 40% of the companies value and entirely obliterated it’s reputation. It’ll never live down the release of Cyberpunk2077, ever. Nor should it.

Every developer I have spoken to that has worked at a games company has also described it as their worst professional experiences of their careers. Not. One. Has. Been. Positive.

That is a dreadful thing to be able to say about an entire industry. Yes, it’s anecdotal in terms of numbers but it dovetails with everything else I read too. There must be great experiences too but these devs were all at large companies. Frankly, I think the industry only gets away with it as they have a queue of potential recruits that will work for peanuts. Are you one of those devs? Treating you like shit because they can? I hope not. Burn out is real. I’ve done my share of sleeping in the corner of the computer room, it’s rarely appreciated. Don’t do it.

The often regurgitated angle is that these are complex pieces of software yada yada. yeah … well. Actually, every piece of software is complex. Even if you’re using a high level language or a scripting language. We’re all standing on the shoulders of giants. Frameworks, drivers, libraries and operating systems are part of every piece of software. Even a piece of software with one line of code can be complex. If it runs on multiple OSes it might even behave differently on different platforms. Pump it through a different compiler and it can be drastically different again.

The point is, this excuse has to go.

These games are often over-ridden with blatantly obvious issues that a decent QA person could spot during a cursory glance over the game during their morning coffee. If you aren’t finding these bugs there are two options. 1) you aren’t testing enough, 2) you are testing and are running with it. To claim being oblivious to them just makes your company look incompetant. It doesn’t get you off the hook, it just makes you look even more irresponsible and not in control of your development processes.

This is where the public consumers come in. I think a lot of these companies bank on the fans defending them. I used to see the same phenomena with music equipment. You could criticise a piece of equipment and people act like you’ve just slapped them around the face. No objectivity at all. When people buy things they can also buy into things. They’ll even start defending it in the face of blatantly obvious facts about it’s defects or problems.

The general practice seems to be deferring a lot of fixing to post release. There is always an element of this in any large software project but the games industry takes this to a whole new level of bat-shit insane. Entire sub systems in games just vanish. Features are wildly overstated. Visuals are faked. Cornerstone pieces from demos turn into forgettable non-events in the released version. Basically these are all lies at the end of the day all dressed up with the caveat of “footage doesn’t represent the final product”. Yeah, well that doesn’t matter. People have seen it and now want it.

Job. Done.

Pre-ordering has to die. The easier you make it for them to part you with your cash, the less effort they will put in to get it.

Can you imagine Office launching with broken enter key functionality, the print dialog doesn’t work and spellchecker changes every word to “blah”. Then Microsoft coming out claiming that they didn’t know about these issues and moaning about how hard and complex the project is to develop?

You’d rightly laugh at them …

Leave a Reply

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.