Screeps 多 Spawn 队列怎么设计:优先级、去重、Energy 预留与任务分配
为同一房间或帝国中的多个 Spawn 建立统一队列:用稳定 requestKey 去重,按紧急度和等待时间排序,为共享 Spawn 与 Extension Energy 做本地预留,避免多个模块重复生成 Creep,并在后续 tick 验证真实孵化结果。
WRITING
汇总全部公开内容,包括 12 篇连续的新手路线与 68 篇基础工程、运行诊断和进阶专题文章。
为同一房间或帝国中的多个 Spawn 建立统一队列:用稳定 requestKey 去重,按紧急度和等待时间排序,为共享 Spawn 与 Extension Energy 做本地预留,避免多个模块重复生成 Creep,并在后续 tick 验证真实孵化结果。
当某个Screeps房间或模块抛出JavaScript异常时,用房间级错误边界、限频日志、连续错误暂停和冷却重试,让其他房间继续执行,并区分异常、API返回码与CPU截止。
排查 Creep 生成进度结束后仍停在 Spawn 内的问题:检查八个相邻格的地形、阻挡建筑、Construction Site、Creep 占位与方向顺序,并用 spawnCreep directions、setDirections() 和跨 tick 观察验证真实出生位置。
系统解释 Screeps Store 的已用容量、剩余容量和总容量:区分通用 Store 与受限 Store,正确处理 resource 参数、0 与 null、Lab 双容量、Tombstone/Ruin 只读资源,以及安全的 withdraw/transfer 数量计算。
当 Game.cpu.bucket 持续下降时,用带迟滞的 NORMAL、CONSERVE、EMERGENCY 与 RECOVERY 状态机保护 Spawn、采集、Controller 和防御,逐级暂停高成本任务,并在恢复后分阶段重新启用。
排查固定 Upgrader 到达 Controller 后不升级的问题:核对 Controller Link、站位距离、Energy、WORK/CARRY/MOVE、upgradeBlocked 和返回码,并用下一 tick 事件与 Store 变化验证动作。