万恶的引导设计:配表篇

前情提要

上一篇,我们了解了引导的一些理论知识,包括分段分步的概念,强引导弱引导,引导的触发类别操作保存点等,本篇笔者将结合这些理论来聊聊引导的配表

场景代入

继续以《率土之滨》游戏为例,假设策划提出要做一个技能学习引导,需求大概是这样的:

当玩家点击某一张卡牌进入到卡牌信息页时,若卡牌等级达到10级,引导玩家点击已解锁的技能槽,进入技能选择页后,引导玩家选择一个可学习的技能,引导结束。

基于理论篇的讲解,将引导拆分如下:

  • 触发点:进入卡牌信息页
  • 触发条件:卡牌等级达到10级
  • 步骤1:弹出引导对话:“主公,您的武将已满足技能学习的条件,请学习技能提高武将的实力。”
  • 步骤2:引导点击空技能槽
  • 步骤3:引导点击技能列表中可学习的技能
  • 步骤4:引导点击确定按钮

配置步骤表

抛开引导的触发,先来了解如何将引导的步骤配置到表里。配表前需要对表的结构进行设计,也就是表有哪些列:

  • id
    用以区分引导步骤,每个id对应不同的引导操作。

  • 类型
    用于区分某一步引导是对话,还是点击,亦或是其他的逻辑操作。

  • 文本
    用来配置对话中出现的文本内容。

  • 操作
    填写除对话以外的其他操作,比如点击技能槽,点击确定按钮。

基于上述,表的结构设计如下:

id 类型 文本 操作
1 对话 主公,您的武将已满足技能学习的条件,请学习技能提高武将的实力。
2 点击 点击空技能槽
3 点击 点击可学习的技能
4 点击 点击技能学习的确定按钮

但是这样的配置,程序是读不懂的,需要调整一下:

  • 每一列加字段名,方便程序读取
  • 每一列加字段类型,告诉程序这一列的数据类型
  • 用数字来枚举类型,如:1表示对话,2表示点击
  • 不同的操作也用数字来索引:
    • 1:点击空技能槽
    • 2:点击技能列表中可学习的技能
    • 3:点击技能学习确定按钮
  • 因为工具的需要,没有内容的单元格用0填充

调整后的表结构就变成了这样:

id 类型 文本 操作
id type text operation
B B S B
1 1 主公,您的武将已满足技能学习的条件,请学习技能提高武将的实力。 0
2 2 0 1
3 2 0 2
4 2 0 3

B表示整型,S表示表示字符串类型。

配置触发表

如果说步骤表每一行针对的是引导的每一步,那么触发表的每一行针对的就是引导的每一段,触发表用于判定某一段引导是否达到触发条件,若是,则开始这一段引导。

触发表相比步骤表,结构稍微简单些,只需要配置三列:

  • 组别id
    用于区分当前行判断的是哪一段引导。

  • 触发点
    也就是试图判断条件的那个点,比如玩家进入了卡牌信息界面,就判断当前卡牌是否满足条件,这个“进入卡牌信息界面”就是所谓的触发点

  • 触发条件
    当触发点满足时,开始判断触发条件,若触发条件满足要求,则触发对应的引导。

配表结构如下:

组别id 触发点 触发条件
id point cond
B B B
1 1 1

触发点id索引关系如下:

id 触发点
1 进入卡牌信息界面

触发条件id索引关系如下:

id 触发条件
1 卡牌信息页的卡牌等级达到10级

未完待续

本来想继续讲表的抽象和扩展的,但考虑到没有代码的结合,讲太多只会徒增读者们的困惑,所以本章只做快速的过渡讲解,后续配表将在代码篇之后呈现,还望读者大佬们海涵。另外文章中提到的填表规则并非固定,还需以实际项目的配表规则为准,本文仅以个例提供配表思路。

再小的鼓励也是一种支持!