Warfire 战火 1.0 开发小记

两周前在XS的鼓动下决定在Android上开发一个小游戏,周五晚上刚编译通过了一个helloworld程序。昨天announcebeta发布。花了两周的业余时间做到现在的程度,自己还是基本满意的。我没有android手机,多谢XS同学用他的Milestone帮我多次测试。Eclipse真是一个非常好用的Java开发工具,丰富的编辑功能,重构功能和很人性化的快速纠错,极大提高了写代码的效率。Google做的sdk也挺不错,很容易上手。就是模拟器太慢了点。

关于设计
开始阶段要多花点时间想清楚架构,面向对象是非常强大的工具,首先抽象出一些基本对象,脑子里形成一个框架雏形后,再考虑到以后可能的情况,看看这套框架是不是能满足需求,如果大体能走得通,再开始着手实现。当然一开始不可能设计的很完美,需要在开发过程中逐渐重构修整。提取基类,分化出新的对象,新的接口。先思考,后动手,事半功倍。第一个周末实现了基本框架,屏幕上已经可以有一个小坦克随着点击跑来跑去了。

实现阶段也需要不断设计,使用open-close原则,封装不变的部分,开放可能变化的部分,持续重构和改进。一个合理设计的系统经过简单修改就可以很快满足新的需求。把相互独立的逻辑和操作封装到不同的对象里,尽量分散职责,使用装配的方式来实现功能,会带来很大的灵活度。这样遇到新的需求就可以改动尽可能少的代码。

使用O(N)算法完美解决了碰撞问题,各种移动物体包括子弹对于各种地图区域有不同的通过能力,没有用很土的typeid判断,考虑到可移植性也没有用动态类型判断,而是用了doubledispatch

使用简化的A*寻路算法,玩家坦克移动到指定位置,敌人坦克追踪玩家坦克。

关于进度
其实程序主体用了一周多点的时间实现了,接下来的时间主要是些周边修饰工作,增加地图,增加敌人坦克类型,增加武器类型等,增加音效,游戏参数调整等。觉得要做一个很精致的游戏还是要花很大功夫的,有很多细节需要考虑,有许多功能也只能割爱放到下个版本了。

关于美工
一款好游戏需要很NB的美工,代码写得再NB也没有NB的画面能吸引眼球。我的艺术设计能力远逊于编程能力,我想象的一些效果自己都没法做出来,也挺遗憾的。游戏里所有的图片都是我自己做的,当然不是完全从头画的,我没那个本事,不过修图的水平还可以,感谢photoshop,网上找一些素材,自己修修就改头换面了,当然不会很精美。
坦克原始素材是从一个游戏拷过来的,自己做了些修改,应该基本上看不出来从哪里来的了,然后在此基础上,通过重画炮塔,调整炮管和底盘,调颜色,弄出了各种类型的坦克。游戏格子是48像素的,所以都是放大好多倍以像素为单位来一点一点画的,挺痛苦的。同时也挺佩服那些做图标的设计师的,在那么小的场地要画出点东西真不容易,而且还要看起来栩栩如生就更难得了。

关于设计模式
分为四种境界
境界零:心中无模式,手中亦无模式
境界一:心中有模式,手中无模式
境界二:心中有模式,手中亦有模式
境界三:心中无模式,出手皆是模式
窃以为,设计模式是要学,但是不能死记硬背套公式,要像张无忌学太极拳一样,领会精髓,然后忘掉所有招式,才能融会贯通。兵无常势,水无定形,变化之道,存乎一心。忘掉模式,留下设计。

关于后续版本
正式版本中可能会增加:
地图:加一些新的地图,还有新地图元素
敌人:增加一些装备了新式武器的敌人,速度、装甲、智能都会有不同
武器:
冰冻弹,打中敌人会让敌人暂时失去行动能力和战斗能力
燃烧弹,大面积攻击武器,打中物体会在周围形成9个方格大小的燃烧区域,攻击集群敌人很有效
子母弹,会让现有武器升级成子母弹,发射后会在子弹前进方向两侧各复制同样的子弹发射出去,攻击范围更广
响尾蛇导弹,发射后会自动追踪敌人
飞行器,可以让玩家坦克进入飞行模式,可以飞到地图任意地方
宙斯盾,可以让玩家进入一段时间的无敌模式
……
其它还有很多创意,以后再说吧。

一切取决于在Google market的发布是否顺利,如果不顺利就会多加些功能,如果顺利就会少加些。

接下来可能会考虑移植到WP7上。

原文地址:http://blog.sina.com.cn/s/blog_6e7c56670100o8by.html

1、资源项目源码均已通过严格测试验证,保证能够正常运行;、 2项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行;、 2项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 、 1资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READmE.文件(md如有),本项目仅用作交流学习参考,请切勿用于商业用途。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READmE.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值