Discussion in 'Article Discussion' started by brumgrunt, 26 Apr 2012.
I think your post counters your posts argument.
No, the reason DirectX became more popular than OpenGL (OpenGL was king around DX7 and under) was due to Microsoft marketing. Microsoft created mass marketing around the XBox 360 and Windows Vista, forcing developers to use DirectX or loose customers. Microsoft even went as far as to purposely cripple OpenGL performance on Windows platforms - and due to the success of Windows at the time (OK, even I admit Linux wasn't great back then) developers needed to switch or start to loose sales. And due to positive feedback, DirectX became ever more popular.
See this page for the history of the API wars.
They appreciate it more, it's like giving £5 to a wealthy 40 year old business man, you may get a little thank you but he likely won't think about it a day onwards, give it to a little 8 year old (assuming they have low pocket money, I used to get £1 a week) and they will be amazed and feel like their world has just opened with many more possibilities of what they can get at the corner shop.
Windows gamers have a choice of almost every commercial game ever released, Linux gamers have the choice of almost no commercial games and a few indie titles. They pay more because it means more to them.
I'm wondering if this is due to their rumored console? Basing it on linux instead of windows would allow them to get more performance out of the kit.
how so? Your hardware don't automatically overclock when Linux is detected.
If you mean that they have less memory and drive space with Windows. You know that their is Windows 7 Embed System, which is a super light, cut out to the bone of the latest Windows, but keeping Windows security features, and all that to use it. It's mainly designed for Point of Sale systems, or any low performance system. Also you have Windows CE, which powers the XBox, XBox 360, and also the Dreamcast. They all showed impressive performance and graphics for their hardware specs.
I don't know about this crippling thing, but here is what I know, as I have a bit of experience in programming both:
-> DirectX is cleaning and easier to code than OpenGL
-> Easier and more helpful documentation from DirectX can be found over OpenGL (that was my impression)
-> DirectX can debug it's vertex shaders, and fragment shader components (this is where all the magic from the GPU happens). In OpenGL, you have very little tools (more tracers than debuggers), making developing on OpenGL very difficult. If something doesn't work, you don't know why. All you have to re-analyses EVERY line to code by yourself, of your program on somewhat and related to what you are trying to do, as it can be anything, anywhere. Very time consuming, and that is IF that is problem, it could very well be the math or approach that was wrong.
-> Nvidia and AMD essentially drop support for their developer tools for OpenGL. They are out of date, and don't work with their latest cards. A perfect example is Nvidia PerfSDK. We are in 2012, and it still doesn't support Fermi card for OpenGL. Nvidia PerHUD is largely more focused DirectX. NVIDIA Parallel Nsight Up until recently it didn't support OpenGL.
And it's the same story with AMD.
You know that's not true, right? Neither Xboxes run any version of Windows.
Never the less, the Dreamcast was running Windows CE barely modified.
Actually, you are right, both XBox's OS's was based on NT architecture.
By going with linux they would:
a) have more resources available
b) not have to pay a 3rd party any licencing fees.
The whole reason Valve started steam was to cut out the middleman and make themselves more profit. With this in mind why would they use windows for the console?
1- RAM and storage space is cheap, unlike the old days. And we don't know how Windows Embeded OS or possibly be able to get an even lighter version (no interface, for example)
2- True that you don't have to pay 3rd party license fees, so instead you have to pay research and development, AND hire people who are expert in Linux source code (rare so $$$$), to tweak the OS specifically for the game console. So it ends up costing you more than paying a license fee. What IT DOES offer, and that is what you should have said instead, is maximum flexibility, as not only you are not tied to the limitation of a 3rd party solution, but also you are dependent on them. (waiting for a bug fix, tweak you requested, and all that).
3- Support OpenGL and DirectX, so that developer don't need to translate their DirectX game to OpenGL, which is NOT an easy task. You pretty much have to retype the entire game, or if the game is using an engine, possible change the engine, and now you have not only to retype the game, but the graphics and experience could change, depending on how flexible the engine is.
Not quite right either: while they share some APIs and the like with NT, neither are based on any version of Windows. They're both completely custom, and divorced from the development of Windows.
Don't take my word for it, though: here's one of the Xbox and Xbox 360 engineering team saying exactly the same thing. As I said: neither the Xbox nor the Xbox 360 run any form of Windows - not CE, not NT.
But yes, the Dreamcast was powered by Windows CE (I've got one under the TV right now, by coincidence.) It was also, you'll remember, the death knell for Sega's hardware division - not exactly the best advert for Windows as a platform on which to build a games console!
lets not forget microsoft used sega, pulled out of some deal or other leaving sega with their pants down some what and using all their gained knowledge to make the original xbox. so in a way sega hardware died and microsoft console spawned.
Valve can just grow their own linux boffins - i'd go so much to say they have the last few years. i'm guessing the fact that they are letting this information out means they are fairly confidant they can make a good go of it.
I wouldn't be surprised if they already had some experience after developing for mac. Similar problems too that theyre gonna face, namely lack of direct X.
Even if they don't, attracting developers shouldn't be a problem for valve. Like working for Microsoft or IBM, the company holds prestige.
Poses the question tho, will the move OpenGL to improve to where it needs to be or will Direct X be supported by all in some sort of agreement or third option, Nvidia, AMD and Steam develop a third API. The last option is nothing is done, and support remains limited.
That, and the PS3 uses (something close to) OpenGL - a console which Valve has developed games for in the past. It's not like there's no history of game devs working with OpenGL.
And OpenAL. Well, I can dream.
PS3 variation is OpenGL-ES, last time I checked. I think its like version 3 now or something.
Possible to avoid Windows 8 entirely?
You know that your games will still not work.
- The game will have to be translated from DirectX to OpenGL (DirectX can be debug, and is MUCH easier to program than OpenGL, and Nvidia and AMD provide packs of tools for it, and have barely anything for OpenGL, and documentation is very low for OpenGL).
- The game will need to have all it's API code translated from Windows to Linux. That means hire Linux programmers.
- The game will have to be retested from A to Z, for OpenGL, graphic glitches with Linux drivers, and re-optimized with the performance of OpenGL under Linux.
Also the drivers for Linux, are rare, and total crap. You have to be lucky, or have to purchase a Linux ready system, due to lack of drivers, let alone ones that provides good performance.
Nvidia Display Drivers for Linux.
AMD Catalyst for Linux.
EDIT: Documentation? There are 220 books on Amazon when you search for "DirectX programming." There are 469 books on Amazon when you search for "OpenGL programming."
Yup, have fun with them. Tell me how they work out for you, and how much of the same performance as under Windows you get.
Separate names with a comma.