0. 首先,将游戏开源本身没有任何技术上的问题和障碍。而且只要写得不是太差,总是有些价值的。
所以问题在于:
1. 游戏跨的领域太多了,一个人搞定所有的可能性并不大。然后人多顾虑就多,作为程序员对开源的接受程度较高,美术啥的可能就不那么热衷,你得考虑他们对劳动成果的态度。
2. 游戏开发的门槛还是比较高的。首先我们讨论自制引擎的游戏,这中间付出的努力难以想象。而实际上比引擎本身更费力的是配套的编辑器和工具链,所以你也看到有些厂商引擎开源,编辑器闭源,都是套路。而非自研的引擎,作为有经验的老司机肯定会积累大量的工具类,也同样不愿意公布出来。所以事情就很明白了,当大家都敝帚自珍的时候,你选择公之于众,那无形之中又会多了竞争对手。所以出于这样的顾虑选择闭源。
3. 游戏是一个费时费力的项目,难以由开源社区进行推动。游戏本身往往反映了制作人的意志,而有很多声音的时候,游戏是做不下去的。因为其费时费力地特性,那注定键盘侠会远多于静下心来提交代码的人。这样一来开源的作用可能就是给mod作者参考(举个例子,饥荒几乎是个开源游戏,他们引擎部分闭源,但玩家能直接从lua脚本中读到游戏逻辑中的几乎全部状态和参数,所以mod才会如此之多),或者你决定弃坑的时候把代码交给别人。
主要还是1、2两点。