Originally Posted by KyadCK
... Because a recompile is easy. Compile it again.
Adding the ability to run EXEs in other OS's, like WINE, takes years (to build the platform), is unreliable (will this new version of WINE break compatibility with this new program?), and frankly you lose a lot of performance sometimes...
What do you think compiling is? It takes a few hours to compile an entire Linux operating system, games generally have a 20MB EXE.
I do not understand where this is being misunderstood, so lets try again.
The XBOX SERIES
, consisting of the XBOX
and XBOX 360
use modified versions of Windows.
What did you misread that made you think I said the Xbox 360 did not run windows?
Since the PS4 will have 8 cores, and the Xbox is rumored or confirmed to have the same, I'm going to say "yes".
That's misleading, a lot. It can take an hour just to compile and link Chrome on some systems, an exe of under 2mb (In linux, it's about 35 min on my rig, maybe 45). The problem is, it takes a long time to compile all the additional content in the application. The exe, or binary executable (for linux nerds), is only a small portion of what is compiled. chrome as pure source is somewhere around 2G of source, that takes a while and this is a considerably small program when you look at the full complexity. An opsys? It doesn't take hours to compile linux, it takes DAYS to compile a full desktop. I repeat, days. A good game could take a single day alone to compile.
Best part? We haven't even talked about how long it takes to get code compiled on a different platform. You have to tweak the code, build it and go back to the build errors. Just getting it to build could take extreme amounts of time and effort. Then you have to get it to build appropriately with the same "performance". So now we are talking about months of work, just to get that console game on windows (or any other platform).
That is why "porting" is so expensive, it isn't as easy as "slap in the code here". It's easier when the hardware is similar but they are going to have some stuff that will need to be re-designed. Direct hardware functions that may or may not be on the new target platform have to be re-written into formats for the new API. That "to the metal" has to be re-done, completely.
In ways, creating a wine like wrapper is going to be easier and better for them. Your "will a new version break things" isn't exactly too big of a deal. Since the hardware is already known, well designed, the only issue would be the software side of things. If Sony/MS designed a wrapper to release games with, the company has to do no work in compiling and re-working code to "port" the game. MS/Sony can keep the wrapper up to date and working with their system. Wine has issues because DX software varies so much, on top of that they have to deal with OGL and constant linux tweaks/updates. Not to mention, the big anchor, they don't know the windows kernel calls, or some of the more in depth DX API functions. They are doing this blind, where a wrapper done by the console creator wouldn't be. It's much easier, development goes faster, performance enhancements come quicker. (Assuming Win plays ball with Sony, a certain amount of money should probably aid in that if it were ever addressed, but either way this is all speculation that parties involved get along which usually doesn't happen)
The goal of a wrapper isn't to emulate anything but to make the opsys communicate with the game as if it communicates naturally. In theory the overhead of performance should be minimal, the problem is knowing both sides of the equation so you can balance it equally (an apt comparison).
I'm not defending or saying they should, just that you aren't really making a clear picture of this. Porting is a TON of work alone, especially when you spend so much time tweaking your code to run on the metal and then scrapping that because it won't compile on the new target platform. Essentially ports don't exist per-se, what happens is features just stop being added and the code just gets thrown into the compile phase. Meaning no new development on the engine or anything, it runs as is once they get it to compile and build. So you get the same game, or as close to it as can be done. It sucks because you pay the same price for either but one runs on a cheaper solution.Edited by mushroomboy - 4/6/13 at 9:49pm