Why is porting games to PC such a difficult process?

Why is porting games to PC such a difficult process?

I can almost understand why between consoles is difficult, but wouldn't porting to PC just require compiling it for pc? I assume there'd be issues with optimization, but just getting it to run on pc should be pretty simple, right?

>yes, I'm a fucking idiot, that's why I'm asking to be less of an idiot.

Other urls found in this thread:

gamedev.net/topic/666419-what-are-your-opinions-on-dx12vulkanmantle/#entry5215019
twitter.com/SFWRedditVideos

Fuck off retard, this is a tech board, not a fucking video game board

kinda, but publishers are greedy and developers are lazy

Considering all games are made AND tested on PC AND are run on PC on E3 it's already proven that the games run better on PC.

After all, how else are you gonna make those nice looking E3 trailers?

Sir, you are posting on an anime board. Alot of video games have anime characters, alot of video games have been adopted into anime series or vice versa. So in conclusion, since hes posting an anime related question, on an anime board, he's allowed. If you want a sekret club, I highly suggest you go to a pc sub reddit.

>After all, how else are you gonna make those nice looking E3 trailers?
By animating and rendering video...you don't think that they ever use in game footage do you?

Graphics, sound and input APIs, mostly.
Vulkan will solve the first one if it gets accepted by the industry/Microsoft/Apple.

having standards

So it's clear we need to get the jvm on consoles. Good idea, user.

Video games are technology you retarded autist. And video game programming is specifically Sup Forums

Same reason why games on PC are always unoptimized, buggy, and a bad experience. Granted there's lots of PCs and it's hard to optimize, but it's also on purpose.

They don't want it to work on PC in the first place, but they do for money. On console they get plenty of money, usually full price, and the value stays. Plus it's impossible, AFAIK, to pirate on the current generation consoles. Was on the old, but it's not as easy as it sounds and you're still at risk, plus can't play online. So, most people would be better off torrenting on PC, which they do.

PC is not as profitable or as easy to code for. Console is easy and you get more money.

Hi OP,

This link may give you some insight. It doesn't directly answer your question, but should give you some perspective.

TLDR: games and drivers are more complicated than you think.

gamedev.net/topic/666419-what-are-your-opinions-on-dx12vulkanmantle/#entry5215019

what?

Interesting read. Thanks.

What kinda confuses me here is the difference in architecture between consoles and PCs then, because aren't consoles, especially now, nothing but purpose built PCs that still have to deal with shit like drivers? And if this is a yes, then my assumption is that much of the problem then becomes one of ecosystem (i.e. on consoles the ecosystem and programming standards are tightly enforced with a single/handful of hardware variances)?

...

I done doubt any of those faggots from Sup Forums know shit about porting code to pc from console.

One word: architecture.

Some things just cannot be emulated.

It's also got to do with licensing. A lot of games these days could be ported to PC if the devs wanted to, but licensing and copyrights and such get in the way.

what kind of fag didn't just bring a book in with him?

>ever using in game footage
Yes and no, they actually use in game footage but they jack up the game engine to the max and use hi-poly models and heavier effects.
For an example, look at Watch_Dogs and its E3_theater_mode, or Valve games where you can set the model quality to "cinematic" with a console command.

>console architecture is x86
>current games are built and tested on x86 machines
>Cannot be emulated
If anything the biggest problem is trying to find a way to read the game binary natively on a PC.

I suggest you read up on system architectures if you want to really understand this but no it's not just a recompile.

Two systems can be good at rendering in different way. One GPU might have more registers and better SIMD performance but have less VRAM than another. Hitting 60fps on each means different rending strategies. On PC you have yet another set of strategies. Maybe even for each GPU vendor if you need to go really fast.

Shading languages and even entire material pipelines can require rearchitecting. If you used Vulkan and SPIRV on Windows and wanted to move to PS4 you somehow have to either translate what you have to GCM and PSSL or come up with a separate asset pipeline. Then on XBox you have to use DX and HLSL. Then there are all sorts of different optimizations to do for how each platform handles shaders.

Sometimes OSes will have preferred ways to handle audio or video codecs. Handling mp3 on Android Google wants you to use the OS driver but on Windows you have to roll your own decoder. Hell sometimes a platform won't have a hardware decoder available for the audio for video format you used on a different platform.

Then there are general system differences. Filesystem access can change a lot. Compiler features can change across platforms. Even just going from windows to Linux these things can come up. (windows doesn't use the std high resolution clock but Linux and Mac do).

Source: I work on a AAA game engine.

>Why is porting games to PC such a difficult process?
It isn't.
>but just getting it to run on pc should be pretty simple, right?
Yeah.

Even using unity going from PS4 to Windows can require a reoptimization of all your shaders and materials. This is just to hit a baseline of 60fps too. It's not trivial.

Consoles using x86_64 is great for porting but doesn't solve everything. For example: DirectX between Windows and XBox One is not really the same. To be truly performant you need to restrategize a lot of rendering techniques for the target hardware. Just because it's the same hardware architecture doesn't make it the same hardware and that doesn't even begin to touch the software.

They use prerendered footage, not actual gameplay footage. Even many actual "gameplay footage" is just prerendered footage simulating gameplay. Ubisoft is notorious for it.

But I thought the whole point of consoles was that you can get so low-level that you could make very specific optimizations.