Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Nintendo started to use Vulkan, so things are moving in the right direction, though pretty slowly.

> The reason you need a proprietary API on a console is that you cannot make a game running on a $200-300 piece of consumer electronics compete with a game running on a $1000+ PC if they both use the same API.

Their primary reason is to tax developers who want to release games cross platform. In practice, no one prevents console makers from making more expensive high end consoles. Those who want demanding games, would buy more expensive hardware. Console is just a type of human interface, nothing inherently in it requires it to be cheap. Same as in regular PCs. The only reason current incumbent consoles are like that is lack of proper competition in their space. Compare it to mobile hardware where competition is fierce.



I don't develop for Nintendo so I am curious, is it like PS3 support for OpenGL or is it an actual native API?

And to reply to your edit: It's true, nobody prevents anybody from making $1000+ consoles. They sell for shit though. Even PS3 suffered from being a $600 console a lot, a $1000 console would be as successful as the Steambox.


The Switch supports Vulkan but it also has its own native API. It's a bit early to tell but it looks from my perspective a lot like OpenGL on PS3, though perhaps with a bit more adoption since Vulkan is more suited to console-style dev and the Switch has less "weird" hardware like the SPUs to get in the way of a standard API.


It's not about supporting weird hardware but about removing the unnecessary abstraction. E.g. in Vulkan you cannot directly write non-uniform inputs for the shaders because different GPUs may need that data in different formats and layouts. There is absolutely no reason to do this on a console, which only has one GPU and the layout of its data is very well known so you can just save a whole bunch of unnecessary code and gain an ability to use GPU compute to set up your draws on top of that.


And how much of a benefit it gives vs requiring to make a completely different set of shaders which you can't even reuse? That's a strong claim that you can't have good performance, after SPIR-V is translated by the compiler.


I am not sure what are you talking about here (how is setting up inputs for a shader related to SPIR-V, which is IR format for shader code?) but, as I said and you denied, this how you get a game running on a $200-$300 console look the same as a game running on a $1000-$2000 PC.


They support OpenGL and Vulkan now natively on their Switch console. I.e. proper support, and not some fake pseudo API.

> They sell for shit though.

All it means, that most of those who use consoles don't want to play high end games. And console makers aren't incentivized to market that, because they don't have much competitors.

Compare it to mobile hardware as I said. You could argue, that people also don't want to overpay for it. Yet, mobile hardware makers rush to refresh it way more frequently than console makers do, and prices there are more realistic. Competition helps.

> a $1000 console would be as successful as the Steambox.

It would surely sell less than cheaper ones, but same goes for regular PCs. Only a minority of enthusiasts buy high end computers. The vast majority buy weak laptops and such. But gaming market can address both use cases. I don't see how interface of controller vs mouse + keyboard is supposed to change that.


> All it means, that most of those who use consoles don't want to play high end games.

It's actually opposite. Console audience (maybe with exception for Nintendo) wants to play high end games. This is why high end games sell much more on console SKUs. If by "high end" you mean AAA, of course.


Well, if they really want high end games, they shell out for PCs and high end GPUs, because as you said, current consoles simply are behind. No API can work around that.

By high end I mean demanding, those which heavily load the GPU, and benefit from better ones.

So IMHO those who stick to current day consoles, are OK with not getting the max settings in demanding games. But why those who do want more, can't play their games using controller / sofa style gaming? I.e. I don't see an inherent relation between console style gaming and avoiding more expensive hardware.


API works around just fine like I said. I cannot recall any recent (in the past 10 years) AAA games, which don't run on the consoles. PC exclusives have not been setting graphcis bar for a long while.


> API works around just fine like I said. I cannot recall any recent (in the past 10 years) AAA games, which don't run on the consoles.

But they all run with reduced settings, and their non console versions offer higher quality on better hardware (if developers of course took care of taking advantage of that and make it all configurable).

So I'm really not sure how API can change the simple fact that current day consoles are underpowered in comparison with modern high end PC hardware.


>with reduced settings

Not sure what you mean by this. MGS V, for example, runs with more effects on PS4 than on my PC with Geforce 980Ti (which alone costs as much as two PS4s btw). Anyways, this conversation is stupid. It's not a Console vs PC flamewar. Nobody forbids you from buying a $10K PC with colored lights everywhere and setting all the settings to 11. And if you think it's a good business, this being an entrepreneur site, you should starting making those and selling to others, driving stupid console developers out of business and laughing while doing so.


SteamMachines have proven how receptive the market is to such ideas.


Steam Machines forced incumbents to start moving faster. Which actually highlights the point. There will be high end incumbent consoles.


I haven't played it myself yet (waiting for Wine to support it on Linux), but I'm sure I've red somewhere, that The Witcher 3 uses reduced settings on consoles and you can't change them there. Developers explicitly recommended running the game on better hardware for those who want max graphics settings. It makes perfect sense to me. Developers use what the hardware allows.


"Developers use what the hardware allows."

Nonsense. Developers use hardware as well as they understand within given project constraints.

Optimizing modern game engine to run fast is generally considered a non-trivial task. The more arbitrary the hardware platform, the harder it is to optimize.

Yes, if PC port had to target only a specific, known, hardware and software combination (say a specifiv i7 with gtx 1080) then they could probably optimize the shit out of it.

A console is a fixed, known target. Thus it takes much less resources to optimize for it - thus developers can reuse their understanding from project to project.

The AAA game scene is full of recent examples with crawling PC ports, such as Arkham Knight.


All that doesn't change that fact, that some hardware can push more frames at higher resolution. No matter how fixed the target of console is, you can't leap beyond hardware limits there.

> The AAA game scene is full of recent examples with crawling PC ports, such as Arkham Knight.

Poor quality games isn't an good example of proper hardware usage. There was a time when AAA meant quality. Today it can mean any junk as long as it's funded by big publisher.


On which platform? I would LOVE some sources on this! (seriously! I would really appreciate it)


See https://www.khronos.org/conformance/adopters/conformant-prod...

(Search for Nintendo there).

They support Vulkan on the Switch, which shows that they now see benefits in using cross platform APIs.


<3 thank you! This makes me so much happier about my Switch preorder for gamedev purposes :)


For me personally, Nintendo is way too locked up and DRMed. I'm more interested in something like this: https://www.kickstarter.com/projects/smachteam/smach-z-the-h...

But it's good that they are pushing Vulkan forward.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: