这个主要还是看开发什么类型的游戏.
一般来说C#代码肯定是需要编辑的.那么是选择VS还是MonoDevelop都是可以的,个人比较喜欢VS,调试以及编辑都感觉比MonoDevelop要强一些.如果需要程序是可以动态更新的,而且你有是需要做移动端游戏的,那么Lua基本上也是需要的.是选择用ulua还是slua其实都没问题.我扒过一些做的比较好的MMO,基本上都是这两者选择其一.最有意思的是完美的诛仙,居然都没用.懂行的有谁能跟我解释一下诛仙是用了其他的动态更新机制还是根本也就是不能动态更新代码.Lua的开发环境比较头疼,没有什么必杀的IDE,基本上大家各自有喜欢的,我知道的有Sublime(不能调试,纯代码编辑);LuaStudio(国产付费,可以直接Attach到Unity上进行调试,不过编辑代码的时候手感差些,代码提示非常一般);LDT(基于Eclipse,如果你愿你给你的Lua代码都加上符合规格的注释,那么代码提示非常不错,不过要注意的是如果要发布的时候建议处理一下注释代码,全部去掉,否则文件会大不少)
我开发过的Unity项目基本上都是3D项目.所以只说3D的插件:
T4M用来把地形转换成模型,用起来还是比较顺手的,美术也是比较容易上手的.就是T4M不再更新了,不支持Unity5系列.不过稍微修改一下源码就可以了.
DOTween大家基本也都有提到,无论是UI还是游戏中的其他物体都是可以用这个库,而且性能也不错.
uSequencer用来制作过场动画.
NGUI或者系统自带的uGUI都可以用来做界面,NGUI支持的更全面一些,但是uGUI对系统的压力更小,看项目组选型吧,都没问题的.
PoolManager或者FastPool用来做对象缓存池,Unity坑爹的内存管理基本上够大家喝一壶的.每次去Unity大会的时候都能听到台上Untiy的人义愤填膺的说"既然你们在服务端都懂得用池,为什么客户端不用呢".尼玛,自己到现在还是在用那么原始的垃圾回收算法,还好意思说别人.
EasyTouch也是个好东西,做移动游戏的手势,摇杆什么的都可以用到它.最新的EasyTouch的摇杆是用uGUI做的,如果项目是用的NGUI而且又有洁癖,可以修改一下源码改成NGUI的.
ConsoleE这个插件用来替代系统自带的Console是不错的.我用的是免费版.在看调试信息的时候可以用它做关键字过滤.调试起来方便不少.
如果需要读写Excel文件,那么POI库基本上也是需要的.策划同学基本上都喜欢用Excel这东西,我们基于Unity做的游戏编辑器一般都会将数据导出成Excel文件.
如果公司本身没什么积累,那么服务端的选择还是比较麻烦的.我开发过的网游基本上是用Java做服务器端的,这东西配合上好的IDE(Eclipse,IDEA)写起代码来简直就是飞快.而且有非常完善的一套工具链,你想做代码热替换?你想做生产环境的性能调试?内存爆了你想看看什么地方出问题了?游戏死锁了,你想找到死锁的原因?OK,Java完善的工具链里你都能找到能用的.
如果不想从头开发一个服务端,那么现在也有一些开源的选择,比如kbengine用的是c++做底层,然后python做逻辑.skynet是用c做底层,lua做逻辑.scut用的是C#开发.这些我都没用过,就不误导大家了.
如果你做的是手游,那么你需要一台Mac机器,也可以用黑苹果,不推荐用虚拟机,太慢.如果对Mac的系统不熟,你就用它做一台发布的机器,打包用它就可以了.Jenkins挺好用,推荐可以用用.
至于用SVN或者GIT啥的全看个人的喜好了,没什么太大的差别.当然GIT逼格高一些.开发的时候可以把Unity的Editor Settings里的Asset Serialization的Force Text选项打开,这样当提交有冲突的时候,有时候还是能Merge的,如果用的二进制,就完全没希望了.
发布前的Profiler肯定是要做的,Unity的工具其实一直到现在都很一般.这方面可以使用UWA或者腾讯的Cube,都是不错的Profiler工具.如果你有一台root过的Android那是更好的.
最后的最后,如果是做国内的手游,那么发布各种平台的包是个非常蛋疼的事情.这里建议要不然就发布一些主要的平台,然后自己做接入.要不然就找一个靠谱点的接入工具或者平台啥的.否则光是平台接入这块都会让你疲于奔命的. |