4.6 KiB
4.6 KiB
星域故事汇
一款 AI 驱动的互动短剧微信小游戏,支持 AI 创作、UGC 内容发布,将超休闲游戏的极简操作与互动叙事的强代入感相结合。
项目结构
ai_game/
├── client/ # 微信小游戏客户端
│ ├── js/
│ │ ├── data/ # 数据管理
│ │ │ ├── StoryManager.js # 故事数据
│ │ │ ├── UserManager.js # 用户数据
│ │ │ └── AudioManager.js # 音频管理
│ │ ├── scenes/ # 场景模块
│ │ │ ├── HomeScene.js # 首页(推荐/关注/最新/排行)
│ │ │ ├── StoryScene.js # 故事播放
│ │ │ ├── EndingScene.js # 结局页
│ │ │ ├── ProfileScene.js # 个人中心(作品/草稿/收藏)
│ │ │ ├── ChapterScene.js # 章节选择
│ │ │ ├── AICreateScene.js # AI创作中心
│ │ │ └── SceneManager.js # 场景管理
│ │ ├── utils/
│ │ └── main.js
│ ├── game.js
│ └── game.json
│
├── server/ # Python 后端服务 (FastAPI)
│ ├── app/
│ │ ├── routers/
│ │ │ ├── story.py # 故事接口
│ │ │ └── user.py # 用户接口
│ │ ├── models/
│ │ │ ├── story.py # 故事ORM模型
│ │ │ └── user.py # 用户ORM模型
│ │ ├── config.py # 配置管理
│ │ ├── database.py # 数据库连接
│ │ └── main.py # 应用入口
│ ├── sql/
│ │ ├── schema.sql # 基础表结构
│ │ ├── init_db.py # Python建库脚本
│ │ └── seed_stories_*.sql # 种子数据
│ ├── requirements.txt
│ └── .env
│
├── docs/
│ └── AI创作系统设计.md
│
└── README.md
技术栈
| 层级 | 技术 |
|---|---|
| 客户端 | 原生微信小游戏 Canvas 2D |
| 服务端 | Python + FastAPI + SQLAlchemy |
| 数据库 | MySQL 8.0 |
| AI服务 | OpenAI / Claude API |
快速开始
1. 初始化数据库
cd server
pip install -r requirements.txt
# 配置 .env 文件(数据库密码等)
python sql/init_db.py
2. 启动后端
cd server
python -m app.main
# 服务运行在 http://localhost:3000
3. 导入客户端
- 微信开发者工具 → 导入项目 → 选择
client目录 - 填入 AppID
- 编译运行
核心功能
故事游玩
- 沉浸式视觉小说界面
- 打字机效果文字展示
- 多分支选择剧情
- 多结局达成系统
AI 创作中心
- AI 改写结局
- AI 续写剧情
- AI 完整创作新故事
- 配额管理(免费/付费)
UGC 生态
- 用户发布原创故事
- 作品审核机制
- 创作者数据统计
- 收益分成系统
个人中心
- 我的作品管理
- 草稿箱
- 收藏/游玩记录
- 创作者统计
API 接口
故事相关
| 接口 | 方法 | 说明 |
|---|---|---|
/api/stories |
GET | 故事列表 |
/api/stories/:id |
GET | 故事详情 |
/api/stories/:id/rewrite |
POST | AI改写结局 |
/api/stories/:id/continue |
POST | AI续写 |
/api/stories/ai-create |
POST | AI完整创作 |
用户相关
| 接口 | 方法 | 说明 |
|---|---|---|
/api/user/login |
POST | 用户登录 |
/api/user/progress |
GET/POST | 游玩进度 |
/api/user/collections |
GET | 收藏列表 |
/api/user/my-works |
GET | 我的作品 |
/api/user/drafts |
GET | 草稿箱 |
/api/user/ai-quota |
GET | AI配额 |
/api/user/recent-played |
GET | 最近游玩 |
数据库
完整表结构见 server/sql/schema_v2.sql,包含:
- 用户体系(users, user_stats, user_follows)
- 故事内容(stories, story_nodes, story_choices)
- AI生成(ai_generations, ai_prompt_templates)
- 用户行为(user_progress, user_endings, user_collections)
- 经济体系(user_ai_quota, coin_transactions)
- 审核运营(content_reviews, reports)
开发进度
- 核心游玩模块
- 故事播放场景
- 结局展示系统
- 章节选择功能
- AI创作中心UI
- 首页UGC布局
- 个人中心创作者功能
- 后端基础框架(Python + FastAPI)
- 故事模型设计(标题、章节、选项、结局)
- 故事列表/详情接口
- 用户游玩记录接口
- AI改写结局接口(模拟)
- AI服务对接(OpenAI/Claude)
- 配额系统
- 审核系统
- 支付系统
- 社交分享
License
MIT