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类图的绘制

GunConfigModel

这里先省略掉Excel解析环节,自己做表只是增加工序而已,所以我们直接写代码即可。

下一节我们分析表现层部分,分别是UI界面和主角持枪表现。