Indie Dev Rami Ismail explains the console certification process


May 30, 2020

Just to explain: Sony and Microsoft are -not- responsible for the state of Cyberpunk 2077 on PS4 and Xbox. "Cert" isn't something that ensures games are 'good' - it ensures games do not brick it or disable critical functionality.

Now, industry contracts prohibit me from speaking about the certification processes and requirements of any specific platform, so let me tell you about sort of the general process and concept of 'certification'.

Certification doesn't mean that your game is free of graphical bugs, free of performance issues, free of glitches, or even that it's functioning properly. Cert means the game should not mess up your console, or your ability to use your console, or break rules & trademarks.

Certification is stuff like "don't render critical stuff off-screen", "display warnings if your internet connection is lost", "showcase the correct button labels", "ensure unplugging & plugging back in your controller doesn't crash the game" - stuff like that.

Certification is NOT stuff like "the textures pop up five seconds late" or "objects are floating" or "the game is glitching and my character is T-posing out of the car roof with no pants". That has nothing to do with cert, and even if that comes up in cert, that's not cert's job.

Certification as a process is a giant (GIANT!) list of rules and considerations you can access. You submit your game, wait (a) week(s), and get a list back of failed criteria. If testing finds a lot of failed criteria, they might stop testing midway & return a partial list.

You then get an opportunity to fix the problem, or request a "waiver". You generally cannot continue the submission process without all of the testing criteria having been marked in the backend as a PASS or a WAIVED.

For a "waiver", the developer basically argues why they believe it is fair to be excluded from a requirement. The platform then agrees or disagrees dependent on the game, the situation, the urgency of clearing cert, & promises by the dev to fix fails in a (day 1) patch.

Sometimes, what you can get a waiver for feels counter-intuitive. For example: correctly labeling your buttons is (as far as I've seen) an absolute 100% fail cert - one might argue that it's really not that important that the game uses proprietary language - but it is.

Anyway - after that, you submit again, cert checks against the giant list of rules again, but skip testing on the rules that you've gotten a "waiver" for. If all is clear, you get the ability to set a launch date, and you're ready to go. You go through cert for patches, too.

(All of this is through the worst interface you will ever see in your life. No exceptions. I've seen 1980's DOS interfaces controlled by obscure key combinations that were easier to navigate. At large studios there are specialized people that manage these release processes.)

While I'm describing a generalized certification process above, that doesn't mean that it isn't mostly relevant in this case. In the end, cert is a measure for making sure your console doesn't brick, but the publisher of the game is solely responsible for the quality of the game.

If you make a game that's so buggy that your character spawns T-posing naked flying through the air while everything explodes at once & the only way to progress is hope the NPC you need to talk to got flung exactly your way - but it adheres to all the cert rules, it passes cert.

It is then up to the publisher to say, "OK, good, we've hit all the certification requirements, but the current state of the game does not warrant a launch - we should delay, or cancel". They fix things, and go through cert again.

Platforms do not have a magic "this doesn't adhere to our standards of quality" stamp". They don't "sign off" on your game being good. They leave the decision up to the publishers on whether they want to shoot themselves in the foot with a subpar project launch.

So all I'm saying is no responsibility for the state of Cyberpunk 2077 is on the platforms for "signing off". The responsibility is on those who decided to publish & launch, and only those who participated in that decision - not the devs, not QA, not cert, not the platforms

That's all. Discourse continue.