GroupZHU/plan1.md

5.5 KiB
Raw Blame History

密室杀人侦破 - 详细开发计划

项目概述

项目名称: 密室杀人侦破
项目类型: 网页推理游戏
核心功能: 使用DeepSeek API自动生成剧情和选项文案
API密钥: sk-f42302a1e8ff4825a19e313db79a391b

游戏核心机制

1. 基本游戏流程

  • 场景数量: 20个独立场景
  • 选项数量: 每个场景4个选项
  • 进度系统: 0-100%进度条达到100%时结案
  • 结局类型: 好结局、坏结局、最坏结局

2. 选项类型与效果

选项分类(玩家不可见)

  1. 正确选项

    • 进度增加: 5-10%
    • 效果: 正常推进剧情,无负面效果
  2. 错误选项

    • 进度增加: 5-10%
    • 效果: 可能触发坏结局条件
  3. 未知选项

    • 进度变化: 保持不变
    • 效果: 需要玩家谨慎判断
  4. 危险选项

    • 进度增加: 8-10%
    • 效果: 可能触发最坏结局条件

3. 危机系统

触发条件

  • 连续选择危险选项 ≥ 3次

危机效果(随机触发一种)

  1. 紧张状态

    • 增加2个无关选项
    • 选项总数变为6个
  2. 焦虑状态

    • 所有选项文本有概率变为黑框不可见状态
    • 降低判断难度
  3. 恐慌状态

    • 界面颜色变为黑、红、白
    • 选项文字出现抖动效果

4. 结局判定系统

结局条件

  • 好结局: 正确辨别真凶
  • 坏结局: 找到表面罪犯,真凶另有其人
  • 最坏结局: 被误认为罪犯

结局触发规则

  • 错误 + 危险选项选择次数 ≥ 7次: 好结局 → 坏结局
  • 危险选项选择次数 ≥ 4次: 坏结局 → 最坏结局

技术架构设计

1. 前端技术栈

  • 框架: React/Vue.js
  • 样式: CSS3 + 动画效果
  • 状态管理: Redux/Vuex
  • 路由: React Router/Vue Router

2. 后端技术栈

  • 语言: Node.js/Python
  • API集成: DeepSeek API调用
  • 数据存储: 本地存储/简单数据库

3. API集成设计

DeepSeek API调用策略

// 场景生成API调用
const generateScene = async (currentProgress, previousChoices) => {
  const prompt = `
    生成第${currentScene}个密室杀人场景:
    当前进度:${currentProgress}%
    玩家选择历史:${previousChoices}
    请生成:
    1. 场景描述200-300字
    2. 4个选项文案每个选项20-30字
    3. 选项类型标注(正确/错误/未知/危险)
  `;
  
  return await callDeepSeekAPI(prompt);
};

剧情连贯性保证

  • 保存玩家选择历史
  • 基于历史生成连贯剧情
  • 维护角色关系和证据链

用户界面设计

1. 页面结构

  1. 首页

    • 游戏标题和背景介绍
    • 案件基本信息
    • "开始推理"按钮
  2. 游戏主界面

    • 顶部: 进度条显示
    • 中部: 当前场景描述
    • 底部: 4个选项按钮
    • 侧边: 证据收集区域(可选)
  3. 结局页面

    • 案件结论展示
    • 结局评价
    • 重新开始按钮

2. 视觉设计

  • 主色调: 暗色系(营造神秘氛围)
  • 字体: 易读的衬线字体
  • 动画: 平滑的过渡效果
  • 响应式: 适配移动端和桌面端

开发阶段规划

第一阶段基础框架搭建1-2周

  • 项目初始化
  • 基础页面结构
  • 简单的状态管理
  • DeepSeek API集成测试

第二阶段核心功能实现2-3周

  • 场景生成系统
  • 选项选择逻辑
  • 进度管理系统
  • 基础UI界面

第三阶段高级功能开发2周

  • 危机系统实现
  • 结局判定系统
  • 视觉特效(恐慌状态)
  • 数据持久化

第四阶段优化和测试1周

  • 性能优化
  • 用户体验测试
  • Bug修复
  • 部署上线

数据结构和状态管理

1. 游戏状态对象

const gameState = {
  currentScene: 1,
  progress: 0,
  choicesHistory: [],
  dangerCount: 0,
  errorCount: 0,
  crisisActive: false,
  crisisType: null,
  endingType: 'good' // good/bad/worst
};

2. 场景数据结构

const sceneData = {
  id: 1,
  description: "场景描述文本",
  options: [
    { text: "选项1", type: "correct", effect: 8 },
    { text: "选项2", type: "danger", effect: 10 },
    { text: "选项3", type: "unknown", effect: 0 },
    { text: "选项4", type: "error", effect: 6 }
  ]
};

安全注意事项

API密钥安全

  • 不要在前端代码中硬编码API密钥
  • 使用环境变量或后端代理
  • 考虑使用服务器端API调用

用户数据保护

  • 仅存储必要的游戏进度数据
  • 不收集个人敏感信息
  • 提供数据清除功能

扩展功能(可选)

1. 多案件系统

  • 不同难度级别的案件
  • 随机生成案件内容
  • 案件收藏和重玩功能

2. 成就系统

  • 完美推理成就
  • 快速通关成就
  • 特殊结局成就

3. 社交功能

  • 成绩分享
  • 排行榜系统
  • 好友挑战

风险评估

技术风险

  1. API稳定性: DeepSeek API服务中断

    • 应对: 本地缓存备用剧情
  2. 生成质量: AI生成内容不符合预期

    • 应对: 人工审核+内容过滤

用户体验风险

  1. 难度平衡: 游戏过于简单或困难

    • 应对: 动态难度调整机制
  2. 剧情连贯性: 场景之间逻辑断裂

    • 应对: 强化上下文关联生成

项目负责人: 朱鹏翰
预计完成时间: 6-8周
技术难度: 中等
创新点: AI生成剧情 + 动态结局系统