forgotten-lily-traces
收藏资源简介:
Forgotten Lily — Gameplay Traces是一个从叙事解谜游戏《Forgotten Lily》中收集的匿名逐轮游戏交互轨迹数据集。该游戏是为Hugging Face的Build Small黑客松(主题:Thousand Token Wood)开发的。在游戏中,玩家扮演侦探,询问一位只能使用28个符号私人语言(称为音调)交流的女孩Lily。数据集捕获了每轮交互,包括玩家提出的问题、Lily回答时使用的音调(含ID和符号)以及这些音调含义的文本解释。本质上,这是一个由70亿参数模型在28个词汇的受限词汇表下生成的自然语言问题→受限符号回复→含义三元组的小型语料库。数据以JSONL格式存储,每条记录对应一轮交互,包含时间戳、匿名会话ID、轮次编号、故事章节、玩家问题文本、音调ID列表、符号字符串、含义解释文本、问题主题信号、审核分类和特殊脚本标记等字段。数据集规模较小(少于1000条),适用于研究小规模指令调优模型如何在极小的固定符号词汇表中选择以回答开放式自然语言问题,分析问题主题与角色选择的音调/情感之间的映射关系及其在三个故事章节中的变化,并作为隐私保护、角色内游戏日志记录的实践示例。数据收集通过服务器端日志记录玩家与在线Space的实时交互,Lily的回复由Qwen2.5-7B-Instruct模型生成,并受当前章节解锁的音调列表约束,再由确定性游戏引擎按固定语法排序。数据集已进行匿名化处理,不包含账户、个人数据、IP地址或精确时间戳,仅存储玩家问题文本(已进行有害内容过滤)。数据集遵循CC BY 4.0许可协议发布。
Forgotten Lily — Gameplay Traces is a dataset of anonymous per-turn gameplay interaction traces collected from the narrative puzzle game Forgotten Lily. The game was developed for Hugging Faces Build Small hackathon (theme: Thousand Token Wood). In the game, players take on the role of a detective questioning a girl named Lily who can only communicate using a private language of 28 symbols (called tones), each carrying a fragment of meaning. The dataset captures each turns interaction: the players question, the tones (including IDs and symbols) used in Lilys response, and the textual explanation (gloss) of those tones meanings. Essentially, it is a small corpus of natural language question → restricted symbolic reply → meaning triples generated by a 7-billion-parameter model under a constrained vocabulary of 28 symbols. The data is stored in JSONL format, with each record corresponding to one turn of interaction, containing fields such as timestamp, anonymous session ID, turn number, story chapter, player question text, list of tone IDs in Lilys reply, corresponding symbol strings, meaning explanation text, question topic signal, moderation classification, and special script tags. The dataset is small (less than 1000 entries) and suitable for researching how small-scale instruction-tuned models can select from an extremely small fixed symbolic vocabulary to answer open-ended natural language questions, analyzing the mapping between question topics and the tones/emotions chosen by the character and their variation across three story chapters, and serving as a practical example of privacy-preserving, in-character game logging. Data collection involved server-side logging of real-time player interactions with an online Space, with Lilys responses generated by the Qwen2.5-7B-Instruct model, constrained by the list of tones unlocked in the current chapter, and then ordered by a deterministic game engine according to fixed grammar. The dataset has been anonymized, containing no accounts, personal data, IP addresses, or precise timestamps, and only stores player question text (filtered for harmful content) essential to the datasets core purpose. The dataset is released under the CC BY 4.0 license.
数据集概述:Forgotten Lily — Gameplay Traces
数据集地址:https://huggingface.co/datasets/build-small-hackathon/forgotten-lily-traces
数据集类型:游戏剧情交互轨迹数据集
许可证:CC BY 4.0
语言:英语(en)
标签:游戏、叙事、约束生成、对话、游戏轨迹
规模:小于 1000 条(n<1K)
配置:默认(default),训练集(train),数据文件路径为 data/*.jsonl
数据集来源与背景
该数据集来自 Forgotten Lily 游戏,这是一款为 Hugging Face Build Small 黑客松(Thousand Token Wood 主题)构建的叙事解谜游戏。玩家扮演侦探,审问一位只能通过“音调”(tones)这种由 28 个符号组成的私人语言进行表达的女孩莉莉。数据集记录了每一轮交互:玩家提出的问题、莉莉回答的音调(ID 和符号)以及这些音调的释义。
数据采集方式
- 数据通过游戏服务器端实时记录玩家交互,每轮交互对应一行。
- 莉莉的回答由 Qwen2.5-7B-Instruct(GGUF Q4_K_M 量化模型)在约束条件下生成,模型只能从当前剧情幕(act)已解锁的音调池中选择。
- 一个确定性游戏引擎将所选音调按固定语法排序。
- 数据定期批量提交到该仓库。
隐私与匿名化
- 无账户、无个人数据:无需登录,
session字段是随机服务器生成 UUID 的截断单向哈希,仅用于标识同一会话内的轮次,无法追踪到个人。 - 玩家问题文本被存储:因为这是数据集的核心(问题 → 音调回复)。游戏启动界面已告知玩家匿名游戏轨迹可能被记录并公开。问题文本限制 280 字符,有害输入会被过滤并在字段中标记为
harmful。 - 不存储 IP 地址、精确时间戳(仅粗粒度 Unix 秒)或设备信息。
- 若发现某行包含不应公开的内容,可通过仓库讨论区请求删除。
数据模式(Schema)
每条记录为一个 JSON 对象,存储于 data/turns.jsonl,包含以下字段:
| 字段名 | 类型 | 描述 |
|---|---|---|
ts |
int | 该轮次的 Unix 时间戳(秒) |
session |
string | 匿名 12 字符哈希,标识同一会话内的轮次 |
turn |
int | 会话内的轮次编号 |
act |
int (1–3) | 剧情幕:1 见面 · 2 回忆 · 3 放手 |
question |
string | 侦探(玩家)的台词,不超过 280 字符 |
tone_ids |
list[string] | 莉莉回答的音调 ID,按阅读顺序排列(例如 ["self_i","self_feel","music"]) |
glyphs |
string | 音调对应的符号,以空格连接(例如 ◈ ◉ ♪) |
gloss |
string | 音调的普通语言释义,以 · 连接(例如 I · feel · music) |
topic_signal |
string | null |
moderation |
string | 输入分类:normal(正常)、harmful(有害)、special(脚本化编排) |
special |
string | null |
示例:
json {"ts": 1749600000, "session": "a1b2c3d4e5f6", "turn": 3, "act": 1, "question": "do you like music?", "tone_ids": ["self_i", "self_feel", "music"], "glyphs": "◈ ◉ ♪", "gloss": "I · feel · music", "topic_signal": "music", "moderation": "normal", "special": null}
预期用途
- 研究小型指令微调模型如何从固定的小型符号词汇中选择回答开放的自然语言问题。
- 分析问题主题与角色选择的音调/情感之间的映射关系,以及这种关系在三个剧情幕中的变化。
- 作为隐私保护、角色内游戏轨迹记录的实际案例。
局限性
- 规模小且为观察性数据:数据样本来自玩家自然游玩过程,未经平衡或精心筛选。
- 释义(gloss)为设计含义而非玩家解读:玩家需要在游戏中自行解码音调的含义,该释义未记录玩家实际理解。
- 音调分布受游戏设计约束:包括剧情幕门控、每轮音调上限、以及保证覆盖机制(偶尔会展示未见过的音调用于教学),因此音调分布不仅反映模型自由选择,也受游戏设计影响。




