
技术复盘:从零构建以撒式 2D Roguelike 框架
技术复盘:从零构建以撒式 2D Roguelike 框架 🚀 项目概览 本项目是一款 2D 俯视角 Roguelike 动作游戏。开发核心目标是复刻类似《以撒的结合》的程序化关卡生成与高度可堆叠的道具系统。 引擎版本: Unity 2022.3 LTS 核心挑战: 随机地图的拓扑一致性、基于 ScriptableObject 的解耦道具系统、多层级 AI 行为树。 🛠 关键技术实现 1. 程序化随机房间生成算法 (Procedural Room Generation) 为了实现“以撒式”的布局,我放弃了简单的网格填充,采用了一种基于深度优先搜索 (DFS) 变体的增长算法。 逻辑流程: 初始化中心起始房间。 利用队列维护待生成的出口,随机尝试向四周伸展。 约束控制: 通过设置 MaxRooms 和 DeadEnd 概率,确保地图既不会无限延伸,也不会过于拥挤。 特殊房间放置: 算法会在距离起点最远的分支末端自动计算并放置 Boss 房,在侧支放置 商店房。 2. 高扩展性道具与子弹修改器系统 Roguelike 的灵魂在于道具堆叠。为了避免 if-else 爆炸,我采用了装饰器模式 (Decorator Pattern) 与 ScriptableObject 相结合的方案。 技术亮点: Data-Driven Design: 每一个道具都是一个 ScriptableObject,包含修改属性(攻击力、攻速)和子弹特效(分裂、追踪、反弹)。 计算管道: 玩家射击时,子弹会经过一个 ModifierChain,依次应用当前所有道具的效果。 解耦: 道具系统与玩家逻辑完全解耦,新增一个道具只需新建一个配置文件,无需修改一行代码。 3. 多样化 AI 决策逻辑:状态机与预警系统 针对普通小怪和复杂的 Boss,我实现了分层式的 AI 架构: ...