1. 53
  1. 36

    Although the title is correct, I don’t think it does any justice to this awesome OpenGL vs Direct3D history lesson.

    1. 3

      It confused the heck out of me since I immediately started readimg the answer after assuming the title was the question. Re-reading question at top, suddenly the post made a lot more sense.

      1. 3

        The submission guidelines say:

        Do not editorialize story titles, but when the original story’s title has no context or is unclear, please change it.

        So I could have added “(OpenGL/Direct3D history/comparison)”. Can’t edit it any more.

        1. 4

          Since you linked to the answer and not the question, I think that you would have had a bit more freedom when it comes to choosing the title.

      2. 16

        I have an answer to the second part of the question: deploying games for the biggest market, Windows, makes the most money. Especially given that they have to be highly optimized for a given platform. Later, we saw tons of game development on Web, iOS, and Android for same reason.

        1. 15

          Because PC gaming is largely a windows monoculture.

          1. 2

            This + video games are one of relatively few applications that run directly on the end user’s machine, rather than through a browser, which makes that distinction particularly relevant for developers.

            1. 1

              I remember there were attempts to change this, though. There was the Games Kitchen back in the early Power Mac days which was allegedly a trial balloon to attract more ports and hopefully first-party titles to the Mac (if you go to the About window in Mac Dark Forces, there’s a shout out). But Apple never had their heart in it and this lasted well into the Jobs era. Gabe Newell when asked why Valve’s Mac support was so poor back then famously complained that they would find problems they wanted fixed, and someone would say they would, and that someone would end up working somewhere else, and their problems never got repaired because then it was a new someone else who was unaware of them. I’m not sure if that’s why they never released Half-Life for the Mac, despite the fact that Logicware pretty much had it completed, but it was certainly why there was never a Half-Life II ( http://archive.videogamesdaily.com/features/gabenewell_valve_iv_sep07_p1.asp ). But Valve never cracked the formula themselves either. The Linux-based Steam Machines didn’t exactly sell off the shelves.

              At the end, I guess it’s where the market is.

            2. 2

              I actually have thought on this occasionally, generally chalked it up to Direct* and fossilization, but this was a great deep dive, thank you for sharing.

              1. 2

                One thing that hasn’t really been mentioned yet is Apple’s deprecation of OpenGL; when you’re playing catch-up (like MacOS is in the desktop gaming market), a good way to scare developers off is to signal that your distant-second platform is going to require more maintenance than the one most of your players are probably already using. Whatever you think about the reasoning behind the OpenGL deprecation, I think it’s bad dev-marketing to signal that you’re willing to get rid of really core APIs. It’s kind of similar to the complaint often lodged against Google when they shut down products: if you’re willing to shut this down, why would I trust you to not shut down the next one?

                Meanwhile in Windows-land, the APIs are rough around the edges and there’s a million ways to do everything because of all of the built-up cruft, but I can still run Age of Empires 2, a game that came out 20 years ago, on my Windows 10 machine. It’s definitely a different philosophy and there are reasons to prefer both, but I can certainly see the appeal of Windows’s strategy for game devs.

                1. 2

                  The same reason nearly every proprietary software company targets Windows first or Windows exclusively: if there’s a PC on someone’s desk or in their lap, statistically speaking, it’s probably running Windows. Cross-platform compatibility is expensive and time-consuming to do and video games are some of the most complicated software made. There’s no such thing as, “well just use this API and you get cross-platform for free” and those that advertise it are selling something very limited and not useful to series gaming dev.

                  Also, while there is a large overlap between gamers and computer geeks, no video game company wants to alienate their non-geek fans holding money. Simplifying the supported platform down to a certain CPU, OS, and video card makes this possible.

                  1. 3

                    There’s no such thing as, “well just use this API and you get cross-platform for free” and those that advertise it are selling something very limited and not useful to series gaming dev.

                    Is anyone advertising cross-platform development “for free”? If you’re talking about SDL, Unity, Unreal, etc. I can confirm that they really aren’t very limited whatsoever.

                    1. 1

                      Also the parent poster only talks about the downsides of cross-platform development while there are definite upsides as well, especially with regards to code quality. But that’s not so important and paid attention to in games development.

                  2. 1

                    In b2c it can help having the same system than the users.