pet_data/docs/CONFIG_GUIDE.md

198 lines
4.7 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.

# 数据驱动配置说明
## ✅ 完全数据驱动
现在所有游戏核心参数都在 **`data/pet-species.js`** 中配置,您只需要修改这个文件就可以调整游戏体验!
---
## 📋 配置文件位置
```
/home/daniel/playone/pet_data/data/pet-species.js
```
---
## ⚙️ 可配置的参数
### 1. 系统更新间隔
```javascript
baseStats: {
// 系統更新間隔(毫秒)
physiologyTickInterval: 60000, // 生理系統60秒 (1分鐘)
eventCheckInterval: 10000, // 事件檢查10秒
```
**快速调整示例**
| 需求 | 修改值 |
|------|--------|
| 生理变化更慢 | `physiologyTickInterval: 120000` (2分钟) |
| 生理变化更快 | `physiologyTickInterval: 30000` (30秒) |
| 事件更频繁 | `eventCheckInterval: 5000` (5秒) |
| 事件更少 | `eventCheckInterval: 20000` (20秒) |
---
### 2. 属性衰减速率
```javascript
// 衰減速率 (每 tick)
hungerDecayPerTick: 0.28, // 飢餓衰減
happinessDecayPerTick: 0.42, // 快樂衰減
```
**计算公式**
```
每 tick 衰减值 = 100 ÷ (目标秒数 ÷ tick间隔)
```
**示例**
- 想让饥饿 **8小时** 耗尽tick间隔 60秒
```javascript
hungerDecayPerTick: 100 ÷ (8*3600 ÷ 60) = 100 ÷ 480 = 0.208
```
---
### 3. 便便系统
```javascript
// 便便系統
poopChancePerTick: 0.067, // 產生機率(每 tick
poopHealthDamage: 3, // 每坨便便的傷害
```
**快速调整示例**
| 需求 | 修改值 |
|------|--------|
| 更少便便 | `poopChancePerTick: 0.033` (约30分钟一次) |
| 更多便便 | `poopChancePerTick: 0.133` (约7.5分钟一次) |
| 便便伤害降低 | `poopHealthDamage: 1.5` |
| 便便伤害提高 | `poopHealthDamage: 6` |
---
### 4. 惩罚系统
```javascript
// 飢餓系統
hungerHealthDamage: 6, // 飢餓為 0 時每 tick 扣血
// 生病系統
sicknessThreshold: 40, // 健康低於此值會生病
// 瀕死系統
dyingTimeSeconds: 7200, // 瀕死多久後死亡(秒)
```
---
### 5. 睡眠时间表
```javascript
sleepSchedule: {
nightSleep: {
startHour: 21, // 開始時間
startMinute: 30,
endHour: 8, // 結束時間
endMinute: 0,
autoSleep: true,
randomWakeChance: 0.3 // 唤醒後隨機再睡機率
},
noonNap: {
startHour: 12,
startMinute: 0,
endHour: 13,
endMinute: 0,
autoSleep: true,
randomWakeChance: 0.3
}
}
```
---
## 🎯 常见调整场景
### 场景 1让游戏更轻松适合忙碌玩家
```javascript
baseStats: {
physiologyTickInterval: 120000, // 2分钟一次 tick
hungerDecayPerTick: 0.14, // 12小时耗尽
happinessDecayPerTick: 0.21, // 8小时耗尽
poopChancePerTick: 0.033, // 30分钟一次
dyingTimeSeconds: 14400, // 瀕死 4 小时
}
```
### 场景 2让游戏更有挑战硬核模式
```javascript
baseStats: {
physiologyTickInterval: 30000, // 30秒一次 tick
hungerDecayPerTick: 0.56, // 3小时耗尽
happinessDecayPerTick: 0.83, // 2小时耗尽
poopChancePerTick: 0.2, // 5分钟一次
dyingTimeSeconds: 1800, // 瀕死 30 分钟
}
```
### 场景 3观赏模式几乎不用照顾
```javascript
baseStats: {
physiologyTickInterval: 300000, // 5分钟一次 tick
hungerDecayPerTick: 0.07, // 24小时耗尽
happinessDecayPerTick: 0.14, // 12小时耗尽
poopChancePerTick: 0.017, // 60分钟一次
dyingTimeSeconds: 28800, // 瀕死 8 小时
}
```
---
## 📝 修改后的操作
1. **保存文件** - 修改 `pet-species.js` 后保存
2. **刷新浏览器** - 简单刷新即可HMR 会自动加载)
3. **重新创建宠物**(重要!)- 在控制台执行:
```javascript
handleDeletePet() // 删除旧宠物
// 刷新页面创建新宠物
```
---
## ⚠️ 注意事项
1. **tick 间隔改变时,记得调整衰减值**
- 例如:从 60 秒改为 120 秒,衰减值应该 ×2
2. **计算公式**
```
每tick衰减值 = 100 ÷ (目标小时数 × 3600 ÷ tick间隔秒数)
```
3. **已有宠物不受影响**
- 配置只对**新创建的宠物**生效
- 已有宠物使用创建时的配置
- 想要应用新配置需要删除重建
---
## 🎮 目前的设置(默认值)
- **生理 Tick**60秒1分钟
- **事件检查**10秒
- **饥饿耗尽**:约 6 小时
- **快乐耗尽**:约 4 小时
- **便便产生**:约 15 分钟一次
- **瀕死缓冲**2 小时
配合睡眠系统(夜间 10.5h + 午休 1h玩家每天只需照顾 **2-3 次** 即可!