网络游戏是怎样进行开发的?
网络游戏是怎样进行开发的?[*]第一阶段
[*]确定需求
[*]在游戏开发之前,我们需要确定一下游戏开发的需求,什么叫确定需求?说白了就是我们要做什么样的游戏,可以通过GameJam来确定游戏开发的原型和核心功能
[*]这个阶段不会要求游戏的画面特别的精致,但要能体现玩法创意
[*]预研阶段
[*]预研就是确定项目到底能不能做
[*]立项阶段
[*]进行资金和人员储备
[*]第二阶段
[*]底层库
[*]在第二个阶段里,要先把游戏的底层库搭起来,比如游戏的网络通讯库、游戏的网络协议库,当然很多的网络通讯和网络协议的库都是已经提前做好的,你可以直接把它引进来,或者有十年或十年以上工作经验以后,有了自己的游戏框架,你就可以直接把你的框架带到新公司、新项目里去
[*]高层架构开发
[*]底层库其实也包括了高层架构,比如开发游戏时肯定会用到MVC或者MVVM来做整体架构的解耦
[*]第三阶段
[*]业务逻辑开发
[*]在第三阶段里,我们会开发游戏的业务逻辑,这一阶段可以找一些工作经验没有那么多的新人,比如找一些新手同学来拼UI,来实现各种简单的业务逻辑
[*]很多新手在公司里被叫做UI仔,什么叫UI仔?就是专门负责拼UI、写UI的功能,并且是在主程已经开发好UI框架的情况下,他只是把一个又一个功能填进去,比如要响应什么消息,响应消息时应该展示什么画面,或者当我接收到用户的点击或者拖拽时,应该发出什么样的请求,就干这些事儿
[*]这是特别初级的程序员,稍微中级一点的程序员会开发相对复杂一点、核心一点,或者难一点的程序,比如开发游戏的战斗系统、做游戏的中台、或者做游戏的性能优化、做画面渲染的渲染管线定制,还包括SDK的接入、还有服务器的服务器逻辑,数据库缓存层的一些开发等等,基本上客户端的用人需求会比服务器要大一些
[*]第四阶段
[*]测试
[*]把游戏整体开发完以后就会进入到游戏的测试阶段,测试阶段有两种情况:
[*]1,项目完全没有问题,那么你就会直接进入到第五个阶段,就是所谓的里程碑达成
[*]2,当你的项目出现问题时,就要回头进行架构或者是业务逻辑的调整,直到测试通过
[*]游戏的测试基本上是可以分成单元测试和联合的调试测试,单元测试又可以分成黑盒和白盒测试,并且也可以采用一些自动化的方法来进行测试
[*]在我们进入到压力测试的阶段时还会开发一些机器人来进行压力测试,比如在我们的《皇室战争》项目里就使用了机器人来对架构进行万人同服的压力测试,而且是单服万人同服,不是带有负载均衡的服务器,而是单个服务器能支持万人同时在线,并且我们的开房间也是做过相应的性能测试,能够承受商业项目的压力
[*]第五阶段
[*]里程碑达成
[*]里程碑达成以后,就会进入到下一轮迭代,在下一轮迭代里,我们会确定下一个需求,然后一步一步走下去
[*]有同学可能会说:“里程碑达成了,那么下一轮迭代时,我的底层库和高层架构还需要重新开发吗?还需要再去迭代吗?”
[*]答案是需要,可能有同学认为当开发完游戏的项目架构时,就没架构师,或者主程什么事儿了,但其实完全不是,因为架构也会经过一轮一轮的迭代,你的架构在性能、可扩展性、可维护性上是不是还有改进的空间,这是需要我们深思的一点
[*]就算你的架构在你认知的范围里,在架构师的认知的范围里已经足够的完美了,但你也不确定是不是会有新的需求出现,比如我们要开发一个国战,这对于服务器的性能要求就更高了,对于客户端中同屏处理的玩家或者是在跨地图时要做的处理也更多了
[*]这时的需求就发生了变化,架构师也需要重新调整程序架构,所以不是说咱们做完架构就什么事都没有了,当然你的业务逻辑也要继续开发,继续测试
详细内容可以参考我们的《Unity全栈开发大师》公开课
页:
[1]