关于如何开发一款自己的棋牌游戏项目(目前只说棋牌客户端),就说说自己的个人观点,自己YY的,不喜勿喷。。
首先,要做一款游戏,如果你要做一款有网络的棋牌游戏,有用户数据保存的,那么首先就要有一个服务器,然后我们才能基于unity开发的这个棋牌客户端去跟服务器通信,(如果是做单机,那么就请忽略这第一步)我们使用unity跟服务器通信这个机制,叫做网络通信,一款游戏刚开始时,会定好准备使用的是什么网络协议,基于什么网络协议,一般来说都是socket通信,然后PB包,如果有能力的话,是可以把这一套网络通信的代码从项目中单独分离开来,这样以后其他项目可以直接使用,所以,定好写好一个网络通信是一款需联网棋牌游戏的第一步。
第二步,一款好的棋牌游戏,棋牌游戏的容量不能很大,而且为了以后能让用户在不用重新下载游戏的情况下更新客户端(熟称热更新),一般公司都会将一些美术资源做成AssetBundle,这样既减少游戏本身大小,又可以动态去改变我们需要加载的美术资源,达到更新美术资源的效果,除了美术资源外,还有策划配的表格,程序写的代码,把这一些东西都做成可以动态修改的,就能达到不修改代码的情况下更新客户端,而这种动态加载的实现,就是一款游戏设计时第二步需要做的。
第三步,既然第二步将棋牌游戏中的一些资源设计成了可以动态去修改,然后动态加载,那么在动态更新棋牌游戏中的预制体上,就需要作出一些工具,比如,动态加载一个图片,动态加载一个棋牌游戏物体,以及动态更改动作Animator,都是需要自己写好一套加载的机制,写好对应的工具,这样也方便以后的人使用该工具。(这些工具包括加载图片,加载游戏物体,加载动作文件,加载特效,加载表格和读取表格,加载json和xml数据等等)
到目前为止,一款棋牌游戏的最基本的一个框架就算是搭建完成了。
第四步,就是根据自己的游戏类型,制定一个前端的玩法流程,最开始需要顶一个框架,框架的概念就是,我们把很多的东西规范化,使用某种通用的结构,来使我们的项目更易扩展,并使代码更易阅读,同时也为以后重构项目时更易重构。
第五步,制定好一个框架后,就是各方面的棋牌游戏逻辑部分,给不同部分的游戏逻辑,添加一格管理类Manager,不同的管理类管理不同的功能,最后一步一步实现不同功能就好。
第六步,在制作棋牌游戏的过程中,我们会用到一些插件,插件的作用就是,可以减少我们自己的开发周期,而且,正确使用插件能使我们项目锦上添花。
第七步,当我们棋牌游戏基本做完时,我们还需要接入一些SDK。
第八步,棋牌游戏完成后,对游戏进行压缩,同时保证帧数,熟称优化