41 lines
1.8 KiB
Markdown
41 lines
1.8 KiB
Markdown
|
|
# 文件结构
|
|||
|
|
|
|||
|
|
## 系统实现
|
|||
|
|
|
|||
|
|
- `system/`:系统实现。
|
|||
|
|
- `combat/`:管理一次战斗内的战斗状态、流程、触发。
|
|||
|
|
- `progress/`:管理一次冒险的进度。
|
|||
|
|
- `map/`:管理地图生成。
|
|||
|
|
- `grid-inventory/`:管理背包状态。
|
|||
|
|
- `deck/`:管理卡组状态。
|
|||
|
|
|
|||
|
|
## 数据
|
|||
|
|
|
|||
|
|
- `data/`:所有的数据文件
|
|||
|
|
- `desert/`:游戏的测试模组,沙漠区域的内容。
|
|||
|
|
- `card.csv`:所有的卡牌定义。
|
|||
|
|
- `effect.csv`:所有的效应定义。
|
|||
|
|
- `encounter.csv`:所有的遭遇定义。
|
|||
|
|
- `enemy.csv`:所有的敌人和意图定义。
|
|||
|
|
- `item.csv`:所有的玩家物品定义。
|
|||
|
|
- `dialogues/`:yarn对话项目目录
|
|||
|
|
- `dialogues.yarnproject`:yarn对话项目入口
|
|||
|
|
- `**.yarn`:具体的yarn对话文件,代码不关心
|
|||
|
|
- `index.ts`:统一导出所有的数据。
|
|||
|
|
- `trigger.ts`:额外的触发器脚本,用于实现测试模组中涉及的效果。
|
|||
|
|
|
|||
|
|
## 开发流程
|
|||
|
|
|
|||
|
|
### SRD / 系统设计
|
|||
|
|
|
|||
|
|
首先编写srd文档。srd文档描述游戏系统和规则,并提供少量内联的基础游戏数据。
|
|||
|
|
|
|||
|
|
SRD是系统实现的基础,系统实现只能基于SRD,不能依赖具体的游戏内容。
|
|||
|
|
|
|||
|
|
### Setting / 环境设定
|
|||
|
|
|
|||
|
|
使用SRD提供的特性来设计环境内容:
|
|||
|
|
- 效应:效应在技术上不依赖其他类型内容,可以首先确定。但在创意上可能不会直接设计效应,而是从若干创意中提取共性,并创建一个效应来作为主题。
|
|||
|
|
- 卡牌:部分效应会创建卡牌或修改卡牌。在设计时需要注意。
|
|||
|
|
- 敌人和意图:结合效应与主题表达设计敌人。通常需要为每个敌人设计独特的效应。
|
|||
|
|
- 玩家物品:结合效应与主题表达设计物品。常见物品的效应容易找到替代,不常见物品则有特殊的效应。
|