2016年6月开发日志

文章目录

 

行百里者半于九十。——《战国策 秦策》

 

开发日志

 

这一个月不算好也不算坏,挺纠结的。在开月的时候还是很有期望要更新的,虽然我已经没有那种信心了,只有期望,而不是信心。这几个月的跳票已经把我的信心摧残殆尽,说实话,当时我说12月就能更新的时候,也做好了预测失误要跳票的准备,不过我做梦都没有想到居然能够跳到今年周年庆还不能更新。到了月中的时候,一种某名的急燥感支配着我,但是越是急,越是混乱,进度就越慢。到了月末的时候,突然发现自己已经又到了每月跳票一次的时间了。我花了两天时间来反思自己以前的进度,并且决定了一些新的生活风格。如果到了七月底,大家能够看到了我的时间记录,有图有真相说的就是这个呀。

 

如果要达到完全更新的阶段,还需要2个月。这两个月是非常放宽的估计了。我会先把更新的准备工作搞好,进入随时都可以更新的阶段,然后再慢慢去修复应该修复的细节。给自己一个不紧也不慢的周期。跳票跳到这个份上,反正我也是死猪不怕开水烫了。尤其是这一个月中的经历让我知道了欲速则不达的道理。

 

目前的进度已经到了收尾阶段,已经没有需要新开发或是大改动的模块了。但每调试整合一个小地方,就发现原来还需要改。本来这也是软件工程中花费最多时间的地方,只不过现在这个成为了我沉重的负担。

 

为什么这次更新拖了这么久。其实也并不是因为复杂的原因。因为一共有两次软件工程灾难。第一次是对旧的版本的改动,改到半途实在没办法改下去了,那时候学习了新的许多先进理念,解开了这个难题,于是对游戏进行一次翻新。后来翻新到一半多的进修,新的理念已经完全被消化吸收,我又发现自己新的翻新(最开始进行的那一部分,约1/3的内容)非常不成熟,所以我要同时对旧的版本和翻新的版本进行改动。这就是二次软件工程灾难。我上次说的,其实是第二次。这是进度无法进步的原因。

 

我觉得有必要记录一下,因为比较长,所以放在后面,如果有兴趣的玩家可以读一下:

 

PS:虽然改动是一个负担,但有时候也有高兴的事情。一直以来,我都觉得自己的界面不如其它人。后来有一天我去看其它的手游界面,突然间发现,自己UI有些也不差了嘛。天道酬勤,人间至理。

ScreenCut2016_06B

ScreenCut2016_06C

ScreenCut2016_06A

 

本周的时间

工作和战斗不算多,月结束的时候,才发现自己本期的学习时间暴增到了100小时。其实有一部分应该用于工作的。

 

2016-06-TIME

两次软件工程灾难与其反思

 

在这次大改的初期,最初的意图是把游戏更换一个引擎,从原来的WEB2.0转到HTML5+手机。在这个中途进行一些游戏基础的调整,比如兵种,英雄宠物这些。这个工作原来计算只是几个月,应该是在2015年内就完成的。然而事情进行到中途,遇到了严重的问题,史称第一次软件工程灾难。

 

在第一次软件工程灾难的时候,那时候我改动什么都非常困难。因为软件的基本构架就是有问题的,设计的当初我是没有大型工程的经验的,做一点是一点。中途2代彩虹誓言的时候有一次大翻新,但那个设计也是非常原始。造成了我无论要改点什么都非常困难,软件工程学上有叫耦合度高的概念,这个也非常严重。后来想想,我在2代之后,总是把工作放在了出新的模块上,比如说绝地围城,奇迹大战这种,从游戏中独立出来的小游戏,可能很重要的一个心理因素就是因为如果要改原来的项目太困难了。

 

还好当时真是天助我也。我因为计划要重新写许多代码,所以趁这个机会充一下电。什么《代码大全》这种大书也买来看了。当时买了7、8本这样的经典之书,花了二个月左右看完了。看完了之后自己的编程经验暴增,以前有许多困惑的地方都明白了,而且自己的编程理念实现了一次完全进化。

 

我就像金庸小说里面的那觉远大师,苦练内功,基础扎实,但是没有打架的招式,很牛X,但是无法制敌。我对我朋友这样说,当时我就像一个带兵的将领,我的人拥有一切军人应该有的素质,勇猛,忠义,纪律严明。但就是装备不行,打得很困难。现在突然间援军把飞机坦克大炮都运过来了,我当时明白了,人生这场游戏,我赢定了。

 

当时我学成之后,仰天长叹,这我应该早3年就去学得的东西啊!为自己学习的懈怠后悔不已!这是我人生的重要经验,即便是熟悉的领域,也应该是不断地去学习。自大走向毁灭。有许多人可能不理解为什么我会错过这些东西,这个我觉得很有必要说一下,这不是解释,而是一种反省,也是一种告诫:因为我学习编程太早了。

 

我是12岁学编程的,大学期间在当时我也是把应该要学习的东西都学习了。我这段时间一直在说软件工程或是软件工程灾难之类的,可能用词夸张了一点,搞得我好像没有软件工程的理念,是个新手一样。不是这样的,如果是新手,那倒还好办,这世界上最聪明的人和最笨的人都好办,最不好办的是半桶水的人。

 

我一毕业就是项目总监,连小工都没当过,一个人就能捣鼓出一个页游,这没有软件工程理念的人是没办法实现的。这就是一种实力的表现,也是导致自大的灾难。在这些年里面新出现——实际上不是新出现,基本上都是有十几年经历的东西,但是当时的那个时候,并没有流行,得到社会普遍的认同。比如说极限编程,十年前就有了,也能买到书,但没有现在这样得到社会的认可,也没有现在这么完善。应该这么说,我不是没有理念,而是理念落后了十年!

 

过去的事情已经过去,没有必要太过纠结。对于一个手工艺人来说(我一直觉得程序员是手工艺人),能够提高自己的技艺,在实践中成长,是一种非常快乐的事情。尤其是我现在的自由工作者身份是一种幸运。如果天天有老板在压着,这就未必是一种幸福了。

 

后来的4个月,我将自己学习到的东西应用到实践当中,提升自己的功力。为什么我说是3年,而不是5年。有些东西真的是要有经验之后才会真正与自己融为一体。如果一个只管100人的人,那么想着的是怎么样管理100人的事情,脑子里整天是一个,如果他去学去管一千万人的事,总是会把自己学到的东西向100人的事情里面套。这样就未必学得成。所以,有1代、2代的开发经历,对于我的学习是非常有帮助的。

 

当我2个月学成之后,就开始应用新的设计理念来编程,那时候觉得自己原来的做法简直一塌糊涂。一点一点地对游戏进行翻新,新的设计就用新的理念。到了4个月之后,我已经渐渐把新学的东西消化吸收了,改动也有了不少。可以说翻新了近一半多。然而,那时候又发现自己原来改动的东西太幼稚,不可为万世法,迟早有一天要改动的。于是只有在最后的调整期中,见到一个应该改的就改一个。这是进度迟迟无法进步的原因。

 

这段经历给我的教训就是:永远要不停地学习,才不会被时代欺负!

Save

原文链接:,转发请注明来源!

发表评论

  • 1则回应给“2016年6月开发日志”
    • 新政策大帝

      我要支持再在的意见

      回复