首先说明一下,我在这些方面大多还是个新手,虽然有几年计算机科学的学习经历,也零散接触过一些游戏开发。

长话短说:在使用虚幻引擎5与他人合作开发游戏、且项目中可能包含大量资源的情况下,对于一个2-4人的团队,应该采用什么版本控制方案?

到目前为止,Git和GitHub在我个人非游戏开发的项目中表现很好,甚至在一些Godot项目里也不错。我通过大学学习和个人项目多少掌握了一些工作流程。我一直认为Git是版本控制和团队协作的“行业标准”。但现在我对游戏开发项目中的大型(二进制)资源感到疑虑。

我目前正在读Jason Gregory的《游戏引擎架构》,书中提到了Perforce,这是游戏开发中版本控制的行业标准。看起来是值得学习的东西。据我所知,GitHub的Git LFS带宽限制是10GB。对于包含大量资源/资源包的虚幻引擎项目来说,这似乎不够用。而且我也听说Git在处理大型二进制资源时因为合并问题会有些棘手?这也是我考虑Perforce的原因之一。

目前我不是说要发布游戏,而是用大量资源进行原型开发、学习和实验。

那么,我的主要选择/问题如下:

  1. 继续使用Git+GitHub(设法解决LFS带宽问题)(GitHub Team?)
  2. 从学习角度看,GitHub Team的价格还算合理?

  3. Git+Azure DevOps(没有LFS带宽上限?大概免费?)

  4. Perforce,自托管还是云端?

  5. 其他方案?

说实话有点头疼,不确定我是不是走错了方向。Git+GitHub本来很干净简单,但Perforce在游戏领域似乎更强大、扩展性更好(而且对进入行业学习也有好处?)。欢迎任何想法或建议。希望我表述得够清楚了。谢谢。