You keep saying this, but it remains false. If it would have been so trivial, studios wouldn't have hard time adding such backends and wouldn't need to hire third party porting experts when they decide to do it. You can see how long it takes major engines like Unreal to make a fully functional backend (since features added to such engines are publicly communicated). It's very clear it's not trivial at all.
And MS and Co. obviously do all they can to keep this difficult, that's the main idea of their lock-in which they designed to tax developers with.
What's bad though, is your justification of this practice.
They added Wii, DirectX10, iOS and Android backends while I was there. None of these were ever considered risky and none had more than one person working on it. Each console/platform has it's own quirks in how to optimise the scene for rendering but the having something rendering on screen is pretty much trivial once you have the machinery in place.
I can't speak for Epic, they are making an engine for every possible game and every possible rendering scene which is a harder problem than what we were doing. But the rendering backend isn't the hard part.
The problem is not in the risk, but simply in the cost itself. It's an extra tax to pay. However quality can also suffer, see below.
> I can't speak for Epic, they are making an engine for every possible game and every possible rendering scene which is a harder problem than what we were doing. But the rendering backend isn't the hard part.
The story of Everspace illustrates my point. They were bitten by multiple issues in OpenGL backend of UE4, and it took Epic a long time to fix some of them. Their resources are limited, and they are more focused on more widespread backends obviously. Which is exactly the result lock-in proponents are trying to achieve.
Don't know exactly what issues Everspace had with the UE4, but you want to have a fun night go out with some Epic licensees and get them to tell you war stories of issues they have had when they tried to do something which Epic hadn't done in their games. You're paying Epic for the "battle testing" and often they didn't fight those battles.
Part of the reason I left the games industry is that once you work at studio with an internal engine it is extremely frustrating to work on AAA games without the freedom to walk over to the engine programmer and get them to move the engine closer to what you need.
Internal engines also on average are less cross platform. Simply because big publishers and shareholders don't want these very expenses that creep into development because of lock-in. That's why many Linux releases for such games use source or binary wrappers, rather than proper native rendering to begin with. This highlights my point above.
A port of a game is more than changing the low-level APIs used to control the hardware. It's the hardware of the platfrom the decides the complexity of producing the port.
Linux is a special case because it's the same hardware as a the Windows. Your market is people who want to play the game but aren't dual booting. Most of the issues with producing your port are going to come down to driver incompatibilities and the fact that every Linux system is set up a little bit differently (the reason Blizzard never released their native Linux WoW client[1]). It's not a big market and there are loads of edge cases.
For big publishers and AAA development, they're not looking to break even or make a small profit. They need to see multiples of return on their money or they aren't going to do it. Using a shim is cheap and doesn't hurt sales enough to matter to them.
[1] https://www.phoronix.com/scan.php?page=news_item&px=OTA0NQ
And I'm sure that cost plays a role when small market is evaluated. The higher is the cost, the less likely such publisher is to care, because prospects of profits are also reduced. So it goes back to my point. Lock-in proponents like MS and Co. benefit from lock-in in slowing down competition growth.
I think where we disagree is that I don't think of the lower level API as being much of a lock in. The better graphic programmers I know have pretty extensive experience of the various flavors of DirectX and OpenGL. The general principles are the same and good programmers move between them easily.
Lock-in here doesn't mean they have no technical means of implementing other graphics backends, it means that implementation is hard.
A lot of common middleware supports Linux just fine. It's graphics that's usually the biggest hurdle. People have expertise to address it, but it's still a tax to pay. And different distros support is a very minor thing in comparison.
If graphics is not the biggest issue, what is then in your opinion?
Graphics is the biggest issue, but the issue isn't at the API level. It's in the driver and hardware differences below that layer.
The "tax" as you call it, comes mostly from the hardware drivers leaking through the abstraction. Part of this is AAA game developers fault since they are attempting to use all the GPU with edge-case tricks to eke out more performance.
Make yourself an IGDA member, attend GDC, go to Independent Games Festival, network with people there and see how many would actually share your opinion.
https://trello.com/c/lzLwtb5P/124-vulkan-for-pc-and-linux
So claim that it's trivial is fallacy. It's surely doable, but it's a substantial effort.
2 - Check how many in the industry actually care about your 3D API freedom goals. Even Carmack now rather likes DX, in spite of his earlier opinions.
3 - Every big fish and major indie studios are using Unreal, Unity, CryEngine, Xenko, Ogre3D, Cocos2d-X, or whatever else rocks their boat.
If you are happy playing D. Quixote, by all means keep doing it.
Game studios won't change their culture just because of some guys having HN and Reddit 3D API flamewars.
So it's an extra cost for developers who need to spend time on it, and it's exactly the cost MS and other lock-in freaks are benefiting from, since it's increasing the difficulty of releasing cross platform games (one more difficult thing to address). The higher is the difficulty, the more is the likelihood of some games remaining exclusives, which is exactly what lock-in freaks want.
And if you claim that this difficulty is offloaded from most game developers to third party engine developers, it's still a problem. Longer development periods, more bugs, harder support all that contributes to some not making cross platform releases as well.
There are no two ways about it, lock-in is evil, and your justification of it is very fishy (you must be working for one of the lock-in pushers).
Nowadays doing boring enterprise consulting, with focus on UI/UX.
Experience about reality, how people in the industry think, what those people actually consider as project costs.
Gamasutra articles are all available online. Try to find any postmosterm complaining about proprietary APIs on what went wrong section.
Experience, not demagogy.
I trust more the experience of those who actually work on games porting, and explain relevant difficulties they encounter. And no one says it's trivial. On the contrary, they say that rendering is the hardest part, and the most costly one to port. So it's very clear, that lock-in proponents who are against cross platform gaming (MS and Co) are benefiting from this hurdle and strengthen it by pushing their APIs.
See: https://boilingsteam.com/icculus-ryan-gordon-tells-us-everyt...
Someone that would actually loose this source of income if you had what you wish for, thus be forced to search for other kind of consulting services in the games industry.
Again, not understanding the industry works, plain demagogy.
When a games developer sees a 3D API manual for the first time, their first thought is "What cool games can I achieve with it?" not "Is it portable?".
He can find what to do, working in engine development directly.
So far you were engaging in demagoguery about how trivial porting is and justification of lock-in, even when facts to the contrary were shown to you directly. I see no point in taking your word on it, against those who are actually known to be working in this field.
> When a games developer sees a 3D API manual for the first time, their first thought is "What cool games can I achieve with it?"
Until their publisher or shareholder knocks on their heads and stops their cross platform releases because of costs of using more APIs. Goal (of lock-in supporters) achieved.
You appear to be speaking on behalf of all/Windows developers. Perhaps not 'most' think that way? What is your evidence other than your stated status and related anecdotes?
Why should we care what AAA studios care about? Should we be happy they've continued to push DX as default?
What do you do when DX doesn't provide what is needed for a game? Too bad? Fight with MS?
Overall, shouldn't we want gamers to enjoy the games being developed as widely as possible on a range of platforms? It's a little lazy to just fall back on the old catch-22 of 'no market' because 'no games' because 'no market...'
It is easy find out how the industry actually thinks, and if I am just writing nonsense.
Go spend some time reading Gamasutra (all articles available online), Connections, MakingGames Magazine, or the free sessions and slides at GDC Vault.
If there is an university degree in game development nearby, attend their monthly meetings.
Then you can validate for yourself how is the games development culture and what is actually relevant.
Also former IGDA member and attendee of a few GDC conferences, game developers only care about shipping games and their IP.
AAA studios don't care 1 second about APIs to make a better world.
Adding a new rendering backend to a games engine is a trivial task, when compared to the pile of features a game engine needs to support.
Also most Windows developers don't care about Stack Overflow surveys.