我正在开发一个简单的 2D 自动化游戏,游戏中的物品不是通过输送带被运输的,而是被这类小家伙运输。这玩意刚刚遇到了一个移动的难题:试图在混合严格基于网格的物流(预定的路径)和流动的多单元群体移动(如 RTS)。
为了解决这个问题,我在 GameMaker 中构建了一个可用的 2DAgent 系统。由于这个是我的游戏核心机制之一,我决定将其完全打包发布给社区!
如何工作(TL;DR):
🟢 RTS 模式(流动群体) :Vous 可以选择并移动多个代理。他们使用 mp_grid 避免墙壁但在行走时脱离网格。 我添加了 Boids 分离向量以防止他们聚集/窄化,以及 Ulam 精灵算法来找到到达时的干净、不重叠的停车位。
🟤 ROUTES 模式(严格网格) :对于工厂物流,您可以在地图上使用路线启动器绘制方向路径。行走在它们上方的代理 “下载” 的route,严格保留矩阵的前面给它们等待交通和防止重叠。
*(一部完整详细指南在 README 文件中) *
请随意使用它!您可以在自己的游戏中使用这个系统,拆开它,研究它,或者想干嘛都可以 !不要忘记分享您做过什么!
如果有数学家在那里想要优化向量数学,改进 Boids 辐合还是添加新机制,Pull 请求太欢迎了!
🔗 GitHub Repo: https://github.com/T-Toni/AGENT_SYSTEM
评论 (0)