# 星域故事汇 一款 AI 驱动的互动短剧微信小游戏,将超休闲游戏的极简操作与互动叙事的强代入感相结合。 ## 项目结构 ``` ai_game/ ├── client/ # 微信小游戏客户端 │ ├── js/ │ │ ├── data/ # 数据管理 │ │ │ └── StoryManager.js │ │ ├── scenes/ # 场景模块 │ │ │ ├── HomeScene.js # 首页 │ │ │ ├── StoryScene.js # 故事播放 │ │ │ ├── EndingScene.js # 结局页 │ │ │ ├── ProfileScene.js # 个人中心 │ │ │ ├── ChapterScene.js # 章节选择 │ │ │ └── SceneManager.js # 场景管理 │ │ ├── utils/ # 工具类 │ │ └── main.js # 入口文件 │ ├── game.js # 游戏启动 │ └── game.json # 小游戏配置 │ ├── server/ # Node.js 后端服务 │ ├── routes/ # API 路由 │ │ ├── story.js # 故事相关接口 │ │ └── user.js # 用户相关接口 │ ├── models/ # 数据模型 │ ├── config/ # 配置文件 │ ├── sql/ # 数据库脚本 │ └── app.js # 服务入口 │ └── README.md ``` ## 技术栈 **客户端** - 原生微信小游戏(无引擎) - Canvas 2D 渲染 - ES6+ 模块化 **服务端** - Node.js + Express - MySQL 数据库 ## 快速开始 ### 1. 启动后端服务 ```bash cd server npm install # 配置 .env 文件(参考 .env.example) npm start ``` ### 2. 导入客户端 1. 打开微信开发者工具 2. 导入项目,选择 `client` 目录 3. 填入 AppID(测试号可使用测试 AppID) 4. 编译运行 ## 核心功能 ### 故事游玩 - 沉浸式视觉小说风格界面 - 打字机效果文字展示 - 多分支选择剧情 - 多结局达成系统 ### 章节选择 - 可选择任意已解锁节点重新游玩 - 体验不同分支剧情 ### 个人中心 - 游玩记录 - 收藏管理 - 结局成就 ## API 接口 | 接口 | 方法 | 说明 | |------|------|------| | `/api/stories` | GET | 获取故事列表 | | `/api/stories/:id` | GET | 获取故事详情 | | `/api/stories/categories` | GET | 获取分类列表 | | `/api/stories/:id/play` | POST | 记录游玩 | | `/api/stories/:id/like` | POST | 点赞故事 | | `/api/user/login` | POST | 用户登录 | | `/api/user/progress` | GET/POST | 游玩进度 | | `/api/user/collections` | GET/POST | 收藏管理 | ## 配置说明 ### 服务端配置 (.env) ```env PORT=3000 DB_HOST=localhost DB_USER=root DB_PASSWORD=your_password DB_NAME=ai_game ``` ### 客户端配置 (game.json) ```json { "deviceOrientation": "portrait", "showStatusBar": false } ``` ## 开发计划 - [x] 核心游玩模块 - [x] 故事播放场景 - [x] 结局展示系统 - [x] 章节选择功能 - [ ] AI 改写功能 - [ ] AI 续写功能 - [ ] UGC 创作系统 - [ ] 社交分享优化 ## License MIT