Deciding whether to write this latest entry was a tad difficult, if only because I'm starting to feel like I've been harping a bit too much on Microsoft, but some of the information that has trickled out about the new Xbox bears some putting into context. Specifically, the requirement that anyone wanting to publish a game to Xbox Live needs to sign on with a publisher, so no self-publishing by indies. There's some minor rumbling and irritation at this requirement, but I don't think anyone was really expecting Microsoft to even try to accommodate indies on this one. Some people might not be quite aware of why they had such low expectations though and I intend to try to lay out some basic points that might help provide clarity or at least coherency.
Games have been a traditional strong point of the Windows platform, partially because early in Windows' lifecycle Microsoft made a concentrated effort to woo game developers. The API war between Direct3D and OpenGL was the result of that effort and Microsoft ultimately triumphed on the desktop when Direct3D became the defacto API for 3D games. A couple of things have however begun to compromise this dominance. Some have claimed that it is because OpenGL is gaining more acceptance and thus allowing for more cross-platform compatibility, but I would argue that OpenGL's improved standing was in response to the weakening Windows gaming environment, not a cause of it.
Probably the biggest threat to Windows' dominance in gaming has been Microsoft's attempts at diversification, namely into consoles and then mobile devices. When Microsoft first released the Xbox, the company focused heavily on getting as many games on it as possible to make it competitive. This resulted in what could at best be called a 'benign neglect' of the PC gaming market. After all, Windows already dominated the PC gaming market. The real growth opportunity was in consoles, especially as Microsoft could take a direct cut of games sold on its console, something it could not do for PC games. The original Xbox gave Microsoft a foothold in the console market and the 360 expanded that foothold. This caused an internal conflict of sorts, wherein efforts and projects that might help boost PC gaming were neglected or scaled back to avoid disadvantaging the console. PC gamers aren't stupid and caught on that something like this was happening, though for some time there was no official confirmation, not that any such was needed. The end result was a stagnation of sorts with PC games as the complexity of games were effectively dictated by having to work with technology that is at this point eight years old. So in Microsoft's quest to ensure a steady flow of games for the 360, the company had a vested interest in not pushing games to take advantage of the latest and greatest PC hardware.
As part of this pursuance of games, Microsoft even released the XNA framework targeted at indie developers. Ironically, the need to maintain support for the 360 is what prevented XNA from ever being updated to support Direct3D 10 and higher, as the 360's hardware was effectively Direct3D 9 plus some enhancements. This particular experiment has not lasted very long as Microsoft made it more and more financially infeasible to try to publish a game on Xbox Live for indies however. There are many reasons Microsoft might have done this, but probably the simplest is its ever shifting focus and its efforts to force third party developers to shift along with Microsoft. Microsoft is now a major player in the console market and its entertainment division is no longer taking heavy losses, though we'll see whether they repeat the mistakes of previous generations by cheaping out on hardware only to get hit by massive charges to replace broken systems. Since Microsoft's entry into the console market however, mobile devices have taken off and it was not long before the company also dove into that field.
Microsoft actually had a fairly strong presence in the mobile market due to Windows CE, but that platform never really captured the imagination of the consumer market. Its first attempts to do so were the Zune, which basically flopped, and then the ZuneHD, which actually was a very respectable MP3 player. The Metro tile interface actually originated from work on the ZuneHD and lessons learned were incorporated into Microsoft's new phone OS, Windows Phone 7. To emulate Apple's appstore/device model, Microsoft knew it needed applications. As such, Microsoft retooled XNA to make it a platform for mobile app development. It should not be surprising that publishing to Xbox Live was increasingly de-emphasized. Improving XNA to help it be more useful for desktop game development was probably never even considered, though Microsoft could not stop people from using its existing facilities for desktop game development. Still, Microsoft had fostered a development community for Windows Phone 7 using XNA, which in theory could be grown and migrated to future iterations. And then there was Windows 8 and Windows Phone 8.
Windows 8 represents Microsoft's effort to extend the appstore model to the desktop. XNA's ability to create desktop games however was a direct threat to Microsoft's attempts to funnel things into its appstore. Microsoft took to dealing with this threat with a scorched earth strategy, wherein they dropped XNA outright even though they had built the Windows Phone developer community around it and replacing it with a new framework that they could restrict to the appstore. The disruption and dissatisfaction that resulted was apparently written off as acceptable collateral damage so long as the goal of forcing the third party developers that had flocked to XNA in the first place into the appstore was achieved. Except constantly been run roughshod over by Microsoft has soured a lot of developers, driving many of them to search for alternatives instead of going the appstore route that Microsoft was hoping.
Microsoft has a tendency to weaken itself whenever a current strength gets in the way of an expansion/growth objective. This might work if Microsoft was an actual trend setter, but in all of the above cases it was a follower or late adopter. But in the process of shooting itself in the foot in so many ways, Microsoft is creating openings that others can and are exploiting. Time will tell whether the company understands that it is helping others undercut it in its core competencies whenever it cripples itself in pursuit of something new.
This blog post represents the personal opinion of the author and is not representative of the position of the ReactOS Project.