3 ms·
Game engine development is so ridiculously hard. The industry has plenty of little libraries that do some significant upfront lifting, but there's just plenty o
by andrewmcwatters 5y ago
Game engine development is so ridiculously hard. The industry has plenty of little libraries that do some significant upfront lifting, but there's just plenty out there that isn't done for you. Stuff you wouldn't even think about until you realize you want a feature that isn't there. And the further you progress, and the more you learn, the fewer references and prior art you can turn to, because the combinatorics of finding someone who has built up all of those areas of discipline becomes exponentially harder to find.
There are still proprietary technologies today that are decades old that the free and open source community has not recreated simply because for all of the people that work in this space, open source and commercial, there are just not many people at the high end of the scale working on those interesting problems. Those problems are the ones that generally become commercial solutions because no one else is doing it.
After over 14 years of development, I would love to hear what little big problems like this the authors came across.
- chii 5y agoThe game industry has little open source libraries because most games cannot profit off the library being open source. It doesn't increase the marketing reach of the game (it might make good PR for the studio, but the studio doesn't need good PR, it needs revenue from sales of their game!). And the high-end libraries are worth money, so unless there's an altruist contributing the code, it's not going to get open sourced. Things like speedtree, low-latency video play back (within the engine, like bink vidoes), etc, are all commercial solutions to common problems in games development, and none of these would be given away for free if they could charge for it!
- s-lambert 5y agoTo me, the reason why the game industry has little open source libraries is because games are usually a once-and-done approach to software. So open sourcing part of your game has little benefits because you're not going to go back update the open source libraries. Whereas other software is a constantly updating behemoth, so open sourcing your software can get small beneficial increases from external changes to your open source code. The profit motive doesn't really seem like the main reason, since most open source software makes no money. Facebook doesn't get money from open sourcing React for instance, but they do get functional improvements to React that comes from it being open source and having more people help work on it.
- maccard 5y ago> games are usually a once-and-done approach to software This is just false. The most obvious example of this is live service games - these have been commonplace for over a decade, and have existed for 20 years (WoW in 2004 in my mind is the turning point for that). Slightly less obvious are PC multiplyer games that predate this - as an example Counter Strike was released in 2000 and was "patched" a few times before steam existed. Even going way back, one shot single player games have been built iteratively since the 90s at least, if not earlier. The idea of a game "engine" is reusing code between games - The LucasFilm games all used similar engines to speed up development from the late 80s. Even today, modern games like Call of Duty have their roots in Quake's game code from the late 90s.