refactor: adventure format
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
# 地点设计
|
||||
|
||||
1. 为主题中的每个遭遇设计一个地点。此外,再添加约3-5个地点,用于放置秘密线索。
|
||||
|
||||
2. 将地点连接起来,形成地图。确保每个地点都处于某种环状路径中,允许玩家总是前进不用回头。确保地点中有一些岔路,允许玩家在选择前进方向时有所选择。
|
||||
|
||||
3. 为地点添加一些危险元素,如陷阱、怪物袭击、悬崖等等。如果地点有岔路,为不同的岔路设计差异化的挑战元素。
|
||||
|
||||
4. 设计两处上锁的路径。将锁对应的钥匙安排到其他地点,以允许玩家获得钥匙并解锁路径。
|
||||
|
||||
5. 设计一处隐藏路径。玩家必须通过探索才能发现此路径。隐藏路径应该能允许玩家绕开危险,或者获得一些帮助物资。
|
||||
|
||||
6. 为地点添加一些辅助物资。辅助物资应当能帮助玩家恢复损伤,或者更好执行某些检定。
|
||||
@@ -0,0 +1,15 @@
|
||||
# 秘密
|
||||
|
||||
玩家在冒险中,应当面对一些神秘现象或阴谋。
|
||||
|
||||
玩家可以通过调查来得知秘密的真相,但是真相与完成游戏目标没有直接关系。
|
||||
|
||||
得知真相会花费玩家额外的精力,但能够帮助玩家在最终决战前做好准备。
|
||||
|
||||
## 线索
|
||||
|
||||
将秘密拆分为5-6条线索。玩家可以在冒险中获得其中一些线索,并最终拼凑出秘密的真相。
|
||||
|
||||
只靠单独的线索无法获得秘密的完整真相。必须依赖至少3-4条线索的组合才行。
|
||||
|
||||
设计地点时,将秘密的线索分散安排到多个地点中。
|
||||
@@ -0,0 +1,9 @@
|
||||
# 路径设计
|
||||
|
||||
根据冒险的背景设定,将一部分较为危险的路径划分为危险路径,并设计共6条随机遭遇。
|
||||
|
||||
随机遭遇不与特定的地点或路径绑定,而在路边随机发生。
|
||||
|
||||
随机遭遇通常为玩家带来风险,若不能完成豁免则会造成属性损伤。
|
||||
|
||||
设计风险时,尽可能覆盖多样的属性类型。
|
||||
@@ -0,0 +1,42 @@
|
||||
# 背景
|
||||
|
||||
为冒险设定背景。应包含以下内容:
|
||||
|
||||
- 环境风貌:当地社会文化形态,以及环境生态。
|
||||
- 风格特色:冒险发生的地点(通常是一座大型建筑),该地点当前的状态与特点。
|
||||
- 上下文:在冒险发生前,这里发生过什么事情。
|
||||
|
||||
## 环境风貌
|
||||
- 人类活动:人迹罕至/偏僻的村落/城市郊区/城堡/富饶的农村/大型城市街区等等。
|
||||
- 环境生态:寒冷/炎热/河边/海边/山顶/林间/草原,甚至水下。
|
||||
|
||||
## 风格特色
|
||||
- 地点:家族庄园/大图书馆/集市/工坊/研究所/学院/军营/流民营地/藏宝库/工厂/墓穴/动物巢穴等等。
|
||||
- 构造:木制/石制/砂石/活生生的植物/冰封/玻璃/血肉/泥土/金属/大理石/菌菇/丝网等等。
|
||||
|
||||
## 上下文
|
||||
- 灾难背景:古战场/研究事故/诅咒/瘟疫/遭到袭击/闹鬼/石化/被怪物占据/被封印/遭天谴等等
|
||||
|
||||
## 世界观
|
||||
|
||||
冒险应当讲诉`中世纪剑与魔法`风格的故事。角色们通常具有一些超出常人的能力,较少受社会制度所约束,但也无法左右社会现状。
|
||||
|
||||
社会由`骑士`、`贵族`、`平民`、`先知`四种人群构成。
|
||||
- `骑士`精通武艺,受`先知`授予各种特殊能力,四处游历,保卫王国。
|
||||
- `贵族`掌握权力,确保王国的外交与内政秩序。
|
||||
- `平民`从事生产,为王国贡献粮食、手工制品与人力。
|
||||
- `先知`裁定纠纷,为王国的命运提供预言与计划。
|
||||
|
||||
此外,社会中还有各式各样的私人势力,在明里暗处中活跃,无法划分到上述角色中。
|
||||
|
||||
除了人类以外,王国中可能出现各种各样的奇异生物与超自然现象。它们会影响角色们的冒险,但是很难影响朝政与社会。
|
||||
|
||||
从欧洲民间传说以及童话故事中获取灵感。
|
||||
|
||||
## 势力设计
|
||||
|
||||
在冒险中,可将部分NPC设计为势力领袖,手下带领一群相互类似的NPC。
|
||||
|
||||
势力是势力领袖的衍生。通过为势力创建势力计划、掌握的资源、势力成员的典型特点,来塑造势力的特色。
|
||||
|
||||
- 势力目标:敛财/复仇/征服/保护/研究/创造/自保/探索/寻宝
|
||||
@@ -0,0 +1,74 @@
|
||||
# 系统
|
||||
|
||||
## 玩家角色
|
||||
|
||||
只有一个玩家角色。
|
||||
|
||||
### 基本属性
|
||||
|
||||
玩家角色具有以下基本属性:
|
||||
|
||||
- 力量
|
||||
- 体质
|
||||
- 敏捷
|
||||
- 感知
|
||||
- 智力
|
||||
- 魅力
|
||||
|
||||
每个基本属性范围1-19,会用于属性检定,掷D20小于等于属性则检定成功。
|
||||
|
||||
属性可能遭受损伤扣减,损伤需要通过休息来缓慢回复。
|
||||
|
||||
一次受到超过当前一半属性损伤时,会遭受严重创伤,该属性即使休息也不会回复损伤。
|
||||
|
||||
必须通过专家、专门地点或道具来解除严重创伤。
|
||||
|
||||
### 耐受
|
||||
|
||||
玩家具有一条耐受度属性,只需几分钟的调整即可完全恢复。
|
||||
|
||||
耐受度随玩家角色成长而提升,初始范围为1-6。
|
||||
|
||||
在玩家做好准备时,可消耗耐受用于抵抗属性损伤,每点耐受抵抗1点损伤。
|
||||
|
||||
### 疲劳与恢复
|
||||
|
||||
结算疲劳时,掷一个`D6`属性骰,每一面代表一种属性。掷出的属性受到1点损伤。
|
||||
|
||||
结算恢复时类似,掷出的属性恢复1点损伤。如果掷出的属性没有损伤或受到严重创伤,则恢复无效。
|
||||
|
||||
### 检定与进度
|
||||
|
||||
玩家可以通过检定来尝试交互。每条交互需要三种属性:
|
||||
|
||||
- 主属性:玩家需要使用什么属性来进行此交互。
|
||||
- 难度:玩家需要积累多少成功进度来成功完成此交互。
|
||||
- 机会:玩家积累多少失败进度后交互失败,且玩家不可再尝试。
|
||||
|
||||
如:`力量3/1`(力量,难度3,机会1)表示玩家使用力量属性检定,3成功进度后交互成功完成,1失败进度后交互失败且不可再尝试。
|
||||
|
||||
每次进行检定时,掷D20检定骰,以及D4进度骰。
|
||||
若检定骰小于等于玩家当前主属性,则获得进度骰数量成功进度,否则获得对应数量失败进度。
|
||||
|
||||
根据交互的挑战性质设计效果:
|
||||
|
||||
- 应变:难度/机会都低,即使失败也能达到成功的效果,仅受到不可耐受的属性损伤。
|
||||
- 挑战:难度高/机会低,失败后根据进度获取收益,且交互可再次尝试。
|
||||
- 努力:难度/机会都高,失败无事发生。
|
||||
- 风险:难度低/机会高,失败有较重大损失。
|
||||
|
||||
检定的难度/机会不会告知玩家。若没有触发成功也没有触发失败,则检定后仅告知当前成功/失败进度。
|
||||
|
||||
### 后果
|
||||
|
||||
玩家状态
|
||||
|
||||
- 属性损伤:属性类型+当前值
|
||||
- 严重创伤:属性类型
|
||||
- 标签:类型+持续事件,用于疾病、祝福、中毒等
|
||||
- 资源:类型+数量,用于物品、金钱等
|
||||
|
||||
世界状态
|
||||
|
||||
- 势力计划进度:id+成功进度
|
||||
- 事件发展进度:id+阶段
|
||||
@@ -0,0 +1,36 @@
|
||||
# 主题
|
||||
|
||||
为冒险设计主题。主题描述了冒险故事的主要目标与困难。
|
||||
|
||||
- 保护商队/调查神秘事件/杀死怪物/寻找宝藏/窃取重要物品/抵达地点/逃离地点
|
||||
|
||||
从主题出发,为冒险设计以下遭遇:
|
||||
|
||||
- 1条最终决战
|
||||
- 1-2条预兆
|
||||
- 1-2条铺垫
|
||||
- 1-2条转折
|
||||
|
||||
每个遭遇都应该发生在一个独立的地点。
|
||||
|
||||
## 最终决战
|
||||
|
||||
在最终决战中,玩家必须面对主要困难,若是成功则可以完成主要目标。
|
||||
|
||||
## 预兆
|
||||
|
||||
在预兆遭遇中,玩家会遭遇一些看似与主要目标无关的场景或事件。
|
||||
|
||||
进行调查会揭露关于冒险秘密的信息,但玩家的行为不会直接影响主要目标。
|
||||
|
||||
## 铺垫
|
||||
|
||||
在铺垫遭遇中,将冒险的主要困难,以及相关的NPC、物品、现象介绍给玩家。
|
||||
|
||||
可能会立即向玩家施加挑战。赢得铺垫遭遇将提升玩家完成主要目标的机会。
|
||||
|
||||
## 转折
|
||||
|
||||
在转折遭遇中,玩家与重要NPC、物品、现象的关系将发生改变。
|
||||
|
||||
NPC立场可能发生逆转、NPC能力发生变化,或者冒险秘密开始揭露。
|
||||
@@ -0,0 +1,75 @@
|
||||
# Yarn Spinner 编写
|
||||
|
||||
Yarn Spinner是一种文字冒险文本格式,可用于描述ttrpg冒险。
|
||||
|
||||
不要使用`markdown`格式语法,如标题,加粗等。冒号也有特殊含义(代表台词)。只使用纯文本描述冒险内容。
|
||||
|
||||
## 基本结构
|
||||
|
||||
每个`地点`遭遇使用一个`节点`来描述。然后,为每个遭遇里的每个`交互`创建一个`节点`。
|
||||
|
||||
```yarn-spinner
|
||||
title: 节点名称
|
||||
---
|
||||
描述文本
|
||||
角色: 角色台词
|
||||
-> 选项描述1
|
||||
<<命令1>>
|
||||
-> 选项描述2
|
||||
<<命令2>>
|
||||
===
|
||||
```
|
||||
|
||||
对于`随机`遭遇而言,使用多个`title`相同的节点。
|
||||
使用`when: `来为节点触发添加条件。
|
||||
如果没有条件,则使用`when: always`。
|
||||
若需要节点只触发一次,可以结合`变量`。
|
||||
|
||||
```yarn-spinner
|
||||
title: 随机遭遇
|
||||
when: $villager_encountered == false
|
||||
---
|
||||
村民: 森林里有一只大狼!
|
||||
<<set $villager_encountered to true>>
|
||||
===
|
||||
```
|
||||
|
||||
## 跳转
|
||||
|
||||
`<<jump 节点名称>>`:跳转节点
|
||||
`<<detour 节点名称>>`:跳转节点,并在节点执行结束后返回
|
||||
`<<return>>`:返回`detour`跳转来源节点
|
||||
|
||||
玩家在地点之间移动时,根据路径内容,插入`<<detour 随机遭遇>>`来触发随机遭遇。
|
||||
|
||||
随机遭遇可以使用`<<return>>`来返回主线。
|
||||
|
||||
在玩家可以反复尝试的遭遇中,在结尾添加`<<jump 节点名称>>```,跳转到自身的开头。
|
||||
|
||||
## 命令和函数
|
||||
|
||||
使用命令读写时间。不要创建变量。
|
||||
- `<<add_hour>>``<<add_minute>>``<<add_day>>`:触发时间流逝。
|
||||
- `$time_day``$time_hour``$time_minute`:读取24小时制当前时间。
|
||||
- `$hour_total`:总共流逝的时间。
|
||||
|
||||
使用以下命令操作角色属性:
|
||||
- ```<<damage str 4>>```:造成角色属性损伤。
|
||||
- ```<<heal str 4>>```:解除属性创伤,并恢复角色属性损伤。
|
||||
- ```<<set $result to check("nodeId:checkId", "wis")>> ```:检定角色属性。成功返回正值代表成功进度,失败返回负值代表失败进度。
|
||||
- ```<<if $result >= 3>>```:处理检定成功进度。
|
||||
- ```<<if $result <= -2>>```:处理检定失败进度。
|
||||
- ```<<if $result > 0>>```:如果既没有达成成功进度也没有达成失败进度,暗示玩家应该继续尝试。
|
||||
- 检定后总是在文本中描述玩家当前的进度(但不要描述难度和机会)。使用`{$result}`来显示进度。
|
||||
|
||||
直接使用变量来记录玩家物品。没有背包限制。
|
||||
- ```<<set $item_light_armor to $item_light_armor + 1>>```:添加物品。
|
||||
- ```<<if $item_gold >= 100)>>```:检查物品。
|
||||
|
||||
直接使用变量来记录势力计划、地点、事件的进度。
|
||||
|
||||
## 文件分割
|
||||
|
||||
按照遭遇拆分文件,每个遭遇都是一个文件。
|
||||
|
||||
只要使用匹配的遭遇title就可以跳转到其他文件内的遭遇。
|
||||
Reference in New Issue
Block a user