ObsidianNotes/WorldTreeModule.md

3.2 KiB

#worldtree

模块划分

  • 流程模块(状态机)
    • 游戏初始化
    • 存档配置流程
    • 游戏时间流程
  • 资源模块(读写模块)
    • 读取指定路径下的场景文件
    • 保存到执行路径下的对应文件位置
  • 存档模块(对存档进行 增删改查)
    • 游戏设置存档结构 (分辨率,画质,特效等级 etc...)
    • 游戏存档结构
      • 角色信息
      • 任务信息
      • 时间信息
      • 大地图信息
    • 读取存档后, 对存档进行处理
    • 写入存档时, 对存档进行处理
  • 场景模块(对场景进行切换)
    • 加载场景
    • 删除场景
    • 切换场景(删除与加载同时进行)
    • 场景分级 (对场景树进行管理)
  • 标签模块
    • 角色标签,技能标签,效果标签等标签 (主要是字符串)
    • 标签需要可以进行检测判断(包含,不包含,必须包含,必须不包含)
    • 标签需要方便配置(标签的配置工具)
    • 标签需要方便在脚本中使用 (标签配置导出标签常量类 方便调用)
  • 游戏时间模块
    • 现实 总时间 统计
    • 现实 战斗时间 统计
    • 游戏 时间 累加
    • 游戏 战斗回合 累加
  • 任务模块
    • 接任务
    • 交任务
    • 任务链(任务依赖)
    • 任务监听
  • 大地图模块
    • 配置模块, 后期可以把配置表导出成文本方便调试与修改
    • 角色与摄像机大地图移动功能(碰撞与层级与检测)
    • 大地图动态(增删改查)
    • 基于游戏时间进行动态变更
    • 区域配置
      • 画区域
      • 配置区域类型
        • 地形
          • 森林 移速-0.3
          • 丘陵 移速-0.5
          • 山脉 移速-0.5 + 需要天赋才能移动
        • 多个事件,每个事件都有自己的概率
          • 如果事件可能包含战斗,那么从怪物区域中取得对应的怪物数据, 如果当前不在怪物区域,那么说明配置有误
          • Tag:陆地/海洋, 战斗/探索/奇遇
          • 名字+描述+备注
          • n*选项
            • 消耗
            • 多个不同的结果
              • 每个结果有自己的概率
        • 怪物区域
          • 名称+等级+n*种类
  • 战斗模块
    • 角色
      • 属性
      • 常用方法
    • 能力
      • 能力的脚本继承, 能力功能实现 (触发特效 或 特殊判断条件)
      • 配置能力属性(CD, 消耗等)
      • 对指定角色添加与删除效果 (添加灼伤buff等)
    • 效果
      • 效果的脚本继承,状态功能实现 (修改属性或触发特效)
      • 配置效果属性(持续时间, 间隔时间等)
      • 对角色产生效果的常用方法(添加血量上限等)
    • 战斗数据
      • 战斗网格
      • 战斗角色
    • 战斗回合切换
      • 回合匹配
  • AI模块(敌人AI)
    • blackboard数据
    • AI行为树
    • 行为树配置功能
  • 角色配置模块 (配置基础属性, 能力, 掉落ID)
    • NPC
    • 敌人
    • 自身
  • 掉落模块(ID 关联, 有嵌套)
  • 常量配置表
    • 资源路径配置(UI路径, 场景路径, 角色路径, 技能路径, 效果路径)
  • 全局事件模块
    • 全局的各种事件触发 (玩家选择角色, 玩家选择地面, 进入战斗事件等)
  • UI模块
    • 监听游戏中不同数据的变化
    • 打开与关闭UI
    • 触发不同特效
  • 本地化模块
    • 翻译功能(表)