基于 AI 的二次元 GalGame 风格人生模拟小游戏,玩家在异世界中经历一生,每一次选择都会改变命运。
- 框架: Next.js 14 + React 18
- 样式: Tailwind CSS + Framer Motion
- AI: DeepSeek API
- 语言: TypeScript
- 部署: CloudBase
- 角色创建 — 自定义名字、身份背景、世界观,分配智力/魅力/体力/运气四项灵魂特质
- 人生阶段 — AI 根据角色信息自动生成 3-5 个人生阶段标题,从"初入异世界"到"王都风云"
- 事件选择 — 每个阶段经历多个叙事事件,在 2-4 个选项中决定命运走向
- 自定义行动 — 玩家可自由输入任何行动,AI 生成对应后果
- 命运终结 — 当所有阶段完成或能力值走向极端,故事迎来终局
| 能力值 | 含义 | 底层设定 |
|---|---|---|
| 智力 | 逻辑、记忆、分析、洞察 | 智慧与知识的综合体现 |
| 魅力 | 气质、口才、亲和、吸引力 | 社交影响力的总和 |
| 体力 | 力量、气势、威慑力 | 不是血量或消耗品,而是纯粹的"力" |
| 运气 | 机缘、巧合、命运 | 冥冥之中的天意 |
- 触发:任意能力值 ≥ 80
- 概率:100%
- 特点:该能力值锁定,永不下降;叙事中因离谱数值产生令人难以置信的结果
- UI:金色+暗红渐变框架
- 触发:任意能力值 ≤ -80
- 概率:100%
- 特点:该能力值锁定,永不上升;叙事中走向毁灭性灾难
- UI:黑色+血红渐变框架
- 触发:1% 随机(神迹/灾厄不触发时)
- 特点:内容离奇夸张特别,能力值 ±8~±25 大幅波动
- UI:金色边框+琥珀色光效
游戏内置了一套轻量 NLP 风格的方向检测引擎:
- 正则关键词 + 否定语义递归检测
- 多从句时间线遍历(最后命中覆盖旧信息)
- 否定词反转:如"疲惫一扫而空"→体力上升而非下降
- 120 样本测试集,通过率 92.5%
所有事件叙事由 AI 生成,遵循严格的写作规范:
- 纯文学叙事,不含数字和标签
- 必须扎根于世界观与角色身份
- 时间推进自然衔接,阶段内因果关联
- 能力值变化在叙事中自然体现
# 安装依赖
npm install
# 开发模式
npm run dev
# 生产构建
npm run build
npm start创建 .env.local:
DEEPSEEK_API_KEY=你的API密钥
DEEPSEEK_BASE_URL=https://api.deepseek.com
src/
├── app/
│ ├── api/deepseek/route.ts # AI API 代理
│ ├── globals.css # 全局样式、框架动画
│ ├── layout.tsx # 根布局
│ └── page.tsx # 主页面(创建/总览/游玩/结局)
├── components/
│ ├── CharacterCreation.tsx # 角色创建界面
│ ├── GameStage.tsx # 游戏主循环、prompt 引擎
│ ├── MagicCircleStats.tsx # 灵魂投影魔法阵
│ └── StarBackground.tsx # 星空粒子背景
tailwind.config.js # Tailwind 配置(自定义色系)
public/music/ # BGM 音乐文件
MIT License