Warfire 战火 1.0 开发小记

作者分享了从决定开发Android小游戏到发布Beta版本的全过程,详细阐述了设计、实现阶段的技术选择与优化,包括使用Eclipse作为开发工具、遵循设计模式、解决碰撞问题和路径寻找算法等。同时,提到了美工设计的挑战与解决方案,以及未来版本的规划与可能的移植计划。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

两周前在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

基于STM32的循迹避障小车资料源码(高分项目),个人大四的毕业设计、经导师指导并认可通过的高分设计项目,评审分99分,代码完整确保可以运行,小白也可以亲自搞定,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(
内容概要:本文详细介绍了SSM框架(Spring、SpringMVC、MyBatis)的相关知识,涵盖Maven项目管理工具、前端开发技术、HTTP协议及Tomcat服务器等内容。文章首先讲解了SSM框架的组成,包括Spring的IOC、DI、AOP等功能,SpringMVC的请求处理流程以及MyBatis的数据操作。接着介绍了Maven作为项目管理工具的作用,如依赖管理和项目构建,并详细描述了Maven的配置文件pom.xml的使用方法。此外,还探讨了HTTP协议的特点、请求响应格式,以及Web服务器Tomcat的基本概念和工作原理。最后,文章对前端开发技术进行了概述,包括HTML、CSS、JavaScript等基础知识,并简要介绍了Ajax技术。 适合人群:具备一定编程基础,特别是Java开发经验的研发人员,尤其是那些正在学习或使用SSM框架进行Web开发的工程师。 使用场景及目标:①理解SSM框架的工作原理及其各组成部分的功能;②掌握Maven的使用,包括项目创建、依赖管理、生命周期等;③熟悉HTTP协议的请求响应机制,能够处理常见的HTTP请求和响应;④掌握前端开发技术,如HTML、CSS、JavaScript等,能够进行简单的前端页面开发;⑤了解Tomcat服务器的工作原理及其配置方法。 阅读建议:本文内容丰富,涵盖了从后端到前端的多个方面,建议读者在学习过程中结合实际项目进行实践,尤其是在Maven项目管理和SSM框架的具体应用上,多动手操作,加深理解。同时,对于HTTP协议和前端开发技术,可以通过实际的网络请求和页面开发来巩固所学知识。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值