By using this site, you agree to our Privacy Policy and our Terms of Use. Close
Soundwave said:
potato_hamster said:
zorg1000 said:
potato_hamster said:

You do in console development. It's hardware - > engine for the most part (there are some exceptions). Skip the API. You don't seem to understand that.



Why exactly do consoles have an API then?



My apologizes. I have been vague and bit misleading. Consoles do in fact use APIs in similar ways to PCs. However, consoles use two different kinds of APIs. There first kind are lower-level "to the metal" APIs that interact directly with the hardware in a way PCs do not. This is not what most people mean when they refer to APIs. These low-level APIs are more streamlined more effienct, and, are optimized specifically for the single hardware spec. The console also has higher level APIs, which interact with the OS, controllers, networking etc. this is what most people refer to when they talk about APIs.  You can still actually send commands to things like the processor or GPU directly, but this isn't as common as it used to be. I was trying to make it easier and I ended up complicating things.

It was disingenous for me to say that consoles don't use APIs to interact with the hardware. They do. But they're not the same as the APIs that PC engines use and work in a fundamentally different way that calling them APIs in my experience tends to confuse people more than it does when I say they don't really use APIs.

Here's a little blurb on exactly what I'm referring to:

http://www.psdevwiki.com/ps3/RSX#RSX_Libraries

PC APIs are equivalent to the PSGL. Consoles have layers below that, including the ability to program to directly interact with the hardware.



 

The thing is though Nintendo is not beholden to make a platform just one way. Why can't a home platform have an API setup more like the PC if at the end of the day this serves Nintendo's needs of today better? It's not as if the world would stop turning. 

And the PC industry I imagine would be a pretty different place if there were literally just 2-3 different hardware congifurations from the same exact manufacturer, period. 

They can, but they would be throwing away very much needed performance, and limiting the capability of game and engine developers in doing so.

Just because technically can be done, but that doesn't mean it's a good idea to do so. If you have a console that's say 1.5x as poweful as the Wii U but from a development point of view it might barely more capable since their control over the device has to go through a relatively bloated API. Thus the games that come out for sucha  console, might look pretty much the same as Wii U games, aside from a few marginal improvements,  then consumers might have a hard time seeing the point of "upgrading".

Might not be the best move just to make development on multiple platforms easier when there are plenty of other things Nintendo can do to bridge that gap without pulling off such a dramatic move.