Unity3d

Unity3d的场景和组件系统决定了它很难像Unreal一样把工作流程完美封包然后让程序、美术、策划各负责流水线上的一环。场景里的一个重要物体,可能不同分工的团队成员都要掌握其配置方法,否则就无法单独对其进行修改和测试,这应该是Unity团队的最大不同吧。

相比高度工业化的Unreal,不管是Unity的早期用户群还是今天的用户里,独立游戏开发者都占了相当大的比重。使用Unity的团队,能获得最佳用户体验的团队规模区间在1人-10人,20人靠上就必须要靠专门定制的工作流程和辅助工具来保证协作质量和效率。

Unity开发团队需要的角色,视项目的不同也有很大的区别。下面列出每个类型的团队成员和他们适用的项目范围。

逻辑实现者:

工作是实现从游戏主循环到每个游戏元素的逻辑。在小团队里一般是唯一的一名程序员,在大团队里是GPP(Game play Programmer)。注意如果是独立游戏项目的话,借助第三方插件,非程序员也可以担任这个角色。

内容设计者:

在大团队里基本上就是策划职位,和传统策划的区别是因为Unity团队里负责这个任务的人基本上是一定要摆弄场景、制作prefab的,没有点动手能力光会写文档可不行。

美术:

工作包括从游戏概念图的设计到模型动画等美术资源的设计制作。具体细分可以参考游戏工业标准,Unity团队也不例外。

交互设计和实现:

界面设计、界面实现编程,由于Unity下有很多不错的UI插件,所以这份包括设计师和程序员的工作我给合并到了一起。在Unity下就算是由设计师自己来做交互实现编程也不会很难。

主程序/架构设计师:

适用于大项目或大团队的高端职业,他们的主要任务不是生产用户能玩到的具体游戏性,而是为其他团队成员搭建一个可以沟通协作的框架或工具集。对大型Unity项目来说,如果团队里没有这么一个经验丰富思路清晰的高手,很快项目就会被各种突飞猛进(因为Unity开发新功能原型实在太快了,很容易让人忽略结构问题)的feature生产搞的累赘不堪,然后在没有人指导项目重构的情况下,生产效率从每周一个feature下降到每个月一个feature,还伴随无数难以修复的bug。

服务器程序员:

网游项目必备,其描述适用于游戏工业标准,这里不赘述。

版本管理员:

适用于大项目,最好精通Git或plasticscm这类分布式版本控制系统,好处是方便做branching而且可以拆分项目为多个子项目,Unity项目大了以后运行效率是很差的,拆分项目也有利于控制不同分工的团队成员的权限。

音效设计师:

可选,推荐还是外包音效+内部实现的做法,因为Unity并没有一个完全封装好的音效中间件,如果音效设计师要进行实际调试,就要完全掌握Unity组件系统,在国内来说这个要求还是比较高的。怕麻烦的话拿到外包的文件然后让程序员或策划去导入和测试就好了。

和工业标准的游戏团队配置也差不多,不过可以注意到很多角色都打破了传统程序、美术、策划铁三角的分界线,更提倡全面发展。因为Unity的场景和组件系统决定了它很难像Unreal一样把工作流程完美封包然后让程序美术策划各负责流水线上的一环。场景里的一个重要物体,可能不同分工的团队成员都要掌握其配置方法,否则就无法单独对其进行修改和测试,这应该是Unity团队的最大不同吧。实际项目经验证明,不懂游戏引擎的美术或策划,在Unity项目里连测试都要拜托别人,非常影响效率。所以看到这个答案的相关开发人员不妨多学点游戏编辑器知识。

我学院网Unity3d教程推荐:

Unity游戏开发基础课程视频教程