Files
blind/game1/操作说明.md
T
2026-05-21 00:13:41 +08:00

6.2 KiB
Raw Blame History

《林夏》操作说明


一、游戏简介

全黑屏叙事游戏。玩家扮演 24 岁的林夏,用一部碎屏手机度过今晚 21:00–02:00 的 5 个小时。

  • 没有视觉界面,只有声音和触感
  • 全程约 60 分钟5 小时游戏时间压缩)
  • 16 条消息5 种结局
  • 不需要说话,不需要麦克风

二、开始前准备

  1. 手机和电脑连接同一 Wi-Fi

  2. 打开手机浏览器,输入地址:

    http://172.28.107.97:8765/game/
    
  3. 关灯,戴上耳机

  4. 将手机音量调到适中(建议 60–80%)

  5. 轻触屏幕任意位置开始游戏

iOS 用户注意:Safari 不支持震动反馈,操作正常但无震感。建议使用 Android Chrome。


三、消息类型与接收方式

游戏中有三种消息形态:

来电

  • 触发:手机长震 + 角色专属铃声
  • 2030 秒后自动漏接
操作 效果
单点 接听
左滑 拒接
不动 漏接(对方挂断)

微信语音 / 微信文字

  • 触发:两短震 + 系统提示音(TTS 报出发件人)
操作 效果
单点 播放语音 / 念出文字
左滑 忽略(保持未读)
不动 保持未读,晚些再听

四、回复消息

听完语音 / 文字念完后,进入等待回复状态:

操作 发送内容
单点 发"嗯。"(最简单的回执)
双点 发标准回复(针对该消息的一句话)
长按 1 秒 进入细回复模式
左滑 已读不回
不动 维持"已读未回"状态

五、细回复(核心机制)

长按 1 秒后,震动确认进入细回复。系统会依次念出 4 个候选回复

一……  "好,明天寄。"
二……  "你怎么不自己来拿。"
三……  "你那边……都好吗。"
四……  (什么都不说)

在听到目标选项时,朝对应方向滑动:

滑动方向 对应选项
左滑
右滑
上滑
下滑

没听清? 单点屏幕可重听所有选项,或长按 1 秒重新播放。
选错了也没关系——每条消息只影响行为画像,不会"game over"。


六、查看当前状态

随时下滑,系统会用语音告诉你当前在哪个页面,以及可以做什么操作。

例如:

  • 主屏幕时下滑 → "主屏幕,3条未读。上滑查看收件箱。"
  • 来电时下滑 → "妈妈来电中。单点接听,左滑拒接。"
  • 听完消息后下滑 → "阿哲的消息已播完。单点回嗯,双点标准回复,长按细回复,左滑已读不回。"

不确定自己在哪?下滑就对了。


七、查看未读列表(收件箱)

在主屏幕上滑,进入收件箱模式。

系统会依次念出所有未读消息:

"收件箱:4条未读。妈妈,来电。阿哲,语音。周南,语音。……"
  • 单点 → 跳转至列表第一条
  • 左滑 → 返回主屏幕
  • 等待 8 秒 → 自动关闭收件箱,返回游戏

八、游戏内时间

游戏将现实的 21:00–02:00(5 小时)压缩为 60 分钟真实时间。

游戏时间 真实等待
21:03 约 36 秒
21:30 约 6 分钟
22:30 约 18 分钟
23:45 约 33 分钟
02:00 约 60 分钟

消息到来时间固定,漏接 / 不听是合法选择,但漏掉的内容不会重发。


九、结局说明(不含剧透)

5 种结局,由以下 5 个变量决定:

变量 触发条件
与妈妈的连接 是否接了妈妈的电话 / 回了文字
阿哲是否回来 23:15 那通电话的选择
群里是否发言 寝室群消息的回应
与周南的深度 回应周南的次数与方式
是否听自己 00:30 时光胶囊是否播放

另有一个隐藏结局 E,需要与某位角色深度互动才能触发。


十、行为画像

游戏全程追踪三个维度(玩家不可见):

维度 含义 触发行为
avoidance(回避) 林夏今晚想一个人待着 漏接、不回、已读不回
engagement(投入) 林夏在认真面对每一个人 细回复、主动追问
nostalgia(怀旧) 林夏在这一夜反复回望 重听同一条消息、分享自己

画像决定 00:30 时光胶囊播放哪个版本(明朗 / 迷茫 / 温柔)。


十一、彩蛋

  • 夜间启动(现实时间 22:00–04:00 之间打开游戏):开场多一句话
  • 消息09:小美醉语音结束后会有一个撤回事件
  • 消息04:如果一直不回阿哲,会听到一个小细节

十二、开发者 / 测试模式

在 URL 末尾加 ?dev 可开启10倍速模式:

http://172.28.107.97:8765/game/?dev
  • 所有消息的触发时间缩短为原来的 1/10
  • 全程约 6 分钟可打通
  • 适合测试结局分支

十三、启动服务器

关机重启后需要重新启动 HTTP 服务器:

cd /home/xsl/blind
python3 -m http.server 8765 --bind 0.0.0.0 &

查看当前 IP

hostname -I | awk '{print $1}'

十四、文件结构

/home/xsl/blind/
├── game/
│   ├── index.html          主页面(黑屏)
│   ├── manifest.json       PWA 配置
│   ├── 操作说明.md          本文件
│   └── js/
│       ├── utils.js        工具函数 + 浏览器 TTS
│       ├── haptics.js      震动反馈
│       ├── audio.js        音频管理器
│       ├── gestures.js     单指手势检测
│       ├── profile.js      行为画像评分
│       ├── story.js        16条消息数据
│       ├── engine.js       游戏状态机
│       └── main.js         入口
└── audio/
    └── 00_raw/
        ├── tts/            角色语音(68条)
        ├── music/          BGM + 铃声
        ├── sfx/            音效
        └── ambience/       环境底噪

"屏幕坏了,但她的一夜还没结束。"