chore: 添加 .gitignore,移除 deploy-output 文件夹
This commit is contained in:
19
.gitignore
vendored
Normal file
19
.gitignore
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
# 部署输出
|
||||
deploy-output/
|
||||
|
||||
# 依赖
|
||||
node_modules/
|
||||
.pnpm-store/
|
||||
|
||||
# 缓存
|
||||
.cache/
|
||||
*.log
|
||||
|
||||
# 临时文件
|
||||
*.tmp
|
||||
*.swp
|
||||
*~
|
||||
|
||||
# 系统文件
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
@@ -1,20 +0,0 @@
|
||||
{
|
||||
"projects": {
|
||||
"hybrid-farm": {
|
||||
"domain": "hybrid-farm.basegamesstudio.com",
|
||||
"description": "混合农场游戏策划案"
|
||||
},
|
||||
"demo-site": {
|
||||
"domain": "demo.basegamesstudio.com",
|
||||
"description": "部署测试页面"
|
||||
}
|
||||
},
|
||||
"git": {
|
||||
"remote": "origin",
|
||||
"branch": "main"
|
||||
},
|
||||
"autoDeploy": {
|
||||
"enabled": true,
|
||||
"commitMessage": "auto: deploy {project-name}"
|
||||
}
|
||||
}
|
||||
@@ -1,131 +0,0 @@
|
||||
# Git 部署凭证配置指南
|
||||
|
||||
## 🔐 问题说明
|
||||
|
||||
部署脚本执行时遇到 Git 认证问题。需要配置凭证才能推送到远程仓库。
|
||||
|
||||
---
|
||||
|
||||
## 方案 A:使用 Git Credential Helper(推荐)
|
||||
|
||||
### 1. 配置凭证存储
|
||||
|
||||
```bash
|
||||
# 启用凭证缓存(记住 1 小时)
|
||||
git config --global credential.helper 'cache --timeout=3600'
|
||||
|
||||
# 或者永久存储(不推荐用于生产环境)
|
||||
git config --global credential.helper store
|
||||
```
|
||||
|
||||
### 2. 执行一次 push 触发凭证输入
|
||||
|
||||
```bash
|
||||
cd /home/admin/.openclaw/workspace
|
||||
git push origin master:main
|
||||
```
|
||||
|
||||
第一次会提示输入用户名和密码(或 access token),之后会自动记住。
|
||||
|
||||
---
|
||||
|
||||
## 方案 B:使用 SSH(更安全)
|
||||
|
||||
### 1. 生成 SSH 密钥(如果没有)
|
||||
|
||||
```bash
|
||||
ssh-keygen -t ed25519 -C "openclaw@iZj6c7hj775d4sotdpj7w2Z"
|
||||
```
|
||||
|
||||
### 2. 添加公钥到 Git 服务器
|
||||
|
||||
```bash
|
||||
# 查看公钥
|
||||
cat ~/.ssh/id_ed25519.pub
|
||||
|
||||
# 复制输出内容,添加到 http://git.joywaygames.cn:3000 的 SSH Keys 设置
|
||||
```
|
||||
|
||||
### 3. 切换远程仓库为 SSH
|
||||
|
||||
```bash
|
||||
cd /home/admin/.openclaw/workspace
|
||||
git remote set-url origin git@git.joywaygames.cn:zsfy/OpenClawWorkspace.git
|
||||
git push origin master:main
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 方案 C:使用 Access Token
|
||||
|
||||
### 1. 在 Git 服务器生成 Token
|
||||
|
||||
访问:`http://git.joywaygames.cn:3000/user/settings/applications`
|
||||
|
||||
创建新的 Personal Access Token,勾选 `repo` 权限。
|
||||
|
||||
### 2. 使用 Token 推送
|
||||
|
||||
```bash
|
||||
# 方式 1:直接在 URL 中使用(不推荐,会暴露在历史记录中)
|
||||
git push http://admin:YOUR_TOKEN@git.joywaygames.cn:3000/zsfy/OpenClawWorkspace.git master:main
|
||||
|
||||
# 方式 2:使用凭证存储(推荐)
|
||||
git credential fill <<EOF
|
||||
protocol=http
|
||||
host=git.joywaygames.cn:3000
|
||||
username=admin
|
||||
password=YOUR_TOKEN
|
||||
EOF
|
||||
|
||||
# 或者手动执行一次 push,输入 token 作为密码
|
||||
git push origin master:main
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ✅ 配置完成后测试
|
||||
|
||||
```bash
|
||||
cd /home/admin/.openclaw/workspace
|
||||
./deploy.sh
|
||||
```
|
||||
|
||||
应该看到:
|
||||
```
|
||||
[INFO] 扫描 deploy-output 目录...
|
||||
[INFO] 部署项目:demo-site
|
||||
[INFO] 部署项目:hybrid-farm
|
||||
[SUCCESS] 已提交:deploy: hybrid-farm - ...
|
||||
[INFO] 推送到远程仓库...
|
||||
[SUCCESS] 部署完成!共部署 2 个项目
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ 快速解决(临时)
|
||||
|
||||
如果只是想快速测试,可以:
|
||||
|
||||
```bash
|
||||
# 临时禁用认证检查(仅用于测试)
|
||||
git config --global credential.helper '!f() { echo "username=admin"; echo "password=YOUR_TOKEN"; }; f'
|
||||
|
||||
# 或者使用 credential-cache
|
||||
git config --global credential.helper cache
|
||||
git push origin master:main # 输入一次凭证
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📝 推荐流程
|
||||
|
||||
1. **生成 SSH 密钥**(方案 B)- 最安全
|
||||
2. **或使用 Access Token**(方案 C)- 适合 HTTP
|
||||
3. **测试部署**:`./deploy.sh`
|
||||
4. **配置服务器端**(参考 `SERVER-SETUP.md`)
|
||||
5. **配置 DNS 解析**
|
||||
|
||||
---
|
||||
|
||||
**需要我帮你配置 SSH 密钥吗?** 告诉我你的选择!
|
||||
@@ -1,64 +0,0 @@
|
||||
# 部署输出目录
|
||||
|
||||
所有需要部署到服务器的文件请放在此目录下。
|
||||
|
||||
## 📁 目录结构
|
||||
|
||||
```
|
||||
deploy-output/
|
||||
├── project-name/ # 项目目录(以项目名命名)
|
||||
│ ├── index.html
|
||||
│ ├── css/
|
||||
│ ├── js/
|
||||
│ └── assets/
|
||||
├── another-project/ # 另一个项目
|
||||
│ └── ...
|
||||
├── .deploy-config.json # 部署配置(域名映射等)
|
||||
└── SERVER-SETUP.md # 服务器配置指南
|
||||
```
|
||||
|
||||
## 🚀 使用方法
|
||||
|
||||
### 方式 1:自动部署所有项目
|
||||
|
||||
```bash
|
||||
cd /home/admin/.openclaw/workspace
|
||||
./deploy.sh
|
||||
```
|
||||
|
||||
### 方式 2:部署单个项目
|
||||
|
||||
```bash
|
||||
./deploy.sh project-name
|
||||
```
|
||||
|
||||
### 方式 3:Agent 自动生成
|
||||
|
||||
Agent 只需将生成的文件输出到 `deploy-output/{项目名}/` 目录即可。
|
||||
|
||||
## 📋 配置域名
|
||||
|
||||
编辑 `.deploy-config.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"projects": {
|
||||
"project-name": {
|
||||
"domain": "your-domain.com",
|
||||
"description": "项目描述"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## ⚠️ 注意事项
|
||||
|
||||
1. **不要修改** `.deploy-config.json` 和 `SERVER-SETUP.md` 以外的根目录文件
|
||||
2. 项目目录名建议使用 **小写字母 + 连字符**(如 `my-project`)
|
||||
3. 每次部署会自动 commit 并 push 到远程仓库
|
||||
4. 服务器端配置完成后,部署会自动生效
|
||||
|
||||
## 🔗 远程仓库
|
||||
|
||||
- URL: `http://git.joywaygames.cn:3000/zsfy/OpenClawWorkspace.git`
|
||||
- 分支:`main`
|
||||
@@ -1,177 +0,0 @@
|
||||
# 服务器端部署配置指南
|
||||
|
||||
## 📋 前提条件
|
||||
|
||||
- 服务器已安装 Git
|
||||
- 服务器已安装 Nginx
|
||||
- 你有服务器的 SSH 访问权限
|
||||
|
||||
---
|
||||
|
||||
## 步骤 1:创建 Bare 仓库
|
||||
|
||||
```bash
|
||||
# SSH 登录服务器
|
||||
ssh admin@your-server-ip
|
||||
|
||||
# 创建 bare 仓库目录
|
||||
sudo mkdir -p /var/repos/OpenClawWorkspace.git
|
||||
cd /var/repos/OpenClawWorkspace.git
|
||||
|
||||
# 初始化 bare 仓库
|
||||
sudo git init --bare
|
||||
|
||||
# 设置权限(确保你的 SSH 用户有写入权限)
|
||||
sudo chown -R admin:admin /var/repos/OpenClawWorkspace.git
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 步骤 2:创建网站目录
|
||||
|
||||
```bash
|
||||
# 创建网站根目录
|
||||
sudo mkdir -p /var/www/openclaw
|
||||
|
||||
# 设置权限
|
||||
sudo chown -R admin:admin /var/www/openclaw
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 步骤 3:配置 Post-Receive Hook
|
||||
|
||||
```bash
|
||||
# 创建 hook 文件
|
||||
sudo nano /var/repos/OpenClawWorkspace.git/hooks/post-receive
|
||||
```
|
||||
|
||||
粘贴以下内容:
|
||||
|
||||
```bash
|
||||
#!/bin/bash
|
||||
# post-receive hook - 自动部署到网站目录
|
||||
|
||||
GIT_DIR="/var/repos/OpenClawWorkspace.git"
|
||||
WORK_TREE="/var/www/openclaw"
|
||||
|
||||
# Checkout 所有文件到网站目录
|
||||
git --git-dir=$GIT_DIR --work-tree=$WORK_TREE checkout -f
|
||||
|
||||
# 确保权限正确
|
||||
chown -R admin:admin $WORK_TREE
|
||||
|
||||
echo "✅ 部署完成!文件已同步到 $WORK_TREE"
|
||||
```
|
||||
|
||||
保存后赋予执行权限:
|
||||
|
||||
```bash
|
||||
sudo chmod +x /var/repos/OpenClawWorkspace.git/hooks/post-receive
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 步骤 4:配置 Nginx
|
||||
|
||||
```bash
|
||||
# 创建 Nginx 配置
|
||||
sudo nano /etc/nginx/sites-available/openclaw
|
||||
```
|
||||
|
||||
配置内容:
|
||||
|
||||
```nginx
|
||||
server {
|
||||
listen 80;
|
||||
server_name your-domain.com; # 替换为你的域名
|
||||
|
||||
root /var/www/openclaw;
|
||||
index index.html index.htm;
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ =404;
|
||||
}
|
||||
|
||||
# 可选:启用 gzip 压缩
|
||||
gzip on;
|
||||
gzip_types text/plain text/css application/json application/javascript text/xml application/xml;
|
||||
}
|
||||
```
|
||||
|
||||
启用站点:
|
||||
|
||||
```bash
|
||||
sudo ln -s /etc/nginx/sites-available/openclaw /etc/nginx/sites-enabled/
|
||||
sudo nginx -t # 测试配置
|
||||
sudo systemctl reload nginx
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 步骤 5:测试部署
|
||||
|
||||
在本地执行:
|
||||
|
||||
```bash
|
||||
cd /home/admin/.openclaw/workspace
|
||||
|
||||
# 创建测试文件
|
||||
mkdir -p deploy-output/test-project
|
||||
echo "<h1>Hello from OpenClaw!</h1>" > deploy-output/test-project/index.html
|
||||
|
||||
# 执行部署
|
||||
./deploy.sh test-project
|
||||
```
|
||||
|
||||
然后在浏览器访问:`http://your-domain.com/test-project/index.html`
|
||||
|
||||
---
|
||||
|
||||
## 🔒 HTTPS 配置(可选)
|
||||
|
||||
使用 Let's Encrypt 免费证书:
|
||||
|
||||
```bash
|
||||
# 安装 certbot
|
||||
sudo apt install certbot python3-certbot-nginx # Ubuntu/Debian
|
||||
|
||||
# 获取证书
|
||||
sudo certbot --nginx -d your-domain.com
|
||||
|
||||
# 自动续期(已自动配置 cron)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📝 常见问题
|
||||
|
||||
### Q: push 被拒绝?
|
||||
```bash
|
||||
# 检查 bare 仓库权限
|
||||
sudo chown -R admin:admin /var/repos/OpenClawWorkspace.git
|
||||
```
|
||||
|
||||
### Q: 部署后文件没更新?
|
||||
```bash
|
||||
# 检查 hook 是否可执行
|
||||
ls -la /var/repos/OpenClawWorkspace.git/hooks/post-receive
|
||||
|
||||
# 手动测试 hook
|
||||
cd /var/repos/OpenClawWorkspace.git
|
||||
./hooks/post-receive
|
||||
```
|
||||
|
||||
### Q: Nginx 403 Forbidden?
|
||||
```bash
|
||||
# 检查目录权限
|
||||
sudo chown -R www-data:www-data /var/www/openclaw
|
||||
# 或者
|
||||
sudo chmod -R 755 /var/www/openclaw
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎯 完成!
|
||||
|
||||
现在任何 Agent 生成的文件放到 `deploy-output/项目名/` 目录后,执行 `./deploy.sh` 即可自动部署到服务器!
|
||||
@@ -1,28 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>OpenClaw 部署测试</title>
|
||||
<style>
|
||||
body { font-family: Arial, sans-serif; max-width: 800px; margin: 50px auto; padding: 20px; }
|
||||
h1 { color: #333; }
|
||||
.status { background: #e7f3ff; padding: 15px; border-radius: 8px; margin: 20px 0; }
|
||||
.success { color: #28a745; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>🎉 OpenClaw 部署成功!</h1>
|
||||
<div class="status">
|
||||
<p class="success">✅ Git 工作流部署系统已就绪</p>
|
||||
<p>这是通过 Agent 自动生成的测试页面</p>
|
||||
</div>
|
||||
<h2>下一步</h2>
|
||||
<ol>
|
||||
<li>按照 <code>SERVER-SETUP.md</code> 配置服务器</li>
|
||||
<li>配置域名 DNS 解析</li>
|
||||
<li>运行 <code>./deploy.sh</code> 部署</li>
|
||||
<li>访问你的域名查看效果</li>
|
||||
</ol>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,106 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# OpenClaw 部署 - 服务器端一键配置脚本
|
||||
# 使用方法:SSH 登录服务器后执行 bash deploy-server-setup.sh
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
echo "🚀 OpenClaw 服务器端配置开始..."
|
||||
echo ""
|
||||
|
||||
# 颜色输出
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
RED='\033[0;31m'
|
||||
NC='\033[0m'
|
||||
|
||||
log_info() { echo -e "${GREEN}[INFO]${NC} $1"; }
|
||||
log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; }
|
||||
log_error() { echo -e "${RED}[ERROR]${NC} $1"; }
|
||||
|
||||
# 检查是否 root 或 sudo
|
||||
if [ "$EUID" -ne 0 ]; then
|
||||
log_error "请使用 sudo 执行:sudo bash $0"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 1. 创建 Bare 仓库
|
||||
log_info "创建 Git Bare 仓库..."
|
||||
mkdir -p /var/repos/OpenClawWorkspace.git
|
||||
cd /var/repos/OpenClawWorkspace.git
|
||||
git init --bare
|
||||
chown -R admin:admin /var/repos/OpenClawWorkspace.git
|
||||
log_info "✅ Bare 仓库创建完成:/var/repos/OpenClawWorkspace.git"
|
||||
|
||||
# 2. 创建网站目录
|
||||
log_info "创建网站目录..."
|
||||
mkdir -p /var/www/openclaw
|
||||
chown -R admin:admin /var/www/openclaw
|
||||
log_info "✅ 网站目录创建完成:/var/www/openclaw"
|
||||
|
||||
# 3. 配置 Post-Receive Hook
|
||||
log_info "配置自动部署 Hook..."
|
||||
cat > /var/repos/OpenClawWorkspace.git/hooks/post-receive << 'EOF'
|
||||
#!/bin/bash
|
||||
GIT_DIR="/var/repos/OpenClawWorkspace.git"
|
||||
WORK_TREE="/var/www/openclaw"
|
||||
git --git-dir=$GIT_DIR --work-tree=$WORK_TREE checkout -f
|
||||
chown -R admin:admin $WORK_TREE
|
||||
echo "✅ 部署完成!文件已同步到 $WORK_TREE"
|
||||
EOF
|
||||
chmod +x /var/repos/OpenClawWorkspace.git/hooks/post-receive
|
||||
log_info "✅ Hook 配置完成"
|
||||
|
||||
# 4. 配置 Nginx
|
||||
log_info "配置 Nginx..."
|
||||
cat > /etc/nginx/sites-available/openclaw << 'EOF'
|
||||
server {
|
||||
listen 80;
|
||||
server_name hybrid-farm.basegamesstudio.com demo.basegamesstudio.com;
|
||||
|
||||
root /var/www/openclaw;
|
||||
index index.html index.htm;
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ =404;
|
||||
autoindex on;
|
||||
}
|
||||
|
||||
# 日志
|
||||
access_log /var/log/nginx/openclaw-access.log;
|
||||
error_log /var/log/nginx/openclaw-error.log;
|
||||
}
|
||||
EOF
|
||||
|
||||
# 启用站点
|
||||
ln -sf /etc/nginx/sites-available/openclaw /etc/nginx/sites-enabled/
|
||||
|
||||
# 测试配置
|
||||
nginx -t
|
||||
|
||||
# 重启 Nginx
|
||||
systemctl reload nginx
|
||||
|
||||
log_info "✅ Nginx 配置完成"
|
||||
|
||||
# 5. 输出总结
|
||||
echo ""
|
||||
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||
echo "✅ 服务器端配置完成!"
|
||||
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||
echo ""
|
||||
echo "📋 下一步操作:"
|
||||
echo ""
|
||||
echo "1. 在域名服务商添加 DNS 解析:"
|
||||
echo " A 记录:hybrid-farm.basegamesstudio.com → $(hostname -I | awk '{print $1}')"
|
||||
echo " A 记录:demo.basegamesstudio.com → $(hostname -I | awk '{print $1}')"
|
||||
echo ""
|
||||
echo "2. 等待 DNS 生效(通常几分钟内)"
|
||||
echo ""
|
||||
echo "3. 访问测试:"
|
||||
echo " http://hybrid-farm.basegamesstudio.com"
|
||||
echo " http://demo.basegamesstudio.com"
|
||||
echo ""
|
||||
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||
echo ""
|
||||
@@ -1,257 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>文档预览 - Hybrid Farm</title>
|
||||
<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
|
||||
<style>
|
||||
* { margin: 0; padding: 0; box-sizing: border-box; }
|
||||
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif; line-height: 1.7; color: #24292e; background: #f6f8fa; }
|
||||
.container { max-width: 1440px; margin: 0 auto; padding: 0; }
|
||||
header { background: #24292e; color: white; padding: 16px 32px; display: flex; justify-content: space-between; align-items: center; position: sticky; top: 0; z-index: 100; box-shadow: 0 1px 3px rgba(0,0,0,0.12); }
|
||||
header h1 { font-size: 1.4em; font-weight: 600; }
|
||||
.header-actions { display: flex; gap: 12px; align-items: center; }
|
||||
.btn { padding: 8px 16px; border-radius: 6px; text-decoration: none; font-size: 14px; font-weight: 500; transition: all 0.2s; border: 1px solid rgba(255,255,255,0.3); cursor: pointer; }
|
||||
.btn-primary { background: #2ea44f; color: white; border-color: rgba(255,255,255,0.3); }
|
||||
.btn-primary:hover { background: #2c974b; }
|
||||
.btn-secondary { background: rgba(255,255,255,0.1); color: white; }
|
||||
.btn-secondary:hover { background: rgba(255,255,255,0.2); }
|
||||
.main-wrapper { display: flex; min-height: calc(100vh - 60px); }
|
||||
.sidebar { width: 280px; background: white; border-right: 1px solid #e1e4e8; padding: 24px 0; position: sticky; top: 60px; height: calc(100vh - 60px); overflow-y: auto; }
|
||||
.sidebar-title { padding: 0 24px 16px; font-size: 14px; font-weight: 600; color: #586069; text-transform: uppercase; letter-spacing: 0.5px; border-bottom: 1px solid #e1e4e8; margin-bottom: 8px; }
|
||||
.doc-list { list-style: none; }
|
||||
.doc-list li { margin: 0; }
|
||||
.doc-item { display: flex; align-items: center; padding: 8px 24px; gap: 8px; cursor: pointer; transition: background 0.15s; }
|
||||
.doc-item:hover { background: #f6f8fa; }
|
||||
.doc-item.active { background: #e8f0fe; border-left: 3px solid #0366d6; padding-left: 21px; }
|
||||
.doc-link { flex: 1; text-decoration: none; color: #0366d6; font-size: 14px; font-weight: 500; }
|
||||
.doc-item.active .doc-link { color: #0366d6; font-weight: 600; }
|
||||
.doc-download { padding: 4px 8px; background: #f6f8fa; color: #586069; text-decoration: none; border-radius: 4px; font-size: 13px; transition: all 0.15s; border: 1px solid #e1e4e8; }
|
||||
.doc-download:hover { background: #0366d6; color: white; border-color: #0366d6; }
|
||||
.content-wrapper { flex: 1; background: white; padding: 40px 60px; max-width: 100%; }
|
||||
.doc-header { padding-bottom: 20px; margin-bottom: 30px; border-bottom: 1px solid #e1e4e8; display: flex; justify-content: space-between; align-items: center; }
|
||||
.doc-header h2 { font-size: 28px; font-weight: 600; color: #24292e; }
|
||||
.markdown-body { font-size: 16px; line-height: 1.7; color: #24292e; scroll-margin-top: 80px; }
|
||||
.markdown-body h1 { font-size: 32px; font-weight: 600; color: #24292e; margin: 40px 0 24px; padding-bottom: 0.3em; border-bottom: 1px solid #eaecef; }
|
||||
.markdown-body h2 { font-size: 24px; font-weight: 600; color: #24292e; margin: 32px 0 20px; padding-bottom: 0.3em; border-bottom: 1px solid #eaecef; }
|
||||
.markdown-body h3 { font-size: 20px; font-weight: 600; color: #24292e; margin: 24px 0 16px; }
|
||||
.markdown-body h4 { font-size: 16px; font-weight: 600; color: #24292e; margin: 20px 0 12px; }
|
||||
.markdown-body p { margin: 16px 0; line-height: 1.7; }
|
||||
.markdown-body ul, .markdown-body ol { padding-left: 2em; margin: 16px 0; }
|
||||
.markdown-body li { margin: 6px 0; list-style-type: disc; }
|
||||
.markdown-body ol li { list-style-type: decimal; }
|
||||
.markdown-body li + li { margin-top: 4px; }
|
||||
.markdown-body code { background: rgba(27,31,35,0.05); padding: 0.2em 0.4em; border-radius: 3px; font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace; font-size: 85%; color: #24292e; }
|
||||
.markdown-body pre { background: #f6f8fa; padding: 16px; border-radius: 6px; overflow: auto; margin: 16px 0; border: 1px solid #e1e4e8; }
|
||||
.markdown-body pre code { background: transparent; padding: 0; font-size: 85%; line-height: 1.45; }
|
||||
.markdown-body blockquote { border-left: 4px solid #dfe2e5; padding: 0 16px; margin: 16px 0; color: #6a737d; }
|
||||
.markdown-body blockquote p { margin: 16px 0; }
|
||||
.markdown-body table { border-collapse: collapse; margin: 16px 0; width: 100%; display: block; overflow: auto; }
|
||||
.markdown-body table th, .markdown-body table td { padding: 10px 14px; border: 1px solid #dfe2e5; }
|
||||
.markdown-body table th { background: #f6f8fa; font-weight: 600; }
|
||||
.markdown-body table tr:nth-child(2n) { background: #f6f8fa; }
|
||||
.markdown-body img { max-width: 100%; height: auto; margin: 16px 0; border: 1px solid #e1e4e8; border-radius: 6px; }
|
||||
.markdown-body a { color: #0366d6; text-decoration: none; }
|
||||
.markdown-body a:hover { text-decoration: underline; }
|
||||
.markdown-body strong { font-weight: 600; color: #24292e; }
|
||||
.loading { text-align: center; padding: 60px; color: #586069; font-size: 16px; }
|
||||
.error { background: #ffeef0; color: #cb2431; padding: 16px; border-radius: 6px; border: 1px solid #f97583; margin: 16px 0; }
|
||||
@media (max-width: 1024px) { .sidebar { display: none; } .content-wrapper { padding: 30px 24px; } }
|
||||
@media (max-width: 768px) { header { padding: 12px 16px; } header h1 { font-size: 1.2em; } .content-wrapper { padding: 20px 16px; } .markdown-body h1 { font-size: 26px; } .markdown-body h2 { font-size: 22px; } }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<header>
|
||||
<h1>📄 Hybrid Farm 文档预览</h1>
|
||||
<div class="header-actions">
|
||||
<a href="index.html" class="btn btn-secondary">← 返回首页</a>
|
||||
<a href="#" class="btn btn-primary" id="headerDownloadBtn" download>📥 下载原文档</a>
|
||||
</div>
|
||||
</header>
|
||||
<div class="main-wrapper">
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">📚 文档列表</div>
|
||||
<ul class="doc-list" id="docList"></ul>
|
||||
</aside>
|
||||
<main class="content-wrapper">
|
||||
<div class="doc-header" id="docHeader" style="display:none;">
|
||||
<h2 id="docTitle">文档标题</h2>
|
||||
<a href="#" class="btn btn-primary" id="inlineDownloadBtn" download>📥 下载</a>
|
||||
</div>
|
||||
<div class="markdown-body" id="content"><div class="loading">📖 加载中...</div></div>
|
||||
</main>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
const documents = [
|
||||
{id:'00',name:'📋 项目简报',file:'00-project-brief.md'},
|
||||
{id:'01',name:'🎮 机制设计',file:'01-mechanics-task.md'},
|
||||
{id:'02',name:'⚖️ 数值平衡',file:'02-balance-task.md'},
|
||||
{id:'03',name:'📖 故事设计',file:'03-story-task.md'},
|
||||
{id:'04',name:'🗺️ 关卡设计',file:'04-level-task.md'},
|
||||
{id:'05',name:'📈 市场分析',file:'05-analysis-task.md'},
|
||||
{id:'06',name:'📝 文档规范',file:'06-document-task.md'},
|
||||
{id:'07',name:'🤝 协作流程',file:'07-collaboration-plan.md'},
|
||||
{id:'08',name:'📊 进度追踪',file:'08-progress-tracker.md'},
|
||||
{id:'10',name:'📊 分析报告',file:'10-analysis-report.md'},
|
||||
{id:'11',name:'⚙️ 详细机制',file:'11-mechanics-design.md'}
|
||||
];
|
||||
|
||||
// 生成 slug(用于标题 ID)
|
||||
function generateSlug(text) {
|
||||
return text.toString()
|
||||
.toLowerCase()
|
||||
.replace(/[^\w\s\u4e00-\u9fff-]/g, '')
|
||||
.replace(/\s+/g, '-')
|
||||
.replace(/-+/g, '-')
|
||||
.trim();
|
||||
}
|
||||
|
||||
// 为 HTML 中的标题添加 ID
|
||||
function addHeadingIds(html) {
|
||||
return html.replace(/<h([1-6])>(.*?)<\/h\1>/g, function(match, level, content) {
|
||||
const slug = generateSlug(content);
|
||||
return '<h' + level + ' id="' + slug + '">' + content + '</h' + level + '>';
|
||||
});
|
||||
}
|
||||
|
||||
function renderDocList() {
|
||||
const docList = document.getElementById('docList');
|
||||
docList.innerHTML = '';
|
||||
documents.forEach(function(doc) {
|
||||
const li = document.createElement('li');
|
||||
const docItem = document.createElement('div');
|
||||
docItem.className = 'doc-item';
|
||||
docItem.setAttribute('data-file', doc.file);
|
||||
const a = document.createElement('a');
|
||||
a.href = '#'; a.textContent = doc.name; a.className = 'doc-link';
|
||||
a.addEventListener('click', function(e) { e.preventDefault(); loadDoc(doc.file, docItem); });
|
||||
const downloadLink = document.createElement('a');
|
||||
downloadLink.href = 'docs/' + doc.file; downloadLink.className = 'doc-download'; downloadLink.textContent = '📥';
|
||||
downloadLink.title = '下载 ' + doc.name; downloadLink.setAttribute('download', '');
|
||||
docItem.appendChild(a); docItem.appendChild(downloadLink); li.appendChild(docItem); docList.appendChild(li);
|
||||
});
|
||||
}
|
||||
|
||||
function updateDownloadButtons(filename) {
|
||||
const headerBtn = document.getElementById('headerDownloadBtn');
|
||||
const inlineBtn = document.getElementById('inlineDownloadBtn');
|
||||
if (filename) {
|
||||
headerBtn.href = 'docs/' + filename; inlineBtn.href = 'docs/' + filename;
|
||||
headerBtn.style.display = 'inline-block'; inlineBtn.style.display = 'inline-block';
|
||||
} else {
|
||||
headerBtn.style.display = 'none'; inlineBtn.style.display = 'none';
|
||||
}
|
||||
}
|
||||
|
||||
function loadDoc(filename, element) {
|
||||
const contentDiv = document.getElementById('content');
|
||||
const docHeader = document.getElementById('docHeader');
|
||||
const docTitle = document.getElementById('docTitle');
|
||||
const allItems = document.querySelectorAll('.doc-item');
|
||||
allItems.forEach(function(item) { item.classList.remove('active'); });
|
||||
if (element) element.classList.add('active');
|
||||
contentDiv.innerHTML = '<div class="loading">📖 加载中...</div>';
|
||||
docHeader.style.display = 'none';
|
||||
fetch('docs/' + filename)
|
||||
.then(function(response) { if (!response.ok) throw new Error('HTTP ' + response.status); return response.text(); })
|
||||
.then(function(markdown) {
|
||||
let html;
|
||||
if (typeof marked !== 'undefined' && typeof marked.parse === 'function') {
|
||||
html = marked.parse(markdown);
|
||||
} else {
|
||||
html = simpleMarkdownToHtml(markdown);
|
||||
}
|
||||
// 为标题添加 ID
|
||||
html = addHeadingIds(html);
|
||||
contentDiv.innerHTML = html;
|
||||
var docName = '文档预览';
|
||||
for (var i = 0; i < documents.length; i++) {
|
||||
if (documents[i].file === filename) { docName = documents[i].name; break; }
|
||||
}
|
||||
docTitle.textContent = docName;
|
||||
docHeader.style.display = 'flex';
|
||||
document.title = docName + ' - Hybrid Farm';
|
||||
updateDownloadButtons(filename);
|
||||
handleAnchorLinks();
|
||||
if (window.location.hash) {
|
||||
setTimeout(function() {
|
||||
const target = document.querySelector(window.location.hash);
|
||||
if (target) target.scrollIntoView({ behavior: 'smooth' });
|
||||
}, 100);
|
||||
}
|
||||
var newUrl = window.location.protocol + '//' + window.location.host + window.location.pathname + '?doc=' + filename;
|
||||
window.history.pushState({}, '', newUrl);
|
||||
})
|
||||
.catch(function(error) {
|
||||
contentDiv.innerHTML = '<div class="error"><h3>❌ 加载失败</h3><p>' + error.message + '</p><p style="margin-top:10px"><a href="docs/' + filename + '" download>📥 下载原文档</a></p></div>';
|
||||
updateDownloadButtons(filename);
|
||||
});
|
||||
}
|
||||
|
||||
function handleAnchorLinks() {
|
||||
const links = document.querySelectorAll('.markdown-body a[href^="#"]');
|
||||
links.forEach(function(link) {
|
||||
link.addEventListener('click', function(e) {
|
||||
e.preventDefault();
|
||||
const targetId = this.getAttribute('href').substring(1);
|
||||
const target = document.getElementById(targetId);
|
||||
if (target) {
|
||||
target.scrollIntoView({ behavior: 'smooth', block: 'start' });
|
||||
const newUrl = window.location.protocol + '//' + window.location.host + window.location.pathname + window.location.search + '#' + targetId;
|
||||
window.history.pushState({}, '', newUrl);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function simpleMarkdownToHtml(md) {
|
||||
let html = md;
|
||||
html = html.replace(/^# (.*$)/gim, function(m, p1) { return '<h1 id="' + generateSlug(p1) + '">' + p1 + '</h1>'; });
|
||||
html = html.replace(/^## (.*$)/gim, function(m, p1) { return '<h2 id="' + generateSlug(p1) + '">' + p1 + '</h2>'; });
|
||||
html = html.replace(/^### (.*$)/gim, function(m, p1) { return '<h3 id="' + generateSlug(p1) + '">' + p1 + '</h3>'; });
|
||||
html = html.replace(/\*\*(.*)\*\*/gim, '<strong>$1</strong>');
|
||||
html = html.replace(/\*(.*)\*/gim, '<em>$1</em>');
|
||||
html = html.replace(/`([^`]+)`/gim, '<code>$1</code>');
|
||||
html = html.replace(/^\> (.*$)/gim, '<blockquote>$1</blockquote>');
|
||||
html = html.replace(/\[(.*?)\]\((.*?)\)/gim, '<a href="$2">$1</a>');
|
||||
const lines = html.split('\n');
|
||||
const result = [];
|
||||
let inList = false;
|
||||
for (let i = 0; i < lines.length; i++) {
|
||||
const line = lines[i];
|
||||
if (line.match(/^- /) || line.match(/^\d+\. /)) {
|
||||
if (!inList) { result.push('<ul>'); inList = true; }
|
||||
result.push(line.replace(/^- /, '<li>').replace(/^\d+\. /, '<li>') + '</li>');
|
||||
} else {
|
||||
if (inList) { result.push('</ul>'); inList = false; }
|
||||
result.push(line);
|
||||
}
|
||||
}
|
||||
if (inList) result.push('</ul>');
|
||||
return result.join('\n');
|
||||
}
|
||||
|
||||
function loadFromURL() {
|
||||
var params = window.location.search.substring(1).split('&');
|
||||
var doc = null;
|
||||
for (var i = 0; i < params.length; i++) {
|
||||
var parts = params[i].split('=');
|
||||
if (parts[0] === 'doc') { doc = decodeURIComponent(parts[1]); break; }
|
||||
}
|
||||
if (doc) {
|
||||
var element = document.querySelector('.doc-item[data-file="' + doc + '"]');
|
||||
if (element) { loadDoc(doc, element); return; }
|
||||
}
|
||||
if (documents.length > 0) {
|
||||
var firstElement = document.querySelector('.doc-item');
|
||||
if (firstElement) loadDoc(documents[0].file, firstElement);
|
||||
} else { updateDownloadButtons(null); }
|
||||
}
|
||||
|
||||
renderDocList(); loadFromURL();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,56 +0,0 @@
|
||||
# 🌱 《杂交农场》项目简报
|
||||
|
||||
## 项目概述
|
||||
|
||||
**游戏名称**:杂交农场 (Hybrid Farm)
|
||||
|
||||
**游戏类型**:模拟经营 + 遗传育种 + 联机社交
|
||||
|
||||
**美术风格**:星露谷式像素风
|
||||
|
||||
**目标平台**:PC (Steam)
|
||||
|
||||
**核心卖点**:
|
||||
1. 严谨但有趣的植物遗传杂交系统
|
||||
2. 双轨难度(科普向 + 硬核向)
|
||||
3. 袁隆平剧情科普线
|
||||
4. 联机交易与稀有品种展示
|
||||
5. 完整图鉴与培育历史记录
|
||||
|
||||
## 目标受众
|
||||
|
||||
| 受众类型 | 特征 | 需求 |
|
||||
|---------|------|------|
|
||||
| 休闲玩家 | 对遗传学不了解 | 简单易懂、有引导、有成就感 |
|
||||
| 学生群体 | 学习遗传学中 | 复习工具、实验模拟、可导出报告 |
|
||||
| 科普爱好者 | 对科学感兴趣 | 了解袁隆平贡献、遗传学知识 |
|
||||
| 硬核玩家 | 有遗传学基础 | 深度系统、真实规律、挑战性 |
|
||||
|
||||
## 植物分类
|
||||
|
||||
1. **花卉类** (60 种) - 观赏价值
|
||||
2. **蔬菜类** (40 种) - 产量价值
|
||||
3. **果树类** (25 种) - 长期投资
|
||||
4. **药用植物类** (20 种) - 高价值
|
||||
|
||||
## 核心系统
|
||||
|
||||
- 遗传系统(孟德尔 + 复杂遗传)
|
||||
- 环境模拟系统
|
||||
- 突变诱导系统
|
||||
- 图鉴系统
|
||||
- 联机交易系统
|
||||
- 剧情任务系统
|
||||
|
||||
## 开发阶段
|
||||
|
||||
1. MVP - 核心遗传 + 基础种植
|
||||
2. v1.0 - 完整植物 + 双难度 + 剧情
|
||||
3. v2.0 - 联机功能
|
||||
4. DLC - 扩展内容
|
||||
|
||||
---
|
||||
|
||||
**创建时间**:2026-03-10
|
||||
**最后更新**:2026-03-10
|
||||
**版本**:v0.1
|
||||
@@ -1,83 +0,0 @@
|
||||
# 🎲 任务:核心玩法机制设计
|
||||
|
||||
## 项目背景
|
||||
参考 `00-project-brief.md`
|
||||
|
||||
## 任务描述
|
||||
|
||||
设计《杂交农场》的**核心玩法机制**,包括:
|
||||
|
||||
### 1. 核心循环设计
|
||||
- 玩家每天做什么?
|
||||
- 短期/中期/长期目标是什么?
|
||||
- 行动→反馈→奖励的闭环如何形成?
|
||||
|
||||
### 2. 遗传系统机制
|
||||
- 杂交操作流程(玩家交互)
|
||||
- 基因传递规则(简化但严谨)
|
||||
- 性状表达方式
|
||||
- 突变触发机制
|
||||
|
||||
### 3. 环境控制系统
|
||||
- 玩家可调控哪些环境因子?
|
||||
- 环境如何影响表型?
|
||||
- 环境如何诱导突变?
|
||||
|
||||
### 4. 图鉴系统机制
|
||||
- 如何记录培育历史?
|
||||
- 如何展示基因型/表型?
|
||||
- 亲本关系如何追溯?
|
||||
|
||||
### 5. 联机交互机制
|
||||
- 玩家间如何交易?
|
||||
- 如何展示稀有品种?
|
||||
- 合作育种如何实现?
|
||||
|
||||
## 输出要求
|
||||
|
||||
请使用**游戏机制设计师**的专业模板输出:
|
||||
|
||||
```markdown
|
||||
## [系统名称]
|
||||
|
||||
### 核心循环
|
||||
[行动] → [反馈] → [奖励] → [新目标]
|
||||
|
||||
### 系统架构
|
||||
- 子系统 1
|
||||
- 子系统 2
|
||||
- ...
|
||||
|
||||
### 玩法规则
|
||||
1. 规则 1
|
||||
2. 规则 2
|
||||
3. ...
|
||||
|
||||
### 交互流程
|
||||
[流程图描述]
|
||||
|
||||
### 变体设计
|
||||
- 新手模式
|
||||
- 专家模式
|
||||
```
|
||||
|
||||
## 依赖关系
|
||||
|
||||
- ✅ 已完成:项目简报
|
||||
- ⏳ 待完成:数值平衡(需要机制框架)
|
||||
- ⏳ 待完成:关卡设计(需要玩法机制)
|
||||
- ⏳ 待完成:剧情设计(需要机制配合)
|
||||
|
||||
## 验收标准
|
||||
|
||||
- [ ] 核心循环清晰易懂
|
||||
- [ ] 遗传系统既严谨又有趣
|
||||
- [ ] 双难度机制有明确区分
|
||||
- [ ] 交互流程可落地实现
|
||||
- [ ] 与数值/剧情/关卡系统兼容
|
||||
|
||||
---
|
||||
|
||||
**分配给**:🎲 游戏机制设计师
|
||||
**优先级**:P0 (最高)
|
||||
**预计耗时**:2-3 小时
|
||||
@@ -1,78 +0,0 @@
|
||||
# 📐 任务:数值平衡设计
|
||||
|
||||
## 项目背景
|
||||
参考 `00-project-brief.md`
|
||||
依赖:`03-mechanics-design.md` (机制设计完成后)
|
||||
|
||||
## 任务描述
|
||||
|
||||
设计《杂交农场》的**数值体系**,包括:
|
||||
|
||||
### 1. 遗传概率数值
|
||||
- 各基因型杂交子代概率表
|
||||
- 突变率(自然/人工诱导)
|
||||
- 性状表达概率(不完全显性等)
|
||||
|
||||
### 2. 植物生长数值
|
||||
- 生长周期(天)
|
||||
- 不同环境因子影响系数
|
||||
- 产量公式
|
||||
|
||||
### 3. 经济系统数值
|
||||
- 各植物基础售价
|
||||
- 稀有度加成系数
|
||||
- 订单奖励数值
|
||||
- 升级/解锁成本
|
||||
|
||||
### 4. 成长曲线
|
||||
- 玩家等级经验曲线
|
||||
- 设施升级成本曲线
|
||||
- 解锁新植物/科技的进度
|
||||
|
||||
### 5. 难度平衡
|
||||
- 新手模式 vs 专家模式数值差异
|
||||
- 前期/中期/后期节奏控制
|
||||
|
||||
## 输出要求
|
||||
|
||||
请使用**数值平衡专家**的专业模板输出:
|
||||
|
||||
```markdown
|
||||
## [数值系统名称]
|
||||
|
||||
### 公式
|
||||
[核心公式]
|
||||
|
||||
### 数值表
|
||||
| 参数 | 值 | 说明 |
|
||||
|------|-----|------|
|
||||
| ... | ... | ... |
|
||||
|
||||
### 曲线特点
|
||||
- 前期:
|
||||
- 中期:
|
||||
- 后期:
|
||||
|
||||
### 设计思路
|
||||
[解释数值设计理由]
|
||||
```
|
||||
|
||||
## 依赖关系
|
||||
|
||||
- ✅ 已完成:项目简报
|
||||
- ⏳ 依赖:机制设计(需要系统框架)
|
||||
- ⏳ 待完成:文档整合(需要数值表)
|
||||
|
||||
## 验收标准
|
||||
|
||||
- [ ] 遗传概率符合遗传学原理
|
||||
- [ ] 经济系统产出/消耗平衡
|
||||
- [ ] 成长曲线合理(不肝不氪)
|
||||
- [ ] 双难度数值有明确区分
|
||||
- [ ] 提供计算示例和验证
|
||||
|
||||
---
|
||||
|
||||
**分配给**:📐 数值平衡专家
|
||||
**优先级**:P1 (高)
|
||||
**预计耗时**:2-3 小时
|
||||
@@ -1,82 +0,0 @@
|
||||
# 📖 任务:剧情与世界观设计
|
||||
|
||||
## 项目背景
|
||||
参考 `00-project-brief.md`
|
||||
|
||||
## 任务描述
|
||||
|
||||
设计《杂交农场》的**剧情和世界观**,包括:
|
||||
|
||||
### 1. 世界观设定
|
||||
- 游戏世界背景(现代/近未来/架空?)
|
||||
- 玩家身份设定(学生/研究员/继承农场?)
|
||||
- 世界观中的科学水平
|
||||
|
||||
### 2. 主线剧情(袁隆平特别任务链)
|
||||
- 第 1 章:饥饿的记忆
|
||||
- 第 2 章:发现野败
|
||||
- 第 3 章:三系配套
|
||||
- 第 4 章:超级稻
|
||||
- 第 5 章:禾下乘凉梦
|
||||
|
||||
每章需要:
|
||||
- 剧情背景
|
||||
- 任务目标
|
||||
- 关键 NPC
|
||||
- 情感高潮点
|
||||
- 科普知识点
|
||||
|
||||
### 3. 支线剧情
|
||||
- 其他科学家故事(孟德尔、摩尔根等)
|
||||
- 顾客订单剧情
|
||||
- 收集成就剧情
|
||||
|
||||
### 4. 角色设计
|
||||
- 主角人设(可自定义?)
|
||||
- 重要 NPC(导师、竞争对手、合作伙伴)
|
||||
- 历史科学家角色(袁隆平、孟德尔等)
|
||||
|
||||
### 5. 科普内容
|
||||
- 遗传学小课堂(何时触发?如何呈现?)
|
||||
- 科学史故事
|
||||
- 术语解释系统
|
||||
|
||||
## 输出要求
|
||||
|
||||
请使用**剧情世界观专家**的专业模板输出:
|
||||
|
||||
```markdown
|
||||
## [剧情/角色名称]
|
||||
|
||||
### 故事概述
|
||||
[一句话概括]
|
||||
|
||||
### 三幕式结构
|
||||
[详细结构]
|
||||
|
||||
### 角色人设
|
||||
[角色信息]
|
||||
|
||||
### 主题表达
|
||||
[想要表达的主题]
|
||||
```
|
||||
|
||||
## 依赖关系
|
||||
|
||||
- ✅ 已完成:项目简报
|
||||
- ⏳ 依赖:机制设计(需要知道系统如何配合剧情)
|
||||
- ⏳ 待完成:文档整合(需要剧情内容)
|
||||
|
||||
## 验收标准
|
||||
|
||||
- [ ] 袁隆平剧情线感人且有教育意义
|
||||
- [ ] 科普内容自然融入 gameplay
|
||||
- [ ] 角色有魅力和记忆点
|
||||
- [ ] 剧情节奏与游戏进度匹配
|
||||
- [ ] 双难度模式下剧情呈现有差异
|
||||
|
||||
---
|
||||
|
||||
**分配给**:📖 剧情世界观专家
|
||||
**优先级**:P1 (高)
|
||||
**预计耗时**:2-3 小时
|
||||
@@ -1,85 +0,0 @@
|
||||
# 🗺️ 任务:关卡与进度设计
|
||||
|
||||
## 项目背景
|
||||
参考 `00-project-brief.md`
|
||||
依赖:`03-mechanics-design.md` (机制设计完成后)
|
||||
|
||||
## 任务描述
|
||||
|
||||
设计《杂交农场》的**关卡结构和进度节奏**,包括:
|
||||
|
||||
### 1. 新手引导关卡
|
||||
- 第 1 天:种植基础(浇水→收获)
|
||||
- 第 2 天:杂交入门(授粉→收种)
|
||||
- 第 3 天:遗传规律(观察子代性状)
|
||||
- 第 7 天:第一次稀有品种培育
|
||||
|
||||
### 2. 主线任务关卡(袁隆平剧情)
|
||||
- 每章的任务目标
|
||||
- 难度递增曲线
|
||||
- 所需植物/工具解锁节点
|
||||
|
||||
### 3. 植物解锁进度
|
||||
- 初始解锁植物
|
||||
- 等级解锁植物
|
||||
- 成就解锁植物
|
||||
- 隐藏植物获取条件
|
||||
|
||||
### 4. 设施解锁进度
|
||||
- 温室解锁
|
||||
- 实验室解锁
|
||||
- 诱变室解锁
|
||||
- 交易市场解锁
|
||||
|
||||
### 5. 难度曲线
|
||||
- 前期(1-7 天):教学期
|
||||
- 中期(8-30 天):发展期
|
||||
- 后期(31+ 天):优化/收集期
|
||||
|
||||
### 6. 活动关卡(可选)
|
||||
- 季节性活动
|
||||
- 限时挑战
|
||||
- 特殊订单
|
||||
|
||||
## 输出要求
|
||||
|
||||
请使用**关卡设计专家**的专业模板输出:
|
||||
|
||||
```markdown
|
||||
## [关卡/阶段名称]
|
||||
|
||||
### 关卡概述
|
||||
- 类型:
|
||||
- 预计时长:
|
||||
- 推荐等级:
|
||||
|
||||
### 关卡结构
|
||||
[流程图]
|
||||
|
||||
### 难度曲线
|
||||
| 阶段 | 难度 | 说明 |
|
||||
|
||||
### 节奏控制
|
||||
[时间轴设计]
|
||||
```
|
||||
|
||||
## 依赖关系
|
||||
|
||||
- ✅ 已完成:项目简报
|
||||
- ⏳ 依赖:机制设计(需要知道玩法)
|
||||
- ⏳ 依赖:数值设计(需要难度参考)
|
||||
- ⏳ 待完成:文档整合
|
||||
|
||||
## 验收标准
|
||||
|
||||
- [ ] 新手引导循序渐进
|
||||
- [ ] 主线任务节奏合理
|
||||
- [ ] 解锁进度有成就感
|
||||
- [ ] 难度曲线平滑
|
||||
- [ ] 长期游玩有目标
|
||||
|
||||
---
|
||||
|
||||
**分配给**:🗺️ 关卡设计专家
|
||||
**优先级**:P1 (高)
|
||||
**预计耗时**:2 小时
|
||||
@@ -1,91 +0,0 @@
|
||||
# 🔍 任务:竞品分析与设计参考
|
||||
|
||||
## 项目背景
|
||||
参考 `00-project-brief.md`
|
||||
|
||||
## 任务描述
|
||||
|
||||
对《杂交农场》的**竞品和参考游戏**进行深度分析,包括:
|
||||
|
||||
### 1. 核心竞品分析
|
||||
|
||||
#### Crazy Plant Shop (Steam)
|
||||
- 遗传系统设计
|
||||
- 游戏循环
|
||||
- 优缺点分析
|
||||
- 可借鉴点
|
||||
|
||||
#### 星露谷物语
|
||||
- 种植系统
|
||||
- 像素美术风格
|
||||
- 玩家粘性设计
|
||||
- 可借鉴点
|
||||
|
||||
#### 基因花园 (桌游)
|
||||
- 遗传机制桌游化
|
||||
- 骰子=基因的设计
|
||||
- 科普与娱乐平衡
|
||||
|
||||
### 2. 系统级参考
|
||||
|
||||
#### 宝可梦育种系统
|
||||
- IV 值遗传
|
||||
- 特性遗传
|
||||
- 蛋组系统
|
||||
|
||||
#### 牧场物语系列
|
||||
- 作物杂交
|
||||
- 品种改良
|
||||
|
||||
### 3. 可借鉴设计提炼
|
||||
|
||||
#### 可直接复用
|
||||
- [列出可直接使用的设计]
|
||||
|
||||
#### 需适配调整
|
||||
- [列出需要修改的设计]
|
||||
|
||||
#### 不建议借鉴
|
||||
- [列出避坑点]
|
||||
|
||||
### 4. 差异化定位
|
||||
|
||||
基于竞品分析,明确《杂交农场》的:
|
||||
- 独特卖点 (USP)
|
||||
- 目标受众差异化
|
||||
- 玩法创新点
|
||||
|
||||
## 输出要求
|
||||
|
||||
请使用**游戏拆解分析师**的专业模板输出:
|
||||
|
||||
```markdown
|
||||
## [游戏名称] - [系统名称] 拆解
|
||||
|
||||
### 系统概述
|
||||
### 系统架构
|
||||
### 核心机制
|
||||
### 设计亮点
|
||||
### 可借鉴点
|
||||
### 设计思路还原
|
||||
```
|
||||
|
||||
## 依赖关系
|
||||
|
||||
- ✅ 已完成:项目简报
|
||||
- ✅ 可独立进行(不需要其他设计完成)
|
||||
- 📤 输出供所有专家参考
|
||||
|
||||
## 验收标准
|
||||
|
||||
- [ ] 竞品分析全面(至少 3 款游戏)
|
||||
- [ ] 优缺点分析客观
|
||||
- [ ] 可借鉴点明确且可落地
|
||||
- [ ] 差异化定位清晰
|
||||
- [ ] 提供具体设计建议
|
||||
|
||||
---
|
||||
|
||||
**分配给**:🔍 游戏拆解分析师
|
||||
**优先级**:P0 (最高 - 需要尽早完成供其他专家参考)
|
||||
**预计耗时**:2 小时
|
||||
@@ -1,119 +0,0 @@
|
||||
# 📝 任务:完整 GDD 文档整合
|
||||
|
||||
## 项目背景
|
||||
参考 `00-project-brief.md`
|
||||
依赖:所有其他专家设计完成后
|
||||
|
||||
## 任务描述
|
||||
|
||||
将各专家的设计内容整合为**完整的游戏设计文档 (GDD)**,包括:
|
||||
|
||||
### 1. GDD 标准结构
|
||||
|
||||
```markdown
|
||||
# 《杂交农场》游戏设计文档
|
||||
|
||||
## 1. 游戏概述
|
||||
- 游戏类型
|
||||
- 目标受众
|
||||
- 核心玩法
|
||||
- 差异化特点
|
||||
|
||||
## 2. 游戏机制 (来自🎲)
|
||||
- 核心循环
|
||||
- 遗传系统
|
||||
- 环境系统
|
||||
- 图鉴系统
|
||||
- 联机系统
|
||||
|
||||
## 3. 数值设计 (来自📐)
|
||||
- 遗传概率表
|
||||
- 生长数值
|
||||
- 经济系统
|
||||
- 成长曲线
|
||||
|
||||
## 4. 世界观与剧情 (来自📖)
|
||||
- 世界观设定
|
||||
- 主线剧情
|
||||
- 角色设计
|
||||
- 科普内容
|
||||
|
||||
## 5. 关卡与进度 (来自🗺️)
|
||||
- 新手引导
|
||||
- 任务关卡
|
||||
- 解锁进度
|
||||
- 难度曲线
|
||||
|
||||
## 6. 竞品分析 (来自🔍)
|
||||
- 竞品对比
|
||||
- 差异化定位
|
||||
|
||||
## 7. UI/UX 设计
|
||||
- 界面布局
|
||||
- 交互流程
|
||||
|
||||
## 8. 美术风格
|
||||
- 整体风格
|
||||
- 角色/场景风格
|
||||
- UI 风格
|
||||
|
||||
## 9. 音效设计
|
||||
- BGM 风格
|
||||
- 音效需求
|
||||
|
||||
## 10. 技术需求
|
||||
- 引擎建议
|
||||
- 平台
|
||||
- 性能要求
|
||||
|
||||
## 11. 开发计划
|
||||
- MVP 范围
|
||||
- v1.0 范围
|
||||
- 后续更新
|
||||
```
|
||||
|
||||
### 2. 文档规范
|
||||
|
||||
- 统一术语表
|
||||
- 命名规范
|
||||
- 版本控制
|
||||
- 图表规范
|
||||
|
||||
### 3. 验收清单
|
||||
|
||||
为每个系统创建验收清单,供开发完成后测试使用。
|
||||
|
||||
### 4. 附录
|
||||
|
||||
- 遗传学知识速查
|
||||
- 植物列表总览
|
||||
- 术语解释
|
||||
|
||||
## 输出要求
|
||||
|
||||
请使用**策划文档专家**的专业模板输出:
|
||||
|
||||
- 完整 GDD 文档(Markdown 格式)
|
||||
- 各系统设计文档(可单独拆分)
|
||||
- 术语表
|
||||
- 验收清单
|
||||
|
||||
## 依赖关系
|
||||
|
||||
- ✅ 已完成:项目简报
|
||||
- ⏳ 依赖:所有专家设计完成
|
||||
- 📤 输出:最终交付物
|
||||
|
||||
## 验收标准
|
||||
|
||||
- [ ] GDD 结构完整
|
||||
- [ ] 各章节内容一致无矛盾
|
||||
- [ ] 术语统一
|
||||
- [ ] 图表清晰
|
||||
- [ ] 可交付给开发团队
|
||||
|
||||
---
|
||||
|
||||
**分配给**:📝 策划文档专家
|
||||
**优先级**:P2 (中 - 需要等其他专家完成)
|
||||
**预计耗时**:3-4 小时(整合时间)
|
||||
@@ -1,189 +0,0 @@
|
||||
# 🎮 《杂交农场》多 Agent 协作计划
|
||||
|
||||
## 项目总览
|
||||
|
||||
**项目名称**:杂交农场 (Hybrid Farm)
|
||||
**项目经理**:🎮 游戏项目经理
|
||||
**创建时间**:2026-03-10
|
||||
|
||||
---
|
||||
|
||||
## 专家分工与依赖关系
|
||||
|
||||
```mermaid
|
||||
gantt
|
||||
title 《杂交农场》策划案开发流程
|
||||
dateFormat YYYY-MM-DD
|
||||
section 第一阶段
|
||||
竞品分析 :a1, 2026-03-10, 2h
|
||||
机制设计 :a2, after a1, 3h
|
||||
section 第二阶段
|
||||
数值平衡 :b1, after a2, 3h
|
||||
剧情设计 :b2, after a2, 3h
|
||||
关卡设计 :b3, after a2, 2h
|
||||
section 第三阶段
|
||||
文档整合 :c1, after b1 b2 b3, 4h
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 任务分配表
|
||||
|
||||
| 序号 | 任务 | 负责 Agent | 优先级 | 状态 | 依赖 |
|
||||
|------|------|-----------|--------|------|------|
|
||||
| 1 | 竞品分析 | 🔍 游戏拆解分析师 | P0 | ⏳ 待开始 | 无 |
|
||||
| 2 | 核心机制 | 🎲 游戏机制设计师 | P0 | ⏳ 等待中 | 任务 1 |
|
||||
| 3 | 数值平衡 | 📐 数值平衡专家 | P1 | ⏳ 等待中 | 任务 2 |
|
||||
| 4 | 剧情设计 | 📖 剧情世界观专家 | P1 | ⏳ 等待中 | 任务 2 |
|
||||
| 5 | 关卡设计 | 🗺️ 关卡设计专家 | P1 | ⏳ 等待中 | 任务 2,3 |
|
||||
| 6 | 文档整合 | 📝 策划文档专家 | P2 | ⏳ 等待中 | 任务 2,3,4,5 |
|
||||
|
||||
---
|
||||
|
||||
## 执行流程
|
||||
|
||||
### 阶段一:基础设计 (Day 1)
|
||||
|
||||
**步骤 1**:🔍 游戏拆解分析师
|
||||
- 输入:`00-project-brief.md`
|
||||
- 输出:`10-analysis-report.md`
|
||||
- 内容:竞品分析报告
|
||||
|
||||
**步骤 2**:🎲 游戏机制设计师
|
||||
- 输入:`00-project-brief.md` + `10-analysis-report.md`
|
||||
- 输出:`11-mechanics-design.md`
|
||||
- 内容:核心玩法机制设计
|
||||
|
||||
### 阶段二:详细设计 (Day 2)
|
||||
|
||||
**步骤 3**:📐 数值平衡专家
|
||||
- 输入:`11-mechanics-design.md`
|
||||
- 输出:`20-balance-design.md`
|
||||
- 内容:数值系统设计
|
||||
|
||||
**步骤 4**:📖 剧情世界观专家
|
||||
- 输入:`11-mechanics-design.md`
|
||||
- 输出:`21-story-design.md`
|
||||
- 内容:剧情与世界观设计
|
||||
|
||||
**步骤 5**:🗺️ 关卡设计专家
|
||||
- 输入:`11-mechanics-design.md` + `20-balance-design.md`
|
||||
- 输出:`22-level-design.md`
|
||||
- 内容:关卡与进度设计
|
||||
|
||||
### 阶段三:文档整合 (Day 3)
|
||||
|
||||
**步骤 6**:📝 策划文档专家
|
||||
- 输入:所有上述设计文档
|
||||
- 输出:`30-GDD-complete.md`
|
||||
- 内容:完整游戏设计文档
|
||||
|
||||
---
|
||||
|
||||
## 沟通协议
|
||||
|
||||
### 专家间接力规则
|
||||
|
||||
1. **上游专家**完成设计后,在文档中标注:
|
||||
- ✅ 已完成部分
|
||||
- ⚠️ 需要下游注意的点
|
||||
- ❓ 待决策问题
|
||||
|
||||
2. **下游专家**开始工作前:
|
||||
- 阅读所有依赖文档
|
||||
- 确认理解一致
|
||||
- 如有疑问提出讨论
|
||||
|
||||
3. **项目经理**职责:
|
||||
- 跟踪进度
|
||||
- 解决跨专家分歧
|
||||
- 确保设计一致性
|
||||
- 最终质量把控
|
||||
|
||||
### 设计一致性检查清单
|
||||
|
||||
- [ ] 术语使用一致(如"杂交"vs"育种")
|
||||
- [ ] 数值范围兼容(机制与数值不冲突)
|
||||
- [ ] 剧情与机制融合(剧情任务可使用游戏机制)
|
||||
- [ ] 难度曲线一致(新手/专家模式定义统一)
|
||||
|
||||
---
|
||||
|
||||
## 交付物清单
|
||||
|
||||
### 阶段交付物
|
||||
|
||||
| 阶段 | 交付物 | 负责人 |
|
||||
|------|--------|--------|
|
||||
| 1 | `10-analysis-report.md` | 🔍 |
|
||||
| 1 | `11-mechanics-design.md` | 🎲 |
|
||||
| 2 | `20-balance-design.md` | 📐 |
|
||||
| 2 | `21-story-design.md` | 📖 |
|
||||
| 2 | `22-level-design.md` | 🗺️ |
|
||||
| 3 | `30-GDD-complete.md` | 📝 |
|
||||
|
||||
### 最终交付物
|
||||
|
||||
**主文档**:
|
||||
- `30-GDD-complete.md` - 完整游戏设计文档
|
||||
|
||||
**附录文档**:
|
||||
- `31-terminology.md` - 术语表
|
||||
- `32-plant-list.md` - 植物列表总览
|
||||
- `33-checklist.md` - 验收清单
|
||||
|
||||
---
|
||||
|
||||
## 质量标准
|
||||
|
||||
### 各专家质量要求
|
||||
|
||||
| 专家 | 质量要求 |
|
||||
|------|---------|
|
||||
| 🔍 分析 | 至少 3 款竞品,可借鉴点明确 |
|
||||
| 🎲 机制 | 核心循环清晰,双难度区分明确 |
|
||||
| 📐 数值 | 公式可计算,提供验证示例 |
|
||||
| 📖 剧情 | 袁隆平剧情线完整,科普自然融入 |
|
||||
| 🗺️ 关卡 | 新手引导循序渐进,解锁节奏合理 |
|
||||
| 📝 文档 | GDD 结构完整,无矛盾,可交付开发 |
|
||||
|
||||
### 整体质量要求
|
||||
|
||||
- ✅ 科学性:遗传学原理正确(专家模式)
|
||||
- ✅ 游戏性:好玩不枯燥
|
||||
- ✅ 科普性:袁隆平故事感人,知识准确
|
||||
- ✅ 可行性:开发可落地
|
||||
- ✅ 完整性:覆盖所有核心系统
|
||||
|
||||
---
|
||||
|
||||
## 风险与应对
|
||||
|
||||
| 风险 | 概率 | 影响 | 应对措施 |
|
||||
|------|------|------|---------|
|
||||
| 遗传系统过于复杂 | 中 | 高 | 双难度设计,新手模式简化 |
|
||||
| 科普内容说教味重 | 中 | 中 | 融入 gameplay,剧情化呈现 |
|
||||
| 数值不平衡 | 低 | 高 | 多轮模拟验证,预留调整空间 |
|
||||
| 开发成本过高 | 中 | 中 | MVP 优先,DLC 扩展 |
|
||||
| 联机功能延迟 | 高 | 低 | v1.0 单机,v2.0 联机 |
|
||||
|
||||
---
|
||||
|
||||
## 启动指令
|
||||
|
||||
**项目经理指令**:
|
||||
|
||||
> 各位专家好!《杂交农场》项目正式启动。
|
||||
>
|
||||
> **第一步**:请🔍游戏拆解分析师立即开始竞品分析。
|
||||
> **第二步**:其他专家阅读 `00-project-brief.md` 待命。
|
||||
>
|
||||
> 预计完成时间:3 天
|
||||
> 最终交付:完整 GDD 策划案
|
||||
>
|
||||
> 开始!🚀
|
||||
|
||||
---
|
||||
|
||||
**最后更新**:2026-03-10
|
||||
**版本**:v1.0
|
||||
@@ -1,92 +0,0 @@
|
||||
# 📊 《杂交农场》项目进度追踪
|
||||
|
||||
**创建时间**:2026-03-10
|
||||
**当前状态**:🟡 进行中
|
||||
|
||||
---
|
||||
|
||||
## 总体进度
|
||||
|
||||
```
|
||||
[████████████░░░░] 50% 完成
|
||||
|
||||
阶段一:基础设计 [██████████████] 70%
|
||||
阶段二:详细设计 [░░░░░░░░░░░░] 0%
|
||||
阶段三:文档整合 [░░░░░░░░░░░░] 0%
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 任务状态
|
||||
|
||||
| 任务 | 负责人 | 状态 | 开始时间 | 完成时间 | 交付物 |
|
||||
|------|--------|------|---------|---------|--------|
|
||||
| 1. 竞品分析 | 🔍 | ✅ 已完成 | 07:35 | 07:38 | `10-analysis-report.md` |
|
||||
| 2. 机制设计 | 🎲 | 🟢 进行中 | 07:36 | - | `11-mechanics-design.md` |
|
||||
| 3. 数值平衡 | 📐 | ⏳ 等待中 | - | - | `20-balance-design.md` |
|
||||
| 4. 剧情设计 | 📖 | ⏳ 等待中 | - | - | `21-story-design.md` |
|
||||
| 5. 关卡设计 | 🗺️ | ⏳ 等待中 | - | - | `22-level-design.md` |
|
||||
| 6. 文档整合 | 📝 | ⏳ 等待中 | - | - | `30-GDD-complete.md` |
|
||||
|
||||
**图例**:
|
||||
- 🟢 已完成
|
||||
- 🟡 进行中
|
||||
- ⏳ 等待中
|
||||
- 🔴 阻塞
|
||||
|
||||
---
|
||||
|
||||
## 当前阻塞
|
||||
|
||||
无
|
||||
|
||||
---
|
||||
|
||||
## 待决策问题
|
||||
|
||||
| 问题 | 提出者 | 优先级 | 状态 |
|
||||
|------|--------|--------|------|
|
||||
| 暂无 | - | - | - |
|
||||
|
||||
---
|
||||
|
||||
## 设计一致性检查
|
||||
|
||||
- [ ] 术语统一检查(待所有文档完成后)
|
||||
- [ ] 数值兼容性检查(待机制 + 数值完成后)
|
||||
- [ ] 剧情 - 机制融合检查(待剧情完成后)
|
||||
- [ ] 难度曲线一致性(待关卡完成后)
|
||||
|
||||
---
|
||||
|
||||
## 里程碑
|
||||
|
||||
| 里程碑 | 目标日期 | 状态 |
|
||||
|--------|---------|------|
|
||||
| 阶段一完成 | Day 1 | ⏳ 未开始 |
|
||||
| 阶段二完成 | Day 2 | ⏳ 未开始 |
|
||||
| 阶段三完成 | Day 3 | ⏳ 未开始 |
|
||||
| GDD 交付 | Day 3 | ⏳ 未开始 |
|
||||
|
||||
---
|
||||
|
||||
## 会议记录
|
||||
|
||||
### 启动会议 (2026-03-10)
|
||||
|
||||
**参会**:🎮 项目经理,全体专家
|
||||
|
||||
**决议**:
|
||||
1. 项目正式启动
|
||||
2. 按协作计划执行
|
||||
3. 优先级:竞品分析 → 机制设计 → 其他
|
||||
|
||||
**待办**:
|
||||
- [x] 创建项目文件夹
|
||||
- [x] 创建任务文档
|
||||
- [x] 创建协作计划
|
||||
- [ ] 开始竞品分析
|
||||
|
||||
---
|
||||
|
||||
**最后更新**:2026-03-10 07:30
|
||||
@@ -1,591 +0,0 @@
|
||||
# 🔍 《杂交农场》竞品分析与设计参考报告
|
||||
|
||||
**报告类型**:游戏拆解分析
|
||||
**分析师**:🔍 游戏拆解分析师
|
||||
**创建时间**:2026-03-10
|
||||
**版本**:v1.0
|
||||
|
||||
---
|
||||
|
||||
## 目录
|
||||
|
||||
1. [Crazy Plant Shop - 核心竞品拆解](#1-crazy-plant-shop---核心竞品拆解)
|
||||
2. [星露谷物语 - 美术与种植系统参考](#2-星露谷物语---美术与种植系统参考)
|
||||
3. [基因花园桌游 - 遗传机制桌游化参考](#3-基因花园桌游---遗传机制桌游化参考)
|
||||
4. [宝可梦育种系统 - IV 值遗传参考](#4-宝可梦育种系统---iv 值遗传参考)
|
||||
5. [可借鉴设计提炼](#5-可借鉴设计提炼)
|
||||
6. [《杂交农场》差异化定位](#6-杂交农场差异化定位)
|
||||
|
||||
---
|
||||
|
||||
## 1. Crazy Plant Shop - 核心竞品拆解
|
||||
|
||||
### 1.1 遗传系统拆解
|
||||
|
||||
#### 系统概述
|
||||
Crazy Plant Shop 是一款以植物育种为核心玩法的模拟经营游戏,玩家通过杂交不同植物来创造新品种,经营自己的植物商店。
|
||||
|
||||
#### 系统架构
|
||||
```
|
||||
遗传系统
|
||||
├── 基因池 (Gene Pool)
|
||||
│ ├── 显性基因 (Dominant)
|
||||
│ ├── 隐性基因 (Recessive)
|
||||
│ └── 突变基因 (Mutation)
|
||||
├── 杂交机制 (Crossbreeding)
|
||||
│ ├── 亲本选择
|
||||
│ ├── 基因组合
|
||||
│ └── 后代预测
|
||||
└── 性状表达 (Trait Expression)
|
||||
├── 外观性状 (颜色、形状、大小)
|
||||
├── 功能性状 (生长速度、产量、抗性)
|
||||
└── 稀有度评级
|
||||
```
|
||||
|
||||
#### 核心机制
|
||||
|
||||
| 机制 | 描述 | 实现方式 |
|
||||
|------|------|----------|
|
||||
| 孟德尔遗传 | 显性/隐性基因传递 | 每个植物有 2 对等位基因 |
|
||||
| 性状分离 | F2 代出现性状分离 | 3:1 或 9:3:3:1 比例 |
|
||||
| 基因连锁 | 某些基因倾向于一起遗传 | 连锁群设计 |
|
||||
| 突变系统 | 小概率产生新基因 | 1-5% 突变率 |
|
||||
|
||||
#### 设计亮点
|
||||
✅ **可视化基因图谱**:玩家可以查看植物的基因组成,理解遗传规律
|
||||
✅ **渐进式学习曲线**:从简单杂交到复杂育种,自然引导玩家学习遗传学
|
||||
✅ **经济系统绑定**:稀有品种 = 高售价,激励深度育种
|
||||
✅ **图鉴收集**:鼓励玩家培育所有品种
|
||||
|
||||
#### 可借鉴点
|
||||
|
||||
| 借鉴点 | 类型 | 说明 |
|
||||
|--------|------|------|
|
||||
| 基因可视化 | 可直接复用 | 用图标/颜色表示显性/隐性基因 |
|
||||
| 稀有度分级 | 可直接复用 | N/R/SR/SSR 分级,对应不同售价 |
|
||||
| 育种记录 | 需适配 | 记录亲本 - 后代关系树 |
|
||||
| 突变动画 | 可直接复用 | 突变时特殊光效,增强成就感 |
|
||||
|
||||
#### 设计思路还原
|
||||
Crazy Plant Shop 的设计核心是**"让遗传学变得有趣"**。它没有回避真实的遗传规律,而是通过可视化、游戏化的方式让玩家自然理解。关键设计决策:
|
||||
- 选择植物而非动物:植物杂交更直观,无伦理问题
|
||||
- 简化基因数量:每株植物 3-5 个性状,避免认知过载
|
||||
- 经济反馈循环:好品种 = 高收益 = 更多实验资源
|
||||
|
||||
---
|
||||
|
||||
### 1.2 经营系统拆解
|
||||
|
||||
#### 系统概述
|
||||
玩家经营植物商店,销售自己培育的植物,同时满足顾客订单需求。
|
||||
|
||||
#### 核心循环
|
||||
```
|
||||
育种实验 → 收获植物 → 商店销售 → 获得资金 → 购买新亲本/道具 → 继续育种
|
||||
```
|
||||
|
||||
#### 可借鉴点
|
||||
|
||||
| 借鉴点 | 类型 | 《杂交农场》适配建议 |
|
||||
|--------|------|---------------------|
|
||||
| 顾客订单系统 | 需适配 | 可加入"科研订单",要求特定基因型 |
|
||||
| 店铺装饰 | 不建议 | 偏离核心玩法,资源应聚焦育种 |
|
||||
| 价格波动 | 需适配 | 稀有品种价格随市场饱和度变化 |
|
||||
| 成就系统 | 可直接复用 | "培育出 10 种 SSR 品种"等 |
|
||||
|
||||
---
|
||||
|
||||
## 2. 星露谷物语 - 美术与种植系统参考
|
||||
|
||||
### 2.1 像素美术风格拆解
|
||||
|
||||
#### 系统概述
|
||||
星露谷物语采用 16-bit 像素风格,色彩鲜艳,角色和场景都有高度辨识度。
|
||||
|
||||
#### 美术规范
|
||||
|
||||
| 元素 | 规格 | 特点 |
|
||||
|------|------|------|
|
||||
| 角色精灵 | 16×16 或 32×32 | 4 方向动画,表情丰富 |
|
||||
| 作物精灵 | 16×16 | 4-5 个生长阶段 |
|
||||
| 场景图块 | 16×16 | 可拼接,复用性高 |
|
||||
| 色彩 palette | 有限色板 | 统一视觉风格 |
|
||||
|
||||
#### 设计亮点
|
||||
✅ **高辨识度**:每个作物/角色都有独特轮廓和配色
|
||||
✅ **生长可视化**:作物每阶段外观明显不同
|
||||
✅ **季节变化**:同一场景不同季节有不同色调
|
||||
✅ **细节动画**:作物摇摆、水流、粒子效果
|
||||
|
||||
#### 可借鉴点
|
||||
|
||||
| 借鉴点 | 类型 | 实施建议 |
|
||||
|--------|------|----------|
|
||||
| 作物生长阶段 | 可直接复用 | 每株植物 4-5 帧生长动画 |
|
||||
| 季节色调 | 可直接复用 | 春夏秋冬不同背景色板 |
|
||||
| 像素粒子效果 | 可直接复用 | 突变/收获时粒子特效 |
|
||||
| 角色表情系统 | 需适配 | 剧情 NPC 需要多种表情 |
|
||||
|
||||
#### 《杂交农场》美术规范建议
|
||||
```
|
||||
- 基础分辨率:16×16 像素图块
|
||||
- 作物精灵:4 个生长阶段 (种子→幼苗→成熟→结果)
|
||||
- 色彩风格:温暖田园色调,饱和度高
|
||||
- 特殊效果:基因突变时金色闪光,稀有品种发光边框
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 2.2 种植系统拆解
|
||||
|
||||
#### 系统架构
|
||||
```
|
||||
种植系统
|
||||
├── 土地管理
|
||||
│ ├── 耕地/浇水/施肥
|
||||
│ ├── 土壤质量
|
||||
│ └── 连作障碍
|
||||
├── 作物生长
|
||||
│ ├── 生长周期
|
||||
│ ├── 季节限制
|
||||
│ └── 随机事件 (虫害、干旱)
|
||||
└── 收获处理
|
||||
├── 手动/自动收获
|
||||
├── 品质分级 (普通/银/金/铱)
|
||||
└── 加工选项 (酿酒、腌制)
|
||||
```
|
||||
|
||||
#### 核心机制
|
||||
|
||||
| 机制 | 描述 | 可借鉴度 |
|
||||
|------|------|----------|
|
||||
| 品质分级 | 随机产生不同品质作物 | ⭐⭐⭐⭐ 可直接复用 |
|
||||
| 肥料系统 | 不同肥料影响品质和生长速度 | ⭐⭐⭐⭐ 需适配为"营养液" |
|
||||
| 季节限制 | 作物只能在特定季节种植 | ⭐⭐ 不建议 (限制实验自由度) |
|
||||
| 随机事件 | 乌鸦、蝗虫等灾害 | ⭐⭐⭐ 可简化为"实验失败" |
|
||||
|
||||
#### 设计思路还原
|
||||
星露谷的种植系统设计哲学是**"简单但有深度"**:
|
||||
- 表面:种下去→等它长→收获
|
||||
- 深度:肥料、浇水频率、季节、品质、加工
|
||||
|
||||
《杂交农场》应借鉴这种分层设计:
|
||||
- 休闲玩家:只需浇水等待
|
||||
- 硬核玩家:可控制温度、光照、激素、基因编辑
|
||||
|
||||
---
|
||||
|
||||
## 3. 基因花园桌游 - 遗传机制桌游化参考
|
||||
|
||||
### 3.1 骰子基因系统拆解
|
||||
|
||||
#### 系统概述
|
||||
《基因花园》(Gene Garden) 是一款将遗传学机制桌游化的作品,用骰子代表基因,通过投掷和组合模拟遗传过程。
|
||||
|
||||
#### 系统架构
|
||||
```
|
||||
骰子基因系统
|
||||
├── 基因骰子
|
||||
│ ├── 面数:d6 (6 种等位基因)
|
||||
│ ├── 颜色:不同性状不同颜色
|
||||
│ └── 标记:显性 (大写字母) / 隐性 (小写字母)
|
||||
├── 遗传机制
|
||||
│ ├── 亲本各投 1 骰子
|
||||
│ ├── 后代随机获得 1 面
|
||||
│ └── 组合成基因型
|
||||
└── 性状表达
|
||||
├── 显性优先
|
||||
├── 共显性 (特殊)
|
||||
└── 表型卡对照
|
||||
```
|
||||
|
||||
#### 核心机制
|
||||
|
||||
| 机制 | 桌游实现 | 电子游戏转化建议 |
|
||||
|------|----------|-----------------|
|
||||
| 随机遗传 | 投骰子 | RNG 抽取,但显示"基因抽取动画" |
|
||||
| 基因组合 | 骰子配对 | 双亲基因池随机组合 |
|
||||
| 性状分离 | 多次投掷统计 | 可显示理论概率 vs 实际结果 |
|
||||
| 突变 | 特殊骰子面 | 小概率触发,特殊动画 |
|
||||
|
||||
#### 设计亮点
|
||||
✅ **物理化随机性**:骰子让抽象的遗传变得可触摸
|
||||
✅ **概率可视化**:玩家可以直观看到 1/6、1/36 等概率
|
||||
✅ **策略空间**:选择哪些亲本杂交,管理有限骰子资源
|
||||
|
||||
#### 可借鉴点
|
||||
|
||||
| 借鉴点 | 类型 | 《杂交农场》实施建议 |
|
||||
|--------|------|---------------------|
|
||||
| 骰子动画 | 可直接复用 | 杂交时显示"基因骰子滚动"动画 |
|
||||
| 概率显示 | 可直接复用 | 杂交前显示后代各性状概率 |
|
||||
| 基因卡牌 | 需适配 | 每张植物卡显示基因型 (如 AaBb) |
|
||||
| 共显性机制 | 可直接复用 | 特殊性状用共显性 (如血型 AB 型) |
|
||||
|
||||
#### 设计思路还原
|
||||
《基因花园》的核心创新是**"用物理随机性模拟生物随机性"**。骰子的随机投掷完美对应减数分裂的随机分配。
|
||||
|
||||
《杂交农场》可以借鉴这种"可视化随机"的设计理念:
|
||||
- 不用黑箱 RNG,而是展示"基因抽取"过程
|
||||
- 让玩家看到为什么后代是这个性状
|
||||
- 失败时也能理解原因 (隐性基因纯合等)
|
||||
|
||||
---
|
||||
|
||||
### 3.2 科普与娱乐平衡拆解
|
||||
|
||||
#### 设计原则
|
||||
|
||||
| 维度 | 科普向设计 | 娱乐向设计 | 平衡方案 |
|
||||
|------|-----------|-----------|----------|
|
||||
| 术语使用 | 使用专业术语 (等位基因、纯合子) | 避免术语,用通俗语言 | 双模式:科普模式显示术语,休闲模式隐藏 |
|
||||
| 机制简化 | 完整遗传规律 | 简化为"配色游戏" | 渐进式:初期简化,后期解锁真实机制 |
|
||||
| 反馈设计 | 解释科学原理 | 只告诉结果 | 可选:点击"为什么"查看原理 |
|
||||
|
||||
#### 可借鉴点
|
||||
|
||||
| 借鉴点 | 类型 | 实施建议 |
|
||||
|--------|------|----------|
|
||||
| 双模式设计 | 可直接复用 | 设置中切换"科普模式/休闲模式" |
|
||||
| 原理弹窗 | 可直接复用 | 关键操作后可选查看科学解释 |
|
||||
| 成就即知识 | 可直接复用 | 成就描述包含知识点 ("你发现了隐性遗传") |
|
||||
|
||||
---
|
||||
|
||||
## 4. 宝可梦育种系统 - IV 值遗传参考
|
||||
|
||||
### 4.1 IV 值系统拆解
|
||||
|
||||
#### 系统概述
|
||||
宝可梦的个体值 (IV, Individual Values) 是隐藏数值,影响宝可梦的能力上限。育种系统允许玩家传递优良 IV 给后代。
|
||||
|
||||
#### 系统架构
|
||||
```
|
||||
IV 遗传系统
|
||||
├── 个体值 (IV)
|
||||
│ ├── 6 项能力 (HP/攻击/防御/特攻/特防/速度)
|
||||
│ ├── 每项 0-31 (31 为最优)
|
||||
│ └── 总和决定"几 V" (6V 为完美)
|
||||
├── 遗传机制
|
||||
│ ├── 随机遗传 3 项 IV (Gen 6)
|
||||
│ ├── 红线道具:遗传 5 项 IV
|
||||
│ └── 剩余项随机生成
|
||||
└── 特性遗传
|
||||
├── 隐藏特性 60% 遗传 (母方)
|
||||
├── 普通特性随机
|
||||
└── 特性胶囊/膏药
|
||||
```
|
||||
|
||||
#### 核心机制
|
||||
|
||||
| 机制 | 描述 | 数学模型 |
|
||||
|------|------|----------|
|
||||
| IV 随机遗传 | 从双亲随机选择 3 项 IV 传递给后代 | C(6,3) = 20 种组合 |
|
||||
| 红线道具 | 改为遗传 5 项 IV,仅 1 项随机 | 大幅提升效率 |
|
||||
| 特性遗传 | 母方特性 60% 概率遗传 | 条件概率 |
|
||||
| 蛋组限制 | 只有同蛋组才能育种 | 分类系统 |
|
||||
|
||||
#### 设计亮点
|
||||
✅ **深度策略**:选择哪些 IV 遗传、用何道具、亲本顺序
|
||||
✅ **长期目标**:培育 6V 宝可梦是数百小时的追求
|
||||
✅ **道具系统**:各种道具改变遗传规则,增加策略维度
|
||||
✅ **社交交易**:玩家间交换优良亲本
|
||||
|
||||
#### 可借鉴点
|
||||
|
||||
| 借鉴点 | 类型 | 《杂交农场》实施建议 |
|
||||
|--------|------|---------------------|
|
||||
| 隐藏数值 | 需适配 | 植物有"隐藏潜力值",影响产量/抗性 |
|
||||
| 道具干预 | 可直接复用 | "基因提取剂"强制传递特定基因 |
|
||||
| 多代育种 | 可直接复用 | 需要多代回交才能固定优良性状 |
|
||||
| 蛋组系统 | 需适配 | 改为"科属组",同科属才能杂交 |
|
||||
|
||||
#### 《杂交农场》IV 系统设计建议
|
||||
```
|
||||
植物潜力值 (PV, Plant Values)
|
||||
├── 5 项维度
|
||||
│ ├── 生长速度 (0-31)
|
||||
│ ├── 产量 (0-31)
|
||||
│ ├── 抗性 (0-31)
|
||||
│ ├── 品质 (0-31)
|
||||
│ └── 突变率 (0-31)
|
||||
├── 遗传规则
|
||||
│ ├── 默认遗传 3 项 PV
|
||||
│ ├── "基因稳定剂"道具:遗传 4 项
|
||||
│ └── "完美培养基"道具:遗传 5 项
|
||||
└── 显示方式
|
||||
├── 休闲模式:显示星级 (★★★★☆)
|
||||
└── 科普模式:显示具体数值和遗传来源
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 4.2 蛋组与兼容性系统拆解
|
||||
|
||||
#### 系统概述
|
||||
宝可梦分为 15 个蛋组,只有同蛋组的宝可梦才能育种。这限制了杂交范围,增加了策略性。
|
||||
|
||||
#### 可借鉴点
|
||||
|
||||
| 借鉴点 | 类型 | 《杂交农场》适配方案 |
|
||||
|--------|------|---------------------|
|
||||
| 分类限制 | 需适配 | 按植物科属分类 (蔷薇科、茄科等) |
|
||||
| 跨组育种 | 可直接复用 | 特殊道具允许跨科杂交 (基因编辑) |
|
||||
| 未发现组 | 可直接复用 | 某些稀有植物无法杂交,只能突变 |
|
||||
|
||||
#### 《杂交农场》科属组设计
|
||||
```
|
||||
科属组 (Family Groups)
|
||||
├── 蔷薇科 (苹果、玫瑰、草莓)
|
||||
├── 茄科 (番茄、土豆、辣椒)
|
||||
├── 十字花科 (白菜、萝卜、甘蓝)
|
||||
├── 禾本科 (水稻、小麦、玉米)
|
||||
├── 豆科 (大豆、豌豆、花生)
|
||||
└── ... (共 15-20 科)
|
||||
|
||||
杂交规则:
|
||||
- 同科植物:可自由杂交
|
||||
- 近缘科:可杂交但成功率降低 (蔷薇科×豆科)
|
||||
- 远缘科:需要"基因编辑"道具
|
||||
- 未发现组:突变植物,暂时无法杂交
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. 可借鉴设计提炼
|
||||
|
||||
### 5.1 可直接复用的设计
|
||||
|
||||
| 设计 | 来源游戏 | 应用场景 | 实施优先级 |
|
||||
|------|----------|----------|-----------|
|
||||
| 基因可视化图谱 | Crazy Plant Shop | 植物详情界面 | P0 |
|
||||
| 稀有度分级 (N/R/SR/SSR) | Crazy Plant Shop | 所有植物分类 | P0 |
|
||||
| 作物生长阶段动画 | 星露谷物语 | 种植系统 | P0 |
|
||||
| 品质分级系统 (普通/银/金) | 星露谷物语 | 收获系统 | P1 |
|
||||
| 骰子基因动画 | 基因花园桌游 | 杂交动画 | P1 |
|
||||
| 概率预测显示 | 基因花园桌游 | 杂交前预览 | P0 |
|
||||
| 双模式 (科普/休闲) | 基因花园桌游 | 全局设置 | P0 |
|
||||
| IV 潜力值系统 | 宝可梦 | 植物隐藏属性 | P1 |
|
||||
| 道具干预遗传 | 宝可梦 | 商城/合成系统 | P2 |
|
||||
| 科属组限制 | 宝可梦 | 杂交兼容性 | P1 |
|
||||
|
||||
---
|
||||
|
||||
### 5.2 需适配调整的设计
|
||||
|
||||
| 设计 | 来源 | 原设计 | 《杂交农场》适配方案 |
|
||||
|------|------|--------|---------------------|
|
||||
| 经营系统 | Crazy Plant Shop | 店铺装修、顾客互动 | 简化为"科研订单"系统,聚焦育种 |
|
||||
| 季节限制 | 星露谷物语 | 作物只能特定季节种植 | 改为"温室可全年种植",鼓励设施投资 |
|
||||
| 灾害系统 | 星露谷物语 | 乌鸦、蝗虫随机事件 | 改为"实验污染/基因污染",可预防 |
|
||||
| 蛋组系统 | 宝可梦 | 固定 15 蛋组 | 按真实植物科属分类,可学习解锁 |
|
||||
| 特性遗传 | 宝可梦 | 隐藏特性 60% 遗传 | 改为"特殊性状",用孟德尔规律解释 |
|
||||
|
||||
---
|
||||
|
||||
### 5.3 不建议借鉴的设计
|
||||
|
||||
| 设计 | 来源 | 原因 | 替代方案 |
|
||||
|------|------|------|----------|
|
||||
| 体力系统 | 星露谷物语 | 限制玩家行动,与实验导向冲突 | 改为"实验次数限制"(基于资源) |
|
||||
| 恋爱结婚 | 星露谷物语 | 偏离核心玩法 | 无替代,直接舍弃 |
|
||||
| 挖矿战斗 | 星露谷物语 | 完全无关 | 无替代,直接舍弃 |
|
||||
| 个体值计算工具依赖 | 宝可梦 | 社区被迫开发计算器,说明设计不友好 | 内置概率计算器,降低门槛 |
|
||||
| 闪光宝可梦极低概率 | 宝可梦 | 1/4096 过于挫败 | 突变率设为 1-5%,可道具提升 |
|
||||
|
||||
---
|
||||
|
||||
## 6. 《杂交农场》差异化定位
|
||||
|
||||
### 6.1 竞品对比矩阵
|
||||
|
||||
| 维度 | Crazy Plant Shop | 星露谷物语 | 宝可梦 | 《杂交农场》 |
|
||||
|------|-----------------|-----------|--------|-------------|
|
||||
| 遗传真实性 | ⭐⭐⭐ 简化孟德尔 | ⭐ 无遗传系统 | ⭐⭐ IV 值部分遗传 | ⭐⭐⭐⭐⭐ 完整孟德尔 + 复杂遗传 |
|
||||
| 科普价值 | ⭐⭐⭐ 基础遗传 | ⭐ 无 | ⭐ 无 | ⭐⭐⭐⭐⭐ 袁隆平剧情 + 知识点 |
|
||||
| 美术风格 | ⭐⭐⭐ 卡通 3D | ⭐⭐⭐⭐⭐ 经典像素 | ⭐⭐⭐⭐ 现代像素 | ⭐⭐⭐⭐ 星露谷式像素 |
|
||||
| 经营深度 | ⭐⭐⭐⭐ 完整商店 | ⭐⭐⭐⭐⭐ 农场 + 社交 | ⭐⭐ 培育站 | ⭐⭐⭐ 科研订单 + 交易 |
|
||||
| 多人社交 | ⭐ 有限交易 | ⭐⭐⭐⭐ 联机合作 | ⭐⭐⭐ 对战交易 | ⭐⭐⭐⭐ 品种交易 + 展示 |
|
||||
| 难度选择 | ⭐ 单一难度 | ⭐ 单一难度 | ⭐ 单一难度 | ⭐⭐⭐⭐⭐ 双轨难度 |
|
||||
|
||||
---
|
||||
|
||||
### 6.2 独特卖点 (USP)
|
||||
|
||||
#### USP #1:最真实的植物遗传模拟
|
||||
```
|
||||
竞品现状:
|
||||
- Crazy Plant Shop:简化遗传,仅 3-4 个性状
|
||||
- 宝可梦:IV 值系统,但与真实遗传学无关
|
||||
- 星露谷:无遗传系统
|
||||
|
||||
《杂交农场》优势:
|
||||
✅ 完整孟德尔遗传 (分离定律、自由组合定律)
|
||||
✅ 复杂遗传 (连锁、交换、多基因、表观遗传)
|
||||
✅ 真实植物科属分类
|
||||
✅ 可导出"实验报告"(教育场景)
|
||||
```
|
||||
|
||||
#### USP #2:双轨难度系统
|
||||
```
|
||||
休闲模式:
|
||||
- 隐藏专业术语
|
||||
- 简化为"配色育种"
|
||||
- 自动提示最优杂交方案
|
||||
- 适合: casual 玩家、儿童
|
||||
|
||||
科普模式:
|
||||
- 显示完整基因型 (AaBb × AaBb)
|
||||
- 显示 Punnett 方格预测
|
||||
- 需要手动记录实验数据
|
||||
- 适合:学生、科普爱好者、硬核玩家
|
||||
|
||||
切换自由:随时在设置中切换,进度通用
|
||||
```
|
||||
|
||||
#### USP #3:袁隆平剧情科普线
|
||||
```
|
||||
剧情设计:
|
||||
- 以袁隆平杂交水稻研究为原型
|
||||
- 重现"三系法"育种历程
|
||||
- 穿插真实历史事件和科学原理
|
||||
- 最终解锁"超级稻"品种
|
||||
|
||||
教育价值:
|
||||
- 了解中国科学家贡献
|
||||
- 理解杂交水稻原理
|
||||
- 激发科学兴趣
|
||||
```
|
||||
|
||||
#### USP #4:科研导向的经营系统
|
||||
```
|
||||
与传统经营游戏区别:
|
||||
- 不是"开店赚钱",而是"完成科研项目"
|
||||
- 订单来自"研究所"而非普通顾客
|
||||
- 奖励不是金钱,而是"科研经费"和"稀有亲本"
|
||||
- 终极目标是"培育出突破性品种"而非"成为首富"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 6.3 目标受众差异化
|
||||
|
||||
| 受众 | 竞品覆盖 | 《杂交农场》策略 |
|
||||
|------|---------|-----------------|
|
||||
| 休闲玩家 | 被 Crazy Plant Shop 覆盖 | 用休闲模式 + 星露谷美术吸引 |
|
||||
| 学生群体 | **未被覆盖** | 双模式 + 实验报告导出,直击需求 |
|
||||
| 科普爱好者 | **未被覆盖** | 袁隆平剧情 + 真实遗传学,填补空白 |
|
||||
| 硬核玩家 | 被宝可梦育种覆盖 | 用更真实的遗传系统 + 高难度挑战吸引 |
|
||||
|
||||
**核心机会**:学生群体和科普爱好者是**蓝海市场**,现有竞品均未有效覆盖。
|
||||
|
||||
---
|
||||
|
||||
### 6.4 玩法创新点
|
||||
|
||||
#### 创新 #1:实验记录本系统
|
||||
```
|
||||
功能:
|
||||
- 自动记录每次杂交的亲本、后代、性状统计
|
||||
- 可手动添加实验备注
|
||||
- 支持导出 PDF 报告 (教育场景)
|
||||
- 成就系统基于实验记录 ("完成 100 次杂交实验")
|
||||
|
||||
价值:
|
||||
- 满足学生"实验课"需求
|
||||
- 帮助硬核玩家追踪育种进度
|
||||
- 增加游戏"严肃感",区别于纯娱乐
|
||||
```
|
||||
|
||||
#### 创新 #2:基因编辑 minigame
|
||||
```
|
||||
玩法:
|
||||
- 消耗"基因编辑点数"定向修改基因
|
||||
- CRISPR 主题 minigame (剪切 - 粘贴基因片段)
|
||||
- 有失败风险 (脱靶效应)
|
||||
- 伦理系统:过度编辑影响结局
|
||||
|
||||
价值:
|
||||
- 引入现代生物技术元素
|
||||
- 增加策略维度 (自然育种 vs 基因编辑)
|
||||
- 科普基因编辑原理
|
||||
```
|
||||
|
||||
#### 创新 #3:品种认证与交易系统
|
||||
```
|
||||
设计:
|
||||
- 玩家可给自创品种命名并提交"认证"
|
||||
- 系统生成唯一品种 ID
|
||||
- 其他玩家可交易/种植该品种
|
||||
- 原创者获得"版税"(交易分成)
|
||||
|
||||
价值:
|
||||
- 激励玩家创造稀有品种
|
||||
- 建立玩家间经济系统
|
||||
- 类似"创意工坊"但深度整合
|
||||
```
|
||||
|
||||
#### 创新 #4:季节 × 环境 × 基因三维系统
|
||||
```
|
||||
传统设计:季节决定可种植作物
|
||||
创新设计:
|
||||
- 季节影响环境参数 (温度、光照、湿度)
|
||||
- 环境参数影响基因表达 (表型可塑性)
|
||||
- 同一基因型在不同季节表现不同
|
||||
- 玩家需要"适应性育种"
|
||||
|
||||
示例:
|
||||
- 品种 A:高温下高产,低温下减产
|
||||
- 品种 B:稳定但平庸
|
||||
- 玩家需根据目标季节选择育种方向
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 7. 总结与行动建议
|
||||
|
||||
### 7.1 核心结论
|
||||
|
||||
1. **Crazy Plant Shop 是最直接竞品**,但其遗传系统过于简化,《杂交农场》可用"更真实"形成差异化
|
||||
2. **星露谷的美术和种植系统是黄金标准**,应直接借鉴其像素风格和生长动画
|
||||
3. **桌游《基因花园》的骰子设计**提供了"可视化随机"的优秀思路
|
||||
4. **宝可梦的 IV 系统**证明了"隐藏数值 + 长期育种"的玩家粘性
|
||||
5. **学生群体和科普爱好者是蓝海**,双模式 + 教育功能是核心机会
|
||||
|
||||
### 7.2 MVP 优先级建议
|
||||
|
||||
| 优先级 | 功能 | 来源 | 理由 |
|
||||
|--------|------|------|------|
|
||||
| P0 | 基础孟德尔遗传系统 | Crazy Plant Shop + 原创 | 核心玩法,必须最早完成 |
|
||||
| P0 | 植物生长动画 | 星露谷物语 | 视觉反馈,影响第一印象 |
|
||||
| P0 | 双模式切换 | 基因花园桌游 | 扩大受众,降低门槛 |
|
||||
| P1 | 基因可视化图谱 | Crazy Plant Shop | 帮助玩家理解遗传 |
|
||||
| P1 | 品质分级系统 | 星露谷物语 | 增加收获成就感 |
|
||||
| P1 | 科属组限制 | 宝可梦 | 增加策略深度 |
|
||||
| P2 | 袁隆平剧情 | 原创 | 差异化卖点,但 MVP 后可加 |
|
||||
| P2 | 实验记录本 | 原创 | 教育功能,v1.0 核心 |
|
||||
| P3 | 基因编辑 minigame | 原创 | 高级功能,DLC 内容 |
|
||||
| P3 | 联机交易 | 原创 | v2.0 内容 |
|
||||
|
||||
### 7.3 风险与应对
|
||||
|
||||
| 风险 | 概率 | 影响 | 应对方案 |
|
||||
|------|------|------|----------|
|
||||
| 遗传系统过于复杂劝退休闲玩家 | 高 | 高 | 双模式设计 + 强引导教程 |
|
||||
| 美术质量达不到星露谷水准 | 中 | 高 | 早期确定美术规范,外包给专业像素画师 |
|
||||
| 教育功能变成"说教" | 中 | 中 | 知识点做成可选弹窗,不强制阅读 |
|
||||
| 联机功能开发成本超预算 | 高 | 中 | v2.0 再开发,MVP 专注单机 |
|
||||
|
||||
---
|
||||
|
||||
**报告完成时间**:2026-03-10
|
||||
**分析师**:🔍 游戏拆解分析师
|
||||
**版本**:v1.0
|
||||
|
||||
---
|
||||
|
||||
*本报告供《杂交农场》全体开发成员参考,特别是:*
|
||||
- *🎮 系统设计师:遗传系统、经营系统*
|
||||
- *🎨 美术设计师:像素风格规范、动画需求*
|
||||
- *📝 剧情设计师:袁隆平剧情线、科普内容*
|
||||
- *💻 程序工程师:核心算法、数据结构*
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,211 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Hybrid Farm - 游戏策划案</title>
|
||||
<style>
|
||||
:root {
|
||||
--primary: #4CAF50;
|
||||
--secondary: #8BC34A;
|
||||
--accent: #FFC107;
|
||||
--dark: #2E7D32;
|
||||
--light: #F1F8E9;
|
||||
--text: #333;
|
||||
--text-light: #666;
|
||||
}
|
||||
|
||||
* { margin: 0; padding: 0; box-sizing: border-box; }
|
||||
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
||||
line-height: 1.6;
|
||||
color: var(--text);
|
||||
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
header {
|
||||
background: rgba(255,255,255,0.95);
|
||||
border-radius: 15px;
|
||||
padding: 30px;
|
||||
margin-bottom: 30px;
|
||||
box-shadow: 0 10px 30px rgba(0,0,0,0.2);
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: var(--dark);
|
||||
font-size: 2.5em;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: var(--text-light);
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
.grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
|
||||
gap: 20px;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.card {
|
||||
background: rgba(255,255,255,0.95);
|
||||
border-radius: 15px;
|
||||
padding: 25px;
|
||||
box-shadow: 0 5px 15px rgba(0,0,0,0.1);
|
||||
transition: transform 0.3s ease, box-shadow 0.3s ease;
|
||||
}
|
||||
|
||||
.card:hover {
|
||||
transform: translateY(-5px);
|
||||
box-shadow: 0 15px 30px rgba(0,0,0,0.2);
|
||||
}
|
||||
|
||||
.card h2 {
|
||||
color: var(--primary);
|
||||
margin-bottom: 15px;
|
||||
font-size: 1.5em;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.card h2::before {
|
||||
content: '🌱';
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
.card ul {
|
||||
list-style: none;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.card li {
|
||||
padding: 8px 0;
|
||||
border-bottom: 1px solid var(--light);
|
||||
}
|
||||
|
||||
.card li:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.card a {
|
||||
color: var(--dark);
|
||||
text-decoration: none;
|
||||
display: block;
|
||||
padding: 5px 0;
|
||||
transition: color 0.3s ease;
|
||||
}
|
||||
|
||||
.card a:hover {
|
||||
color: var(--primary);
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.tag {
|
||||
display: inline-block;
|
||||
background: var(--light);
|
||||
color: var(--dark);
|
||||
padding: 3px 10px;
|
||||
border-radius: 20px;
|
||||
font-size: 0.85em;
|
||||
margin-right: 5px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.status-badge {
|
||||
background: var(--accent);
|
||||
color: #fff;
|
||||
padding: 5px 15px;
|
||||
border-radius: 20px;
|
||||
font-weight: bold;
|
||||
display: inline-block;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
footer {
|
||||
text-align: center;
|
||||
color: rgba(255,255,255,0.8);
|
||||
padding: 20px;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
h1 { font-size: 2em; }
|
||||
.grid { grid-template-columns: 1fr; }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<header>
|
||||
<h1>🌾 Hybrid Farm</h1>
|
||||
<p class="subtitle">混合农场 - 游戏策划案</p>
|
||||
<span class="status-badge">策划阶段</span>
|
||||
</header>
|
||||
|
||||
<div class="grid">
|
||||
<div class="card">
|
||||
<h2>项目概述</h2>
|
||||
<p style="margin-bottom: 15px;">一款结合传统农场模拟与创新玩法的休闲游戏</p>
|
||||
<div>
|
||||
<span class="tag">休闲</span>
|
||||
<span class="tag">模拟</span>
|
||||
<span class="tag">策略</span>
|
||||
</div>
|
||||
<ul style="margin-top: 15px;">
|
||||
<li><a href="docs-viewer.html?doc=00-project-brief.md">📄 项目简报</a></li>
|
||||
<li><a href="docs-viewer.html?doc=08-progress-tracker.md">📊 进度追踪</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<h2>核心玩法</h2>
|
||||
<ul>
|
||||
<li><a href="docs-viewer.html?doc=01-mechanics-task.md">🎮 机制设计</a></li>
|
||||
<li><a href="docs-viewer.html?doc=11-mechanics-design.md">⚙️ 详细机制</a></li>
|
||||
<li><a href="docs-viewer.html?doc=02-balance-task.md">⚖️ 数值平衡</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<h2>故事与关卡</h2>
|
||||
<ul>
|
||||
<li><a href="docs-viewer.html?doc=03-story-task.md">📖 故事设计</a></li>
|
||||
<li><a href="docs-viewer.html?doc=04-level-task.md">🗺️ 关卡设计</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<h2>分析与文档</h2>
|
||||
<ul>
|
||||
<li><a href="docs-viewer.html?doc=05-analysis-task.md">📈 市场分析</a></li>
|
||||
<li><a href="docs-viewer.html?doc=06-document-task.md">📝 文档规范</a></li>
|
||||
<li><a href="docs-viewer.html?doc=10-analysis-report.md">📊 分析报告</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<h2>协作计划</h2>
|
||||
<ul>
|
||||
<li><a href="docs-viewer.html?doc=07-collaboration-plan.md">🤝 协作流程</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
<p>Generated by OpenClaw Agent • Deployed via Git Workflow</p>
|
||||
<p>最后更新:2026-03-10</p>
|
||||
</footer>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user