Files
rps-sports/开发交接文档.md
游戏策划总监 4b0b9fa848 docs: 创建开发交接文档
📋 开发交接文档.md
- 核心玩法配置(RPS 逻辑/连击/体育系数)
- 关卡配置(55 关详细数据/BOSS 配置)
- 成长系统配置(等级曲线/段位系统)
- 金币系统配置(产出/消耗/经济平衡)
- 广告系统配置(场景/频率/新手保护)
- UI/UX 规范(界面布局/出拳界面)
- 开发优先级清单(P0/P1/P2)

🎯 程序团队可直接使用
- YAML 配置示例
- JavaScript 代码片段
- 完整配置表索引
- 问题反馈渠道

📁 完整策划案文档
- 10 份专业文档
- 1 份整合策划案(v0.6)
- 1 份开发交接文档
- 总计约 120KB
2026-04-05 12:16:43 +08:00

389 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 📋 剪刀石头布跑酷 - 开发交接文档
**版本:** v0.6(纯广告变现版)
**日期:** 2026-04-05
**适用对象:** 程序开发团队
---
## 🎯 一、核心玩法配置
### 1.1 基础数值配置
```yaml
# 核心战斗配置
combat:
base_distance:
win: 10 # 胜利前进距离 (米)
draw: 3 # 平局前进距离 (米)
lose: 0 # 失败前进距离 (米)
combo_bonus:
- threshold: 1
multiplier: 1.0
effect: none
- threshold: 3
multiplier: 1.2
effect: blue_flame
- threshold: 5
multiplier: 1.5
effect: purple_flame
- threshold: 10
multiplier: 2.0
effect: gold_flame
- threshold: 15
multiplier: 2.5
effect: red_flame
- threshold: 20
multiplier: 3.0
effect: rainbow
sports_coefficients:
track: { coefficient: 1.0, difficulty: normal }
swimming: { coefficient: 1.1, difficulty: easy }
basketball: { coefficient: 1.2, difficulty: medium }
football: { coefficient: 1.3, difficulty: medium }
tennis: { coefficient: 1.4, difficulty: hard }
boxing: { coefficient: 1.5, difficulty: hard }
gymnastics: { coefficient: 1.6, difficulty: expert }
```
### 1.2 游戏流程时序
```
单轮流程(总时长 4.5-5.5 秒):
┌─────────────────────────────────────────────────────────┐
│ 准备阶段 (0.5s) → 出拳阶段 (1.0-1.5s) → 判定阶段 (0.3s) │
│ ↓ │
│ 表现阶段 (1.5-2.5s) → 前进阶段 (0.5s) → 循环继续 │
└─────────────────────────────────────────────────────────┘
单局流程10-20 轮,总时长 1-3 分钟):
准备 → 第 1 轮 → 第 2 轮 → ... → 第 N 轮 → 结算
```
---
## 🏃 二、关卡配置
### 2.1 关卡结构
| 章节 | 关卡数 | 编号 | 主题 | 解锁条件 |
|------|--------|------|------|----------|
| 教学关 | 5 关 | 1-5 | 新手引导 | 初始 |
| 短跑赛道 | 10 关 | 6-15 | 直道竞速 | 通关 1-5 |
| 跳高赛道 | 10 关 | 16-25 | 障碍跨越 | 通关 6-15 |
| 跳远赛道 | 10 关 | 26-35 | 沟壑跨越 | 通关 16-25 |
| 投掷赛道 | 8 关 | 36-43 | 铅球/铁饼 | 通关 26-35 |
| 水上赛道 | 7 关 | 44-50 | 跳水 + 游泳 | 通关 36-43 |
| BOSS 关 | 5 关 | 51-55 | 特殊挑战 | 通关 44-50 |
### 2.2 教学关详细配置
| 关卡 | 长度 (m) | RPS 次数 | 教学目标 | 三星条件 | 奖励 |
|------|----------|----------|----------|----------|------|
| 1-1 | 50 | 3 | 移动 + 出拳基础 | 30 秒内完成 | 100 金币 |
| 1-2 | 80 | 5 | 胜利前进机制 | 全胜通过 | 150 金币 |
| 1-3 | 100 | 7 | 平局原地机制 | 平局≤2 次 | 200 金币 |
| 1-4 | 120 | 8 | 失败后退机制 | 失败≤1 次 | 250 金币 |
| 1-5 | 150 | 10 | 综合运用 | 45 秒内完成 | 300 金币 |
### 2.3 BOSS 配置
| BOSS | 关卡 | 血量 | 长度 | RPS 次数 | 阶段数 | 奖励 |
|------|------|------|------|----------|--------|------|
| 速度魔王 | 51 | 3000 | 800m | 50 | 3 | 3000 金币 + 皮肤 |
| 跳跃恶魔 | 52 | 3600 | 900m | 60 | 3 | 4000 金币 + 特效 |
| 投掷巨人 | 53 | 4000 | 1000m | 70 | 4 | 5000 金币 + 道具 |
| 水神挑战 | 54 | 4800 | 1100m | 80 | 4 | 6000 金币 + 称号 |
| 终极冠军 | 55 | 5000 | 1200m | 100 | 5 | 10000 金币 + 奖杯 |
---
## 📊 三、成长系统配置
### 3.1 等级经验曲线
```javascript
// 升级经验公式
function getExpForLevel(level) {
return Math.floor(100 * Math.pow(level, 1.5));
}
// 关键等级解锁
const keyLevels = {
5: { unlock: "跳高项目" },
10: { unlock: "铁饼项目", feature: "排位赛" },
15: { unlock: "跳水项目" },
20: { unlock: "游泳项目" },
25: { unlock: "跨栏项目" },
30: { unlock: "标枪项目", feature: "自定义房间" },
50: { feature: "教练系统" },
100: { feature: "名人堂" }
};
```
### 3.2 段位系统
```javascript
const rankSystem = {
bronze: { range: [1000, 1199], coefficient: 0.8, target: 0.20 },
silver: { range: [1200, 1399], coefficient: 0.9, target: 0.25 },
gold: { range: [1400, 1599], coefficient: 1.0, target: 0.25 },
platinum: { range: [1600, 1799], coefficient: 1.1, target: 0.15 },
diamond: { range: [1800, 1999], coefficient: 1.2, target: 0.10 },
master: { range: [2000, 2199], coefficient: 1.3, target: 0.04 },
king: { range: [2200, 99999], coefficient: 1.5, target: 0.01 }
};
// 积分计算
function calculateRankPoints(win, currentRank, opponentRank) {
const baseWin = 20;
const baseLose = 15;
const coefficient = rankSystem[currentRank].coefficient;
if (win) {
return baseWin * coefficient * (1 + streakBonus);
} else {
return baseLose * coefficient * (1 - streakReduction);
}
}
```
---
## 💰 四、金币系统配置
### 4.1 金币产出
```yaml
gold_income:
match_win: 50
match_lose: 20
daily_quest: 100
weekly_quest: 500
event_reward: 200
daily_checkin: 50
ad_reward:
- type: "double_gold"
amount: 100
- type: "free_gacha"
amount: 50
```
### 4.2 金币消耗
```yaml
gold_consumption:
skin_common: [500, 2000]
skin_rare: [3000, 5000]
skin_legendary: [8000, 12000]
emote: [500, 1500]
avatar_frame: [1000, 3000]
trail_effect: [2000, 5000]
gacha_ticket: 500
gacha_ticket_10x: 4500
```
### 4.3 经济平衡
| 玩家类型 | 月产出 | 月消耗 | 结余 |
|----------|--------|--------|------|
| 免费玩家(不看广告) | 15,000 | 10,000 | +5,000 |
| 活跃玩家(适度广告) | 20,000 | 15,000 | +5,000 |
| 重度玩家(大量广告) | 25,000 | 20,000 | +5,000 |
**设计原则:** 所有物品均可通过金币购买,看广告加速获取
---
## 📈 五、广告系统配置
### 5.1 广告场景配置
```yaml
ad_config:
rewarded_video:
- scene: "double_gold"
trigger: "match_end"
reward: "gold × 2"
limit: 1 per match
eCPM: 30-50
- scene: "revive"
trigger: "match_fail"
reward: "continue_match"
limit: 1 per level
eCPM: 40-60
- scene: "checkin_double"
trigger: "daily_checkin"
reward: "checkin × 2"
limit: 1 per day
eCPM: 30-45
- scene: "free_gacha"
trigger: "gacha_shop"
reward: "1_gacha_ticket"
limit: 5 per day
eCPM: 20-35
interstitial:
- scene: "level_end"
trigger: "level_complete"
frequency: 1 per 3 levels
eCPM: 15-25
- scene: "shop_exit"
trigger: "leave_shop"
frequency: 1 per 5 min
eCPM: 12-20
banner:
- scene: "lobby_bottom"
position: "bottom"
always_show: true
eCPM: 3-5
- scene: "shop_bottom"
position: "bottom"
always_show: true
eCPM: 3-5
```
### 5.2 广告频率控制
```javascript
const adLimits = {
rewarded_video: {
daily: 50,
hourly: 10,
per_match: 1
},
interstitial: {
daily: 10,
min_interval: 180, // seconds
per_match: 1
},
banner: {
always_on: true
}
};
// 新手保护
const newbieProtection = {
levels_1_5: { ads: false },
levels_6_20: { ads: "banner_only" },
levels_21_50: { ads: "rewarded + banner" },
levels_51_plus: { ads: "all" }
};
```
---
## 🎮 六、UI/UX 规范
### 6.1 核心界面布局
```
大厅页:
┌─────────────────────────────────────────┐
│ [头像] 玩家名 Lv.25 💰5680 │
├─────────────────────────────────────────┤
│ │
│ 🏃 快速开始 │
│ │
│ ┌──────┐ ┌──────┐ ┌──────┐ │
│ │ 对战 │ │ 关卡 │ │ 活动 │ │
│ └──────┘ └──────┘ └──────┘ │
│ │
├─────────────────────────────────────────┤
│ 👥好友 🛒商城 📋任务 🏅成就 ⚙️设置 │
├─────────────────────────────────────────┤
│ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ ← 横幅广告
│ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
└─────────────────────────────────────────┘
```
### 6.2 出拳界面
```
┌─────────────────────────────────────────┐
│ 对手信息 │
│ [头像] [名字] [段位] │
├─────────────────────────────────────────┤
│ │
│ 赛道展示区 │
│ │
│ [玩家]═══════════>[对手] │
│ │
├─────────────────────────────────────────┤
│ 倒计时3 2 1 │
│ │
│ ┌──────┐ ┌──────┐ ┌──────┐ │
│ │ 剪刀 │ │ 石头 │ │ 布 │ │
│ │ ✌️ │ │ ✊ │ │ ✋ │ │
│ └──────┘ └──────┘ └──────┘ │
│ │
└─────────────────────────────────────────┘
```
---
## 📝 七、开发优先级清单
### P0 - 核心功能(必须完成)
- [ ] 剪刀石头布核心逻辑
- [ ] 胜负判定与前进
- [ ] 连击系统
- [ ] 教学关 5 关
- [ ] 短跑赛道 5 关6-10
- [ ] 激励视频接入(双倍金币)
- [ ] 插屏广告接入(关卡结束)
- [ ] 金币系统
### P1 - 重要功能(首版本建议完成)
- [ ] 短跑赛道完整11-15
- [ ] 跳高赛道16-25
- [ ] 三星评价系统
- [ ] 段位系统
- [ ] 每日任务系统
- [ ] 签到系统
- [ ] 更多广告场景
### P2 - 后续更新
- [ ] 跳远赛道26-35
- [ ] 投掷赛道36-43
- [ ] 水上赛道44-50
- [ ] BOSS 战51-55
- [ ] 无尽模式
- [ ] 排行榜
- [ ] 1v1 对战
---
## 📊 八、完整配置表
详细配置表请参考以下文档:
| 配置 | 文档位置 |
|------|----------|
| 核心战斗数值 | `docs/05-数值设计.md` 第一章 |
| 关卡详细设计 | `docs/04-关卡设计.md` 第二章 |
| 成长系统 | `docs/05-数值设计.md` 第二章 |
| 金币系统 | `docs/08-广告变现设计.md` 第八章 |
| 广告系统 | `docs/08-广告变现设计.md` 第一 - 五章 |
| UI/UX 规范 | `docs/06-UIUX 设计.md` |
---
## 📞 九、问题反馈
如有任何配置疑问,请查阅:
1. **整合策划案** - `docs/整合策划案_v0.6.md`
2. **飞书多维表格** - https://basegames.feishu.cn/base/Joc4bhUqEa6wJdsmevFc9YVhnH0
3. **专项文档** - 见上表
---
*文档版本v1.0 | 最后更新2026-04-05*