feat(map-gen/wilderness): 实现第三幕丛林河网与分支拓扑图算法(DRLG_GenerateJungles) #53

Closed
opened 2026-09-17 05:20:42 +00:00 by troytt · 1 comment
Owner

背景与现状

在 src/game/wilderness.ts:2608 中,stampAct3Jungle 将第三幕蜘蛛森林、庞大湿地与剥皮丛林简化为了固定的两列布局:

  • 左列(x=0)放置预制林间空地;
  • 右列(x=32)放置预制直河道(Tail 在顶,Head 在底)。

暗黑2原版逻辑(Oracle / Ground Truth)

  • 原版中,第三幕丛林由专属复杂的 DRLG_GenerateJungles 算法生成。
  • 该算法构建了复杂的河流拓扑图,生成蜿蜒曲折的河道网络、河心岛、吊桥跨河通道,以及通向庞大湿地或剥皮丛林的分叉支路。

差异点与缺陷表现

  • 原版中最具探索感和迷宫特质的雨林河网,在 TS 中完全退化为平行的笔直两列通道,缺乏曲折探索感。

解决建议与改造方案

移植原版 DRLG_GenerateJungles 河流拓扑分支算法,实现动态水系网络与桥梁跨河通道的真随机生成。

## 背景与现状 在 `src/game/wilderness.ts:2608` 中,`stampAct3Jungle` 将第三幕蜘蛛森林、庞大湿地与剥皮丛林简化为了固定的两列布局: - 左列(x=0)放置预制林间空地; - 右列(x=32)放置预制直河道(Tail 在顶,Head 在底)。 ## 暗黑2原版逻辑(Oracle / Ground Truth) - 原版中,第三幕丛林由专属复杂的 `DRLG_GenerateJungles` 算法生成。 - 该算法构建了复杂的河流拓扑图,生成蜿蜒曲折的河道网络、河心岛、吊桥跨河通道,以及通向庞大湿地或剥皮丛林的分叉支路。 ## 差异点与缺陷表现 - 原版中最具探索感和迷宫特质的雨林河网,在 TS 中完全退化为平行的笔直两列通道,缺乏曲折探索感。 ## 解决建议与改造方案 移植原版 `DRLG_GenerateJungles` 河流拓扑分支算法,实现动态水系网络与桥梁跨河通道的真随机生成。
Author
Owner

修复完成并验证通过

  • 关联分支: fix/issue-53
  • 提交记录: 723f5dc
  • 核心改动:
    1. 新增 src/game/wilderness-jungles.ts 实现完整的 DRLG_GenerateJungles 丛林河流网络与分支拓扑算法;
    2. 支持蜿蜒曲折河流走势、多列分叉支流、河心岛林间空地与跨河木桥预设;
    3. 建立蜘蛛森林 (76)、庞大湿地 (77) 与剥皮丛林 (78) 之间的动态分支连接与湿地跳过逻辑;
    4. 新增 tests/wilderness-jungles.test.ts(11/11 项单测全绿),全量 641 项测试无回归,npx tsc --noEmit 0 报错。
### 修复完成并验证通过 - **关联分支**: `fix/issue-53` - **提交记录**: `723f5dc` - **核心改动**: 1. 新增 `src/game/wilderness-jungles.ts` 实现完整的 `DRLG_GenerateJungles` 丛林河流网络与分支拓扑算法; 2. 支持蜿蜒曲折河流走势、多列分叉支流、河心岛林间空地与跨河木桥预设; 3. 建立蜘蛛森林 (76)、庞大湿地 (77) 与剥皮丛林 (78) 之间的动态分支连接与湿地跳过逻辑; 4. 新增 `tests/wilderness-jungles.test.ts`(11/11 项单测全绿),全量 641 项测试无回归,`npx tsc --noEmit` 0 报错。
Sign in to join this conversation.
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: troytt/diablo2-web#53
No description provided.