引擎选择
游戏引擎的选择是项目开始的第一项工作,后面所有的工作都要在这个选择的引擎上进行,可想而知选择引擎的重要性。一般引擎的选择从下面几个维度来考虑:
- 平台的选择:这里我们只考虑手游,不过现在H5游戏的不断流行,所以我们也要考虑H5平台的支持。目前H5平台支持比较好的引擎有Egret、laya和cocos creator,从工具链、性能和易用性上来说Egret更适合做H5平台的游戏,但是cocos creator近期发力不少,无论是从编辑器上还是性能上都有很出色的表现,我很期待它的后续发展。如果想做纯原生平台的游戏那么cocos2d-x和Unity都是不错的选择,这两款引擎占着整个原生游戏市场的80%以上的份额,国内市场份额更高。UE4现在也是很多大团队的选择,搭配技术积累较深厚和美术能力较强的团队可以做出出色的次世代表现的大作。
- 2D与3D的选择:游戏立项时一定是可以确定该项目是2D项目还是3D项目,2D游戏没必要非得使用3D来表现,合理选择2D与3D能让游戏有更好的体验。目前H5平台上3D技术并不成熟,大多游戏还是采用2D来表现,所以。cocos2d-x在2D游戏开发上有着较大的优势,cocos2d-x比较轻量级、开源、可定制性强,同时2D平台很多解决方案也都很成熟。3D游戏首选Unity,市场上大量的3D游戏都是使用Unity引擎开发的,已经说明了Unity足够优秀。另外画面效果表现更为突出的虚幻也是很多团队的选择。这里有一篇Unity与UE4的对比文章,大家可以看一看(Unity 过度到 Unreal 4 对比参考 非常详细!)。
团队技术基础:这一定也是一定要考虑的,团队最擅长什么类型的游戏、什么引擎和什么编程语言等,都会对后期的开发有着至关重要的影响。上一点我提到:
2D游戏没必要非得使用3D来表现,合理选择2D与3D能让游戏有更好的体验。
在这个时候就要变通了。比如团队之前有一定Unity的开发经验,并且团队没有人擅长C++开发,那么虽然项目是一款2D项目,比较适合使用cocos2d-x来开发,但是此时的最佳选择还是Unity,使用3D引擎开发2D游戏完全可以,但是让团队重新接受一款新引擎和一个新的编程语言(尤其是C++)是不理智的,后期带来的风险一定会很高。
- 招聘市场支持:这一点可能很多团队的管理者在立项之初并没有考虑过,其实也是很重要。比如公司想做一款表现较突出的次世代3D游戏,可能比较适合的方案就是选择UE4,但是招聘市场支持是需要去考虑的,能否快速组建出优秀的团队,包括技术、美术和策划,都是要对这个复杂的引擎有经验的,否则还不如采用Unity一样可以做出优秀的画面表现。除了前期的队伍搭建,还有当团队有人离开时是否能迅速招到人补充进来也是很重要的。同理后期的项目优化有可能也需要人才引进。如果选择了个冷门或者使用基数较小的技术或引擎,在人才储备和补充时就会捉襟见肘,严重时更会影响项目进度。
当然影响技术的选择肯定不止这些因素,每个公司或者团队都有自己需要考量的因素,能够提炼出来的也希望大家提出来一起讨论。