Have you ever worked on APIs like DirectX 11, 12 and the ones used by consoles? How does it work for multiplatform games? Does the engine send a command and then it's translated to the API used by the platform?
I haven’t personally done much work in that particular field, but I’ve often dealt with the engineers who do. As I understand it, when doing cross-platform development, the engine programmers essentially build a generic interface for all platforms that the rest of the game is built on, and it is up to them to build and hook up all of the plumbing below that interface layer so that the game can run on each platform. This means that the other various flavors of engineers don’t have to deal with much of this - they only have to build their systems to call the generic interface functions set up by the engine programmers. If they run into some missing functionality, the task gets sent to the engine programmers.
At large publishers, the bulk of this interface layer work is often done at the publisher level instead of the dev team level by the central technology group. This way, they can leverage and maintain one set of technology for multiple projects, rather than building it each time at each studio. Each dev team still often keeps one or more engine programmers around to handle things like platform-specific optimization by working within that layer, but it is rare that an individual dev team will have to do any seriously heavy lifting at that level.
[Join us on Discord]
The FANTa Project is currently on hiatus while I am crunching at work too busy.
[What is the FANTa project?] [Git the FANTa Project]
Got a burning question you want answered?
Short questions: Ask a Game Dev on Twitter
Long questions: Ask a Game Dev on Tumblr
Frequent Questions: The FAQ












