游戏开发计划——开发模式与项目概况

这个开发计划已经持续一年多了,但是刚刚发现,我居然没有把这种最基本的信息记录下来。不过,这种最基本信息倒也没有什么改变的可能,没记录也问题不大。今天还是花点时间写下来,就当作“补文档”吧。
    
开发模式
这个游戏的开发是遵循Agile mode,中文好像叫做“敏捷模式”的。这几乎是唯一的选择。
这个计划规模很大,但是资源非常有限,最大的问题是时间没有保证。也许什么时候有点时间做点什么,然后又没时间放一两个月不动。如果采取经典的开发模式,光一个需求定义就不知道要拖多久,闹不好因为一直没进度就放弃了。
相反,如果采用Agile的方式,可以先确定一个小模块的需求,赶紧趁有时间就做出来。这样总能看到进度,就不会失去希望。另一方面,有了一些进度,要彻底放弃总是觉得可惜,就更能坚持。话说,这不是钓鱼工程,还钓的是自己的鱼么?
但是,采用Agile模式也不是没有缺点的。像这个项目一样,每次只考虑一个小模块的需求就实现了,过十天半个月再考虑下一个模块,很难保证结构不需要改动。但是一次考虑多个模块,时间和精力上又经常不允许,只能是尽量。好在到目前为止,只有在实现人物数据的时候需要改变属性定义的实现,而且改动也不大,只是把原先的实现模板化了而已。
    
时间
这种“业余项目”,最大的问题就是时间没保证,所以只能靠零碎时间。目前投入的时间主要是这些:
  • 晚上,如果闺女早早睡觉了;
  • 周末,如果闺女跟妈妈出去玩,家务事又干完了;
  • 地铁上,主要用来思考需求和结构;
  • 小长假,一般三天的假期运气好的话能有6~8小时的代码工作;
说起来,其实只有地铁上的时间有保证,别的都不靠谱。
至于说写博文,一般是靠午休的时间,因为咱从来不睡午觉,中午不需要休息。
    
工具
用的是Visual Studio 2012,C++实现。说实话,现在有点后悔,但是已经上了贼船下不来了。
当初启动这个项目的时候,C++ 11标准推出不久,选择了C++实现本身就有通过这个项目实践新标准的目的。不过现在看起来,其实用到的C++ 11新功能并不多。
  • Lamda表达式
彻底没用过,因为确实不习惯这种方式。
  • 模板结束的两个右尖括号
咱早就习惯了敲一个空格,到现在不用敲了但是习惯也没改过来。所以,其实也没什么不同。
  • std::thread
看起来确实很酷、很方便,但问题是到现在我还没遇到能用多线程的模块呢。也许以后做AI行动的时候可以尝试一把?
  • auto
就这个最方便最常用。不过结果就是,我已经想不起来map的iterator应该怎么写了。真是IDE越强,写代码的水平就越差。想当初用vi写代码的时候,别说这种用模板构成的iterator了,就算是那些有好几个重载的方法,每个参数我都记得一清二楚,敲起来连大小写都不会错。到现在,就连“CComPtr<IXMLDOMNode>”这么简单的东西,都经常把大小写搞错,要靠IDE自动纠正。有了IDE,水平就下降得厉害。
  • 基于范围的循环
虽然方便,但是就像前面的博文提到过的,装Update4之前稀奇古怪的链接错误也很挠头。

版本管理
版本管理用的是SVN。只有咱自己一个开发者,什么branch之类的就免了吧。每做好一个部分,就把repository备份到网上去,感谢微软友情提供的one drive。
    
资源
咱不是美工,从小画画水平就很烂,所以自己做图片资源就不要想了。出于方便的考虑,几乎所有的图片资源都是从曹操传搞来的。
至于说音频资源,根本就没考虑做,因为咱玩游戏几乎从来不开声音。是不是有点另类?
    
后悔

选定了工具,然后实现的时候有时候真的有点后悔。最主要的就是后悔数据编辑器为什么偏偏选择了C++实现。C++写界面真的是太麻烦了,以前主要用脚本体会不够深刻。别看这次的Data Editor其实不算复杂,但是如果早知道的话,我宁可把数据管理器包装成ATL,然后用Ajax和java script做。虽然包装成ATL也有一些工作量,但是比用C++写界面还是方便多了。





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值