Keppel 最近的时间轴更新
Keppel

Keppel

V2EX 第 372959 号会员,加入于 2018-12-26 11:41:07 +08:00
今日活跃度排名 154
根据 Keppel 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
Keppel 最近回复了
做的这些应用是自己的想法,还是借鉴的?
@ybbfie 这个报名了
@teaguexiao 为了让 AI 能够直接基于此文档进行开发(如编写脚本、搭建场景逻辑及配置数值表),这份**《木材大亨:H5 工业自动化版》完整技术设计文档 (GDD)** 进行了深度技术细化,涵盖了实体定义、状态机逻辑、精确公式及 UI 架构。

---

# 🪵 《木材大亨》 H5 技术开发设计文档 (V1.0)

## 1. 项目基调与技术规范
* **游戏类型**:Arcade Idle (动作放置)。
* **呈现方式**:2.5D 等轴测 (Isometric)。
* **开发平台**:H5 (兼容微信小游戏/手机浏览器),竖屏 9:16 。
* **性能目标**:Draw Call < 80, 内存占用 < 200MB [来源:技术检查表]。
* **核心循环**: 手动采伐 -> 自动化升级 -> 加工增值 (1:3:10) -> 订单交付 -> 元养成 (比兹商店)。

---

## 2. 核心数值体系 (AI 配置表基准)

### 2.1 资源价值表 (Soft Currency)
| 物品 ID | 资源名称 | 基础售价 | 加工深度 | 获取来源 |
| :--- | :--- | :--- | :--- | :--- |
| `ITEM_LOG` | 原始原木 | $1 | 0 | 林地采伐 |
| `ITEM_DEBARKED` | 去皮木材 | $3 | 1 | 去皮机产出 |
| `ITEM_PLANK` | 精细板材 | $10 | 2 | 分割机产出 |

### 2.2 升级与成本曲线公式
AI 应根据以下公式计算所有非线性消耗:
* **机器/工人等级费用**: $Cost(L) = BaseCost \times 1.15^{(L-1)}$
* **机器处理时间**: $Time(L) = Max(0.5, BaseTime \times 0.95^{(L-1)})$ (最小 0.5s)
* **比兹升级费用 (指数段)**: $BizCost(L) = BaseBiz \times 1.5^{(L-1)}$

---

## 3. 场景实体与逻辑逻辑 (Entity-Component-System)

### 3.1 实体:伐木林区 (Forest Area)
* **状态机**: `IDLE` (待采伐) -> `BEING_CUT` (采伐中) -> `STUMP` (树桩/再生中) -> `REGROWING` (生长中)。
* **逻辑**:
* 若判定范围内有角色且触发 `ATTACK` 动作,每秒减少 `Tree_HP`。
* `Tree_HP <= 0` 时,触发 **Squash & Stretch** 效果并掉落 `ITEM_LOG`。
* 再生逻辑:`STUMP` 状态停留 `15s` (可通过升级缩短) 后恢复。

### 3.2 实体:生产机器 (Production Machines)
* **共有属性**: `Input_Slot` (输入槽), `Processing_Timer` (计时器), `Output_Slot` (输出槽)。
* **实体 A (去皮机)**: 输入 `ITEM_LOG`,耗时 $T_1$,产出 `ITEM_DEBARKED`。
* **实体 B (分割机)**: 输入 `ITEM_DEBARKED`,耗时 $T_2$,产出 `ITEM_PLANK`。
* **逻辑**: 若 `Output_Slot` 达到上限(堆叠高度),机器进入 `PAUSE` 状态,上方显示红色气泡。

### 3.3 实体:AI 搬运工 (Logistics Unit)
* **行为决策树 (Behavior Tree)**:
1. 检查 `Destination` (目标仓库/机器输入) 是否有空位。
2. 寻找最近的 `Source` (掉落物/机器输出) 获取资源。
3. **物理堆叠逻辑**: 获取物品时,物品 Y 轴坐标递增,挂载在搬运工背部的 `Stack_Container` 节点。
4. 负重上限触发:达到 `Max_Carry` 后,路径寻路至交付点。

---

## 4. 系统功能模块

### 4.1 订单系统 (Order System)
* **触发器**: 卡车每 60s 抵达车站(若前一单已完成)。
* **订单生成**: 随机需求 (A 数量 * ITEM_LOG + B 数量 * ITEM_PLANK)。
* **奖励逻辑**: 金币 + **比兹点数 (Biz Points)**。比兹点数用于 `META_STORE` 永久升级。

### 4.2 第一张地图:任务节点 (Milestones)
| 节点 | 任务目标 | 奖励内容 | 引导点击气泡 |
| :--- | :--- | :--- | :--- |
| 1 | 手动收集 5 根原木 | $20 | "点我砍树!🪓" |
| 2 | 雇佣 1 名伐木工 | 解锁去皮机位 | "雇人砍树 ($20) 👷" |
| 3 | 解锁分割机 | $200 | "致富终点站!💎 ($500)" |
| 4 | 余额达到 $5,000 | 地图 2 门票 | "购买新工厂" |

---

## 5. UI/UX 与视觉表现 (AI 特效指令)

### 5.1 组件层级
1. **HUD 层**: 顶部金币/比兹余额(带缩放动效)、任务指示器。
2. **交互层**: 机器上方的“升级/购买”气泡按钮(半透明,呼吸灯效果)。
3. **浮动通知**: 金币弹出 (+10) 伴随向上漂移及淡出。

### 5.2 金币飞入特效 (VFX Logic)
* **发射点**: 车站卡车位置。
* **路径**: 贝塞尔曲线 (Bezier Curve),带 0.2s 随机延迟分散发射。
* **终点**: 顶部金币图标。
* **碰撞反馈**: 金币触碰图标瞬间,图标触发 `Scale(1.2, 1.2)` 震动并播放“叮”音效。

---

## 6. 混合变现逻辑 (Ad Triggers)
* **双倍利润**: 订单交付时,弹窗调用 `showRewardedVideo()`,成功后 `Reward * 2`。
* **狂暴砍伐**: 点击林区随机出现的“电锯”图标,看广告获得 60s 全员 3 倍速度。
* **缺口补齐**: `Current_Money < Upgrade_Cost` 且 差距 < 20% 时,升级按钮变更为“看广告补齐”。

---

## 7. H5 性能优化指令 (Technical Checklist)
* **合图处理**: 所有 2.5D 模型贴图合并为单张 `Atlas_Map1.webp` [来源:性能检查表]。
* **对象池 (Object Pooling)**: 金币特效、木屑粒子、掉落木材必须循环使用 `Pool` 容器,严禁动态 `Destroy`。
* **渲染排序**: 使用 `Order by Y-coordinate` 动态处理角色穿过机器前后的显示层级。

---

**AI 开发提示**:请优先实现 `Behavior Tree` 搬运逻辑与 `Numerical Controller` 数值控制器,地图 1 初始数据参考 `2.1 资源价值表`。 这是我跟 AI 聊的 GDD 文档,是不是太简略,每一个点应该细化成一个文档?
@kuhung 美术资源之类的非代码相关的是生成的,还是去开源资源站找的?
@NoobNoob030 像美术资源之类的也是 AI 生成的吗?
@jackOff 目前尝试了几次感觉是的, 我对游戏开发流程一窍不通,体验下来加上搜索一些内容才知道一点大概内容,有点难
@yvyvyv 比如微信小游戏那种,放置类的,这种量级的
感谢,bHVrYW55eHRAZ21haWwuY29t
3 月 25 日
回复了 Keppel 创建的主题 生活 怎样才能彻底戒烟?
@yungyu 彻底不抽了
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   3233 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 20ms · UTC 12:36 · PVG 20:36 · LAX 05:36 · JFK 08:36
♥ Do have faith in what you're doing.