枪械系统需求初步分析
v0.0.4版本规划
枪械系统:
- 手枪
- 冲锋枪
- 步枪
- 狙击枪
- 火箭筒
- 霰弹枪
- 不同的枪配有不同的子弹,不同的子弹有不同的射击轨迹、范围、攻击力
主角能力:
- 二段跳
- 攀墙
- 冲刺
主角数值:
- 血量
- 弹药量
敌人:
- 生命值
- 开枪的远程敌人
- 掉落弹药补给、回血
关卡:
- 可破坏物
- 陷阱
- 机关
- 回血道具
- 最大生命+1
- 终点
- 起始点
- 补给站
对话系统:
- 角色设置剧情
系统:
- 存档系统
- 关卡编辑系统
- 对话系统
- 统计系统
- 成就系统
- 背包系统
- 主角的Model
v0.0.4版本内容有点多,而且都不是一个具体的可执行方案。
每一个设计任务都包含游戏设计、程序设计、程序编码三个步骤。因为游戏设计在这里不是重点,所以在接下来的游戏设计仅仅是为了演示框架的使用。
枪械系统
- 手枪
- 冲锋枪
- 步枪
- 狙击枪
- 火箭筒
- 霰弹枪
- 不同的枪配有不同的子弹,不同的子弹有不同的射击轨迹、范围、攻击力
详细设定表
名称 | 形象 | 子弹 | 弹夹容量 | 攻击力 | 频率 | 射程/范围 | 限制 | 换弹时间 | 描述 |
---|---|---|---|---|---|---|---|---|---|
手枪 | 7 | 1 | 1发/秒 | 半屏 | 无限 | 3秒 | 默认枪 | ||
冲锋枪 | 30 | 1 | 6发/秒 | 2/3屏幕 | 需要弹药 | 3秒 | 无 | ||
步枪 | 50 | 3 | 3发/秒 | 1屏 | 需要弹药 | 1秒 | 有一定后坐力 | ||
狙击枪 | 12 | 6 | 1发/秒 | 1屏 | 需要弹药 | 5秒 | 红外瞄准+后坐力大 | ||
火箭筒 | 1 | 5 | 1发/秒 | 1屏 | 需要弹药 | 4秒 | 跟踪+爆炸 | ||
霰弹枪 | 1 | 1 | 1发/秒 | 半屏 | 需要弹药 | 1秒 | 一次发射6~12颗子弹 |
上表中的形象和子弹指的是设计的贴图,这里略掉
在游戏开发过程中,这种表是在策划人员当中获得的,开发人员通过Excel解析工具将表中的数据读取出来。
我们的架构中负责管理数据的是Model层
- 表现层
- 系统层
- Model层:管理数据,提供数据的增删改查
- 工具层:提供基础设施,工具类,方法等。
像上面的表格数据应该由Model层管理。
在以往的项目中,我们使用Model更多的是为了管理共享数据,这些数据是可以被修改的(增删改查)。而这些配置表中的数据只能查询,在这里我们称配置表中的数据为只读数据。
只读数据还是要交给Model层进行管理,不过我们为了区分好,可以给这种数据命名为XXXConfig或者XXXConfigModel。
我们先在架构总览图中加入IGunConfigModel
然后是GunConfigModel
类图的绘制
这里先省略掉Excel解析环节,自己做表只是增加工序而已,所以我们直接写代码即可。
下一节我们分析表现层部分,分别是UI界面和主角持枪表现。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ATAO2017,阿宅创造奇迹!!