温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

张左峰的歪理邪说 之 对于瀑布式开发和敏捷开发在网游开发中的应用

发布时间:2020-06-26 23:15:08 来源:网络 阅读:712 作者:Salivaxiu 栏目:软件技术

本周小孩送回姥爷姥姥家,终于有时间更新一下自己的微博了,三年没更新了,我真TMD懒惰!我错了。。。。这次努力更新一些东西

 

有些人问我,为啥不去一些大点的微博站写这些内容。我觉得没有必要啊,反正早晚都会被搜索引擎爬到,哪里都一样。

 

本文纯理论,是一个思想指导,你完全照搬,你就输了。。。。尽可能写的雅俗共赏一些,一起研究学习进步!

 

正文开始。。。。。(哪那么多废话。。。果然人老了)

 

首先,我们要明确两个概念

 

瀑布式开发:瀑布式,顾名思义,自上而下,连绵不绝,稳步推进。瀑布式开发,是一个我们最常规的开发方式,他应用于各行各业。在做之前,我们先安排一个缜密的工作计划,环环相扣,有前置条件,有最那天开始的工作。然后稳步推进,最终见到结果。

 

敏捷式开发:这是一个前5年开始流行的一个开发模式,流派很多,这里说的敏捷是Scrum。敏捷开发有点像一个没有地图的人周游世界,你一直在前进,一直在变化自己的路线,当然这个比喻也想有点不恰当。

 

还是不明白的,请参考各种维基

 

好,那我们说回来,网络游戏项目,也是一种负责的IT项目工程。虽然他的参与职能超级多,周期也不短,那自然要套用一些开发的指导思想

 

首先,我们要假设几个前提(为啥?具体问题具体分析)

 

1.我们这个项目,全新的,没有任何基础(可以是新平台,也可以是游戏类型全新创造,反正就是没有积累,或者有积累,但只能瞻仰)

 

2.我们项目,要调优,要做换皮、要做升级、要做资料片、要移植平台(反正不管怎么说,不是全新创造,继承已有事实,做同类型产品)

 

3.我要拿我们RPG的3D引擎,做×××游戏,或者其他啥的跟RPG没关系的(借用现有资源或第三方资源,做一个你没有积累的事情)

 

这是两个在项目初期遇到的比较明显的问题,好,具体来分析一下

 

1.首先如果你是一个全新项目,面临一穷二白的尴尬境地,你敏捷啥?敏捷不是强调持续的交付,持续的拥抱变化么,而且敏捷的最大的问题在于,并么有长远目标规划,不适合这种动辄1-2年的持久开发期。

 

在一穷二白阶段,瀑布式开发,是你最好的选择,你要努力的搭建出你的产品概念原形,或者,稳步的构建你的基础引擎(服务器+客户端)

在瀑布式模型中,你有一个非常明确的目标,并且划分出明确的阶段性、里程碑。这些基础内容,一般不会出现什么方向性错误(当然,如果你的策划很扯淡,上来要做的事就定错了,那就SB了,啥开发模型都解决不了这个问题。当然,有一个东西可以帮到你,请参考我后续博客中,关于 标准网游开发模型 立项篇)

 

那么我们只要按照我们的开发模型,来进行项目的前期规划,就可以得到一个可执行性很高的工作计划,他的目标非常明确清晰,里面有大量的实验,还有要实现很复杂的架构设计,反正总的来说,做了好多,就是在做基础,游戏根本还没影子呢。

 

好,经过我们半年的努力,我们的基础平台终于搭建完毕(服务器与客户端的引擎,非业务逻辑部分,也非业务支撑引擎),马上就要开始我们的产品原型制作。我们要用我们这些半成品的工具来进行原型开发,努力按照代码驱动,把我们的花架子,搭建出来。结果搭建出来,老板也很满意,那么就会进入到实际的开发阶段

 

实际的开发阶段不用于前面这个阶段,他是真刀***的,代码驱动,面向过程的做法,不可以了,要不然后面你会死!现在需要转向数据驱动,整个从新打一个真架子,走完这个阶段,我认为,该考虑转变开发方式了!

 

为什么呢?因为一旦游戏真正的开发原型搭建完毕,完成核心系统开发,就要面临一个严肃的问题,你的游戏,好玩吗?(不好玩?那赶紧砍掉项目,开饭馆去吧,不是说失败的IT人,最终命运都是开饭馆去吗?)好玩吗,这个问题,超级严肃。这关系到你的游戏设计,最终能否经得起用户和市场的考验。这个阶段,我相信你的项目管理压力,会上一个档次,所以合理的开发方式,将会缓解这些问题发生时的压力。

 

中途插一句,瀑布式开发网游的最大问题的实例,就是,有些人,总说,我们游戏还不完整,还没有体现出我们真正的设计,反正核心思想是,做到最后,他就成神了!就一定能成功。我觉得这纯属扯淡,扯各种蛋。当你中途已经偏离最终方向(高品质,好体验的游戏产品)的时候,后面那些事,做越多,错越多,当然游戏项目类型不同,有些的确需要核心玩法完整性才能真正体现游戏乐趣,如休闲竞技类游戏。

 

好,当你产品原型具备,核心玩法开发完毕,这个时候,我建议转向敏捷的开发方式。具体讨论,请看一下个问题分解。

 

2.针对第二个问题,就是针对已有的产品基础,进行完善、升级、再包装。我推荐,这种项目一开始,即采用敏捷开发方式。

 

敏捷开发的优势在于,不断修正前路,以便到达无限远的终点(虽然谁都不知道终点在哪里)

 

简单回顾一下该怎么做,假定接着问题1继续展开

 

首先,我们要形成一个可以进行敏捷开发的组织结构,具体的可以维基

接下来,我们要开始形成我们的,工作任务备选单(Backlogs)既然是备选单,一定特别特别多

再接下来,这么多任务,不可能一口气干掉,那我们来评估一下关键路径,划分一下优先级和工作量人时

那么,一个很棒的Backlogs形成了,我们还要,根据自身项目的时间安排,来安排阶段开发计划(sprint)注意工时的分解颗粒度与饱满度

好,一切就绪,开始干活,每个人都领到了自己的任务,那么大家狂加班。。。。。

加了4天后,到了周五,我们做整合工作,整合完毕,交付测试,交付验收(也可以根据项目进展,考虑是否采用持续集成)

好,经过这么1个月的折腾,我们做了4个版本,并且最终合并为X月测试版,交付内外部客户评测

 

对比瀑布式开发,交付的周期被大大缩短,瀑布式开发中,很多时候要看里程碑,但是两个里程碑之间间隔,有时候超过3个月甚至更多,这对项目对市场或者运营的快速反应,影响巨大

 

所以,敏捷开发,在游戏项目中,比较适合后期,完成核心玩法功能开发后,进行铺量和调优。又或者 扒皮、平台移植、资料片等

 

3.第三个问题,挺有意思的,我相信使用第三方引擎的人,会有面临这个问题,你说你有积累吧。。。的确有,但是跟你要做的事不搭嘎,这的确挺悲催的。那好,也来分析一下,我认为对的方式方法

 

对于这种情况,一定是敏捷和瀑布杂糅一起使用,怎么弄?

 

首先,引擎成型,很多基础工作你省了,恭喜。

然后,你需要有个敏捷阶段,确定如何改造引擎来适合新产品(肯定得改改吧,或者根据需求,确定你新的制作方案)

再来,你还是需要做一个瀑布式开发,做你的产品原型,有了工具,只是简化了你做工具的时间,并没简化这块

再来,当产品原型通过后,你还是需要进行开发,这块瀑布也是可以的

当你的开发结束后,你又要走敏捷的路线,调整产品

 

好,看完了这些,有人会问,有没有一种新型的开发模式,统一起他们俩?这个当然有的,可以参考一下FDD 需求驱动开发 ,但是我认为,有点难,难在,他需要有个非常有效的开发模型作为指导方向(这解决了,敏捷开发没有中长期精准目标的问题),但是开发模型这个玩意,也就是大公司有时间总结归纳,一般小公司小团队,都是经验致胜。

 

游戏的用户体验是唯心的,项目管理可以约束过程,但搞不定结果,所以当你体验不行时,再好的项目管理也白搭。相反,当你体验很棒,但是时间成本质量的平衡把握不住,哪也许就会毁灭一个伟大的项目。

 

请记住仔细阅读下面句话

 

这3种问题的类型,我描述的条件太少,实际工作中,遇到的问题太多,还是那句,具体问题具体分析。不管黑猫白猫,做了赚钱产品的就是好猫,不要纠结与开发模式上,其实只要项目管理者习惯,并且能管好,那种都行。


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI