Files
blind/game/操作说明.md
T
2026-05-24 12:35:35 +08:00

190 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 《林夏》操作说明
---
## 一、游戏简介
全黑屏叙事游戏。玩家扮演 24 岁的林夏,用一部碎屏手机度过今晚 21:00–02:00 的 5 个小时。
- **没有视觉界面**,只有声音和触感
- **全程约 60 分钟**(5 小时游戏时间压缩)
- **16 条消息**5 种结局
- **不需要说话**,不需要麦克风
---
## 二、开始前准备
1. 手机和电脑连接**同一 Wi-Fi**
2. 打开手机浏览器,输入地址:
```
http://<服务器IP>:8765/game/
```
3. **关灯,戴上耳机**
4. 将手机音量调到适中(建议 60–80%)
5. 轻触屏幕任意位置开始游戏
> **iOS 用户注意**:Safari 不支持震动反馈,操作正常但无震感。建议使用 Android Chrome。
---
## 三、操作总览
### 来电时
| 操作 | 效果 |
|------|------|
| **单击 / 右滑** | 接听 |
| **左滑 / 双击** | 拒接 |
| **不动** | 铃声持续(不会自动挂断) |
### 收到消息时
| 操作 | 效果 |
|------|------|
| **单击** | 播放消息内容 |
| **双击 / 左滑** | 跳过这条消息 |
### 播放中
| 操作 | 效果 |
|------|------|
| **双击** | 跳过当前播放 |
| **长按** | 重播当前消息 |
### 选择回复(听完消息后)
系统会播放提示音,进入回复选择状态:
| 操作 | 情感方向 |
|------|----------|
| **单击** | 简单回应 |
| **右滑** | 温暖 / 接受 |
| **左滑** | 冷淡 / 拒绝 |
| **上滑** | 好奇 / 追问 |
| **下滑** | 沉默 / 退缩 |
| **双击** | 不回复(跳过) |
> 部分消息的回复会触发**多轮对话**——NPC 回应后,再次进入选择状态。
### 随时可用
| 操作 | 效果 |
|------|------|
| **两指长按** | 暂停游戏 |
| **单击**(暂停中) | 继续游戏 |
| **三指点击**(暂停中) | 退出游戏 |
| **长按**(空闲/通知时) | 语音播报未读消息数 |
---
## 四、消息类型
游戏中有四种消息形态:
### 来电(call
手机长震 + 角色专属铃声。单击/右滑接听,左滑/双击拒接。
### 微信语音(wechat_voice
两短震 + 系统提示音。单击播放语音内容。
### 微信文字(wechat_text
两短震 + 系统提示音。单击后由系统朗读文字内容。
### 系统通知(system_notification
特殊消息,播放系统提示后自动播放内容。
---
## 五、行为画像
游戏全程追踪三个维度(玩家不可见):
| 维度 | 含义 | 触发行为 |
|------|------|----------|
| **avoidance**(回避) | 林夏今晚想一个人待着 | 跳过消息、不回复、沉默 |
| **engagement**(投入) | 林夏在认真面对每一个人 | 温暖回应、好奇追问 |
| **nostalgia**(怀旧) | 林夏在这一夜反复回望 | 与老同学深聊、分享自己 |
画像影响**时光胶囊**(消息15)播放哪个版本。
---
## 六、结局说明(不含剧透)
共 **5 种结局**,由以下变量决定:
| 变量 | 触发条件 |
|------|----------|
| 与妈妈的连接 | 是否接了妈妈的电话 / 回了消息 |
| 阿哲是否回来 | 23:15 那通电话的选择 |
| 与周南的深度 | 回应周南的次数与方式 |
| 是否听自己 | 00:30 时光胶囊是否播放 |
| 行为画像 | 整体回应风格 |
另有一个**隐藏结局 E**,需要与某位角色深度互动才能触发。
---
## 七、开发者 / 测试模式
在 URL 末尾加 `?dev` 可开启开发模式:
```
http://<服务器IP>:8765/game/?dev
```
- 消息之间的等待间隔从 2 秒缩短为 0.2 秒
- 屏幕底部显示调试信息(当前状态)
- 适合快速测试分支和结局
---
## 八、启动服务器
关机重启后需要重新启动 HTTP 服务器:
```bash
cd /home/xsl/blind
python3 -m http.server 8765 --bind 0.0.0.0 &
```
查看当前 IP
```bash
hostname -I | awk '{print $1}'
```
---
## 九、文件结构
```
/home/xsl/blind/
├── game/
│ ├── index.html 主页面(黑屏)
│ ├── manifest.json PWA 配置
│ ├── 操作说明.md 本文件
│ └── js/
│ ├── utils.js 工具函数 + 浏览器 TTS
│ ├── haptics.js 震动反馈
│ ├── audio.js 音频管理器 + 合成 UI 音效
│ ├── gestures.js 单指手势检测
│ ├── profile.js 行为画像评分
│ ├── story.js 16条消息数据
│ ├── engine.js 游戏状态机
│ └── main.js 入口
└── audio/
└── mp3/
├── tts/ 角色语音(169条)
├── music/ BGM + 铃声(8条)
├── sfx/ 音效(4条)
└── ambience/ 环境底噪(3条)
```
---
*"屏幕坏了,但她的一夜还没结束。"*