Q

Anonymous asked:

I don't know if this is confidential or "too technical" for the blog, but how does developing for consoles actually work? As in, what is the workflow like? Obviously, you do all the coding on a PC, but how does the build get tested on consoles? How do you debug on consoles? It would be awesome if you could do a little rundown, but I understand if it's not possible.

A

It isn’t terribly technical, but I don’t have a dev kit at the home office at the moment so you only get some of my old photos of dev kits from my previous employer today. A console dev kit is a lot like a networked computer fused with a game console. It has beefier hardware than the retail console (because it needs to be able to hold and run debug builds of the game). It has USB ports for controllers/keyboards/peripherals, network ports to connect to the network, and the usual video outputs to display to TVs. They also have a different version of the console’s operating system for development stuff - they allow us to do things like reset achievements, change locale, connect to PSN/XBL/SwitchOnline, and other various features. Dev kits physically look like this:

A PS4 and Xbone dev kitALT

Because they act like remote PCs, we can do things like upload builds to them over the network, and we can remotely connect our debuggers to those executables while running for debugging purposes. Game consoles today typically have plugins for Microsoft Visual studio to handle the remote debugging process. Programmers will build the debug version of the game on their workstations, transfer it to the dev kit, and run it on that hardware. Their workstations then connect to the dev kit’s running game process remotely and attaches the debugger to it so they can see things like breakpoints.

Skyrim's developer consoleALT

Most designers, artists, and QA don’t usually have access to (or understanding of) code, so we don’t get the remote debugger attachment. Instead, we’re usually limited to in-game debug menus, tools, and displays built by the programmers to verify our changes. This is why so many have some kind of “developer console” within the game, some kind of text interface that can run a bunch of different commands. Those text interfaces exist so we can access debug commands. Before we could do that, we had to use controller button combinations. You may know of them with their more common street name - “cheat codes”.

A bunch of dev kits and test kits for PS3, PS4, Xbone, and X360ALT

We usually have two kinds of kits - the more expensive dev kits with more memory and hard drive space to handle the development process, and the less expensive test kits that are closer to retail hardware specs but use the development software provided by the platform (Sony, Microsoft, or Nintendo). Neither of these can play retail games, they only play development builds. They also require a developer account and license from platform to actually do anything, so obtaining one without platform’s permission won’t really do a lot of good to anyone.

[Join us on Discord] and/or [Support us on Patreon]

Got a burning question you want answered?