项目开发快两个月了,中午有些午休时间,实在闲得蛋疼,就记录下研发过程,毕竟这是第一款自己从服务器到客户端自主选择技术,自己架构设计的项目。
当初来公司的时候,感觉办公环境不是很好,比较荒芜,但老板人比较豪爽,比较放权信任,一想到在上一家公司做CTO期间,原老板的各种不信任,找事,就爽快的答应了。我一直就说做游戏很简单,有钱,有我就行,也许是自信自己的能力,就没考虑团队实力,一直觉得公司里各司其职,各自干好自己的事就行,现在才发现,人性复杂,我是too simple了。这事后面有空再说吧。
小公司没有网管,行业规定,CTO都兼职网管的,开始一周主要是干干网管的活,装机子呀,SVN呀之类的。然后就是技术选型,本着本人一贯的要么不做要么就做绝的作风,服务器和客户端都采用了目前市面上最好的技术,服务器采用BigWorld的分布式架构,客户端采用Unity最新的渲染技术,因为最近2年一直都在研究这些东西,所以技术上到没有什么,用这么好的技术,自己很兴奋、满意的,做为一个搞技术的,所以一切就紧锣密鼓的开始了。
去的第一周,开发完成了登录注册功能,第二周完成了创建角色选择角色,包括服务器和客户端,每天都顶着强大的压力,混身像燃烧着的一样。登录、选角完成后,就开始研发服务器的地图加载,角色、怪物加载,因为两位投资人并不懂游戏研发,所知到的都是一些公司招的不靠谱的程序提供给他们的,(他们都做失败了),投资人急于看到客户端的表现,而我一开始就是服务器客户端一起做的,并没有单独的做demo,这就导致他们出现了些疑问,关键的问题是主策划这时趁火打劫,开始不停在公司搞事,其实和主策划不和由来已久,我一直不明白为什么,我不止一次在公司发问,自己做了5年游戏,第一次遇到自己坑自己人的,直到今天才发现问题的缘由,真是后知后觉。原来这个主策划是个忽悠+水货,他就没做过主策划,以前就是一个打杂的,没有做过核心,好多东西都不会,像个门外汉,投资人是压根就不懂,他比我先来一年多,因为投资人被他忽悠了,所以在公司权力就很大,我来了没几天就叫我一个CTO,技术负责人向他一个主策划汇报,这把我给惊呆了,第一个想法,这哪儿飞来的鸟人。这时就开始怀疑这家伙有问题了,就立即让投资人把他资历说一下,由于大家聊得比较诚恳,没注意很多(他的能力)。
团队里同事的经验都比较浅,经过一段时间的磨合,好了很多,基本没人在搞事了,能安心于自己的本职工作,锐气消磨不少。还是多聊聊技术吧,BigWorld引擎采用C++和Python开发,应该是我见过的目前市面上最复杂、设计最巧妙、功能最牛逼的引擎了,对于它的复杂,主要是动态负载均衡,而目前我手上这一版是不支持的,后续有时间会对服务器进行升级,因为我们的手游项目是弱联网,伤害计算是在客户端进行,战斗结束后统一在服务器进行验证,并没有地图同步的问题,所以动态负载均衡到不急,主要方便以后的项目。BigWorld的逻辑层有python开发,python和C++的交互往往造成代码的可读性很低,这就需要使用BigWorld的同学对python很了解,目前发现的很多坑都在这一块。
客户端采用Unity5.4.0版本,主要便于使用它的Enlight光照引擎,比如GI等功能,游戏整个的场景和角色都采用PBR渲染,PBR渲染准守自然世界的能量守恒,即入射光能量大于等于光被折射和吸收后反射光的能量,支持微平面,支持凹区域阴影。在主场景会使用Precompulate-GI,战斗场景使用Baked-GI,支持24小时太阳光,昼夜变化、天气系统,HDR、ToneMap、Blooming特效。
好了今天就闲扯淡到这儿。