Have some reasons:
- Unlike for source code, where you get potentially increased security, portability and other devs who do it for ego, having their use case fullfilled and learning, there is nothing in it for providers of other assets, like models, images and sounds.
Making art for your own hobby project might be cool, but for other peoples project it's boring, unpaid commissional work. Chances are high you also can not use it for your portfolio.
- Like you implied, making a game needs a lot of dedication and an eye for details. Most smaller open source projects work around the idea of a rough, basic use case and removing the edges later on. That doesn't work that good for games. For games, you must deliver the core aspect why player would play it pretty much spot on.
- Most single player games live by their story. Open development is basically an instant spoiler. Worse, often "story devs" come up with ideas that work in movies or books but are cringeworthy for games, because the medium doesn't allow for the same things. For that reason you will see that competitive multiplayer games (e.g. Hedgewars or Warsow) and score-driven single player games (which are effectively the same) work out a little bit better.
That said, with network multiplayer games you easier get cheaters.
- Open Source or software projects in general attract a huge number of fucking sperglords that can't into humans. I wouldn't go as far as saying that's an imperative skill for every kind of game, but it really helps in a lot of ways.
- Big game studios have lawyers to keep a lot of bullshit from you. In one Open Source project I even witnessed team some team member becoming offensed for some worthless religious reason and for the game not being child friendly enough for his 5 or so year old.
That nearly destroyed the project and is the reason I ceased most work on most other peoples game projects.
Fuck children (in a figurPost too long. Click here to view the full text.