格斗游戏合作开发须要具有什么样控制技术
我们好我是里厄,那时跟我们闲谈呵呵。合作开发这款格斗游戏在没有参考点或者盖板的情况下合作开发这款格斗游戏都须要具有什么样控制技术,在合作开发操作过程中我们又会牵涉到什么样股或者应用领域。
这款格斗游戏的合作开发须要两个总的格斗游戏策画人,为格斗游戏撰写大背景故事情节,制订格斗作法,结构设计格斗游戏可视化各个环节,排序格斗游戏式子,和整座格斗游戏世界的所有人技术细节等。
和其他流程猿一样,要想做一位杰出的格斗游戏合作开发人员,基本功无法差,演算法,排序机程序,词汇等此基础两个都无法少。总之,除这些基本功外,更要对格斗游戏有较为深入细致的认知,比如说看见两个机能就能猜到或得出两个约莫的同时实现路子。
格斗游戏开发人员:格斗游戏开发人员根据格斗游戏策画人的策画书,相同的格斗游戏须要相同的排序机词汇和相同的格斗游戏发动机进行合作开发。
比如说网络格斗游戏流程,须要加进C++词汇,加进cocos2D-x格斗游戏发动机,untiy3D格斗游戏发动机,Dx等控制技术。手机格斗游戏流程,加进java排序机词汇,Android网络平台控制技术,ios网络平台控制技术等。
格斗游戏美术结构设计:格斗游戏美术结构设计主要是格斗游戏插画,2D、3D格斗游戏美术结构设计,须要加进图画,PS,3Dmax等软件。结构设计与制做格斗游戏中的配角,情景,动画电影,特技等。
一、网络格斗游戏策画结构设计分成继续执行策画和主策画,网络格斗游戏美术结构设计结构设计分成插画结构设计、游戏UI结构设计、游格斗游戏动画电影结构设计,网络格斗游戏流程结构设计分成格斗游戏流程结构设计。
1、网络格斗游戏策画结构雕塑家须要自学:位数格斗游戏宏观经济自然环境导出、位数格斗游戏高阶策画方法论、位数格斗游戏创意设计课堂教学Unity3D工程项目合作开发。
2、网络格斗游戏插画结构设计需要自学:图画此基础、插画表演艺术此基础、鸟类配角预设、情景预设。
3、网络格斗游戏UI结构设计须要自学:UED概述、GUI结构设计此基础、网页UI结构设计、软件UI结构设计、格斗游戏UI结构设计。
4、网络格斗游戏流程结构设计须要自学:格斗游戏流程结构设计、演算法与排序机程序、Win32流程结构设计、格斗游戏数学和智能应用、2D格斗游戏控制技术与应用。
格斗游戏合作开发工程师掌握内容:
1、了解并致力于格斗游戏总体结构设计。
2、配合主流程完成格斗游戏架构及各大机能的结构设计、合作开发、调试和其他控制技术支持。
3、负责格斗游戏合作开发工具和运营维护工具的结构设计与合作开发。
4、完成格斗游戏服务器端模块代码及相关文档的书写、优化对已完成代码进行单元测试。
5、管理维护格斗游戏网络平台的制做与运行。
6、与团队其他人员配合,促进格斗游戏的改进创新。
负责客户端架构结构设计、模块划分、编辑器规划、发动机维护与人员分工。负责格斗游戏客户端与公司控制技术网络平台的整合。协调与服务器端、策画、美术和公司其他控制技术部门之间的关系。
看呵呵格斗游戏合作开发的基本功有什么样:
数学此基础:根据你所做内容来决定,一般上层逻辑较为少的去考虑到积分等高数内容。但是如果想搞图形学,矩阵线性代数,高数必须要有一定的功底
演算法:常见的排序,查找须要认知并掌握,进一步常见的还有分治,贪心,动态规划,有时候现学现卖也是可以的。另外,除这些基本的演算法,在格斗游戏应用领域还是有很多其他应用领域不太常用的演算法,比如说八叉树查找,碰撞检测,A*。还有一些很特殊的情况须要合作开发人员自己去寻找合适的演算法。
C++(C#):基本语法,模板,代理,命名空间,const,继承,内存结构,虚表,引用,断言,宏定义等
排序机程序:首先是掌握链表,数组,队列,堆,栈,图,树等排序机程序,然后是各种排序,查找,遍历等演算法。这些掌握了以后可以很快的熟悉stl或者类似的基本库原,用的时候可以更准确的选择合适的排序机程序
结构设计模式:一般来说,我们须要结构设计模式来快速的搭建格斗游戏逻辑框架,比如说前面提到的各种逻辑系统。而且还须要通过结构设计模式来认知发动机各个模块的设计路子。
对发动机各个模块有一定深入细致的认知:这个不用多说,看一遍格斗游戏发动机架构吧,不认知写出的代码经常会出现各种问题(比如说同步问题),编辑器各种机能也用不好。
内存管理:可能很多发动机或者词汇已经尽可能的帮你处理内存了,但是你难免须要在一些特殊情况下自己处理,内存池控制技术,各种C++的new的使用,不得不会。
对合作开发工具的熟悉:这里并不是指只是对某两个发动机使用熟练,而且对相同发动机相关的内容都有一定认知,可以很快的触类旁通。
编译原理,链接,第三方库:经常会遇到各种链接错误,编译错误,打包错误,这须要有一定的相关知识与经验去解决这些问题。
性能分析与性能优化:主要就是三个方面——内存,CPU,GPU。着手点有渲染批次,渲染实例化,布料优化,网络同步数据量,物理开销等,加载资源优化(包的合并),裁剪,声音文件加载,LOD,美术资源制做规范化等。调试的时候可以使用发动机内置工具,进一步的技术细节可以采用Intel的VTune工具
对格斗游戏的认知:虽然不玩格斗游戏也一样能参与格斗游戏合作开发,但玩过格斗游戏的人还是有优势的。最明显的是玩过格斗游戏的人会对格斗游戏有更多的想法与意见,也习惯去主动自学其他的格斗游戏的控制技术与优点。(流程这样,策画更是如此)
合作开发经验:这个就较为宽泛了,难以只言片语说清。
经常听别人说格斗游戏合作开发很复杂:
总结来说就是内容太杂,细分又太深。随便举两个控制技术方向(渲染,AI)就够你无限深入细致了。还有一些模块,说难不算太难,但是内容相当复杂,需求变更频繁,处理不好就如无底洞一般~
那么我们简单的对格斗游戏模块做两个总结:
格斗游戏逻辑模块系统:格斗游戏玩法核心,包括各种武器,状态,技能,背包,战斗等逻辑系统
动画电影模块系统:状态机,Montage,动画电影融合,IK等
物理模块:给须要可视化表现的对象赋予物理特性(包括刚体,流体,粒子,布料等),调整重力大小等各种参数,调整可视化中力的大小,调整物理约束
AI模块: AI导航,与玩家可视化等,玩家的很多机能系统也须要给AI来使用,更深层次的可以考虑将机器自学相关的内容融入
UI模块:搭建各种界面框架(背包,捏脸,地图等),非常耗时间与精力,后期须要不断调整
渲染模块:客户端表现核心,不用多说,内容非常多且深
网络模块:底层架构,同步,网络连接
情景模块:包括地形,关卡,植被,配角管理与优化等
输入与输入处理模块:将玩家输入处理转换成逻辑,须要注意的有组合键,输入法切换等
格斗游戏登录与更新:一般这是专门的工具组来做,比如说我们常见的各种格斗游戏登录器,在线更新等。
这里面的除网络基本上都须要美术,策画,流程共同参与
格斗游戏合作开发仅仅是写逻辑代码么?
总之,不是~~~格斗游戏也是两个软件工程项目,是两个需求变化极为频繁的工程项目。当你跳出底层的逻辑开发人员时,你会发现你还有好多事情要去做。
比如说:
版本控制:一般使用git或者svn
存储与序列化(如protobuf):单机玩家的格斗游戏存档须要通过序列化。格斗游戏中的同步系统也须要通过序列化对象来搭建
反外挂:保证格斗游戏公平性,一般服务器上做各种校验措施,这个东西真的不容易,而且又麻烦,身边懂得人真的不多
多线程优化:一般用于渲染,物理,网络同步等,减少开销,增加cpu利用率
数据库:什么数据要存在数据库里面,什么存在本地就可以。应该选择什么数据库?之后会不会出现格斗游戏合服数据库合并?合并的Key怎么处理?
CDN /服务器的部署与运行等:这个也很复杂,又要考虑成本又想容纳更多玩家(网游),有时可能须要加进CDN控制技术来优化网络同步,另外更要考虑成本等问题来决定租用云服务器还是物理高性能服务器
同时实现网络穿透:对于玩家自己开房间类的格斗游戏,须要我们提供网络穿透的手段,才能让两个内网的玩家链接并通信。有的时候,网络穿透控制技术网络平台会提供,不须要自己造轮子。
使用性能分析工具:前面提到了性能优化,优化前我们须要各种工具来辅助我们找到影响格斗游戏效率的瓶颈(如VTune)
配置:须要大量策画配置的数据存放在哪里?配置文件?XML?这须要构建一套小的系统(或者发动机提供)
声音数据处理:一般发动机提供基本的音乐与音效处理,但是有的发动机对音频方面处理的更深入细致,效果更好
网络平台对接:格斗游戏须要发布到相同的网络平台,这个网络平台不仅仅指硬件网络平台(Android,iOS,PS4,PC,XBOX)还包括各种软件网络平台(各种应用商店,如PC上的Steam,WeGame。Android上的应用宝,各种软件管家等)该操作过程其实也相当繁琐,有一些网络平台的审核非常严格,须要积累一定的经验才能快速的处理相关内容
国际化与本地化:简单来说,就是相同国家的词汇版本相同。如果你的格斗游戏不是只卖给英国美国,你就不得不面对本地化,坑很多
日志系统:合作开发与运营格斗游戏上线一定很多bug,你又没办法去玩家电脑上调试,如何快速定位bug,日志系统很有效
调试与维护:合作开发期断点调试(最有效)、日志调试、dump调试、控制台调试,可视化调试(在情景内绘制特定的几何体),截图录屏调试(一般用于调试渲染,动画电影等)
上线期日志调试、服务器可以用dump调试,也可以想办法把客户端的dump传送到服务器(做两个内置的自动收集客户端dump流程)、管理员GM调试(非常重要,可以避免重启服务器)
bug处理:严重损
格斗游戏崩溃性bug 须要在格斗游戏上线的前两天,把发生概率高的所有Bug通过Dump调试后尽快修复并更新
脚本:简单逻辑代码,热更新
打包流水线,包的大小优化,包的多层递归引用优化等:整座工程项目从编译到配置再到打包须要什么样处理,要注意什么样配置等
工具合作开发:针对特殊需求合作开发特定的工具来提高流程、美术、策画的合作开发效率
总之,上面的内容还远不足以覆盖格斗游戏合作开发的所有内容
而且自学任何东西都须要两个操作过程,我们不须要一开始就掌握这么多东西。日积月累下都有可能成为一位杰出的格斗游戏合作开发人员






