feat: 星域故事汇小游戏初始版本

This commit is contained in:
2026-03-03 16:57:49 +08:00
commit cc0e39cccc
34 changed files with 6556 additions and 0 deletions

130
README.md Normal file
View File

@@ -0,0 +1,130 @@
# 星域故事汇
一款 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