大家好, 我只想展示一下我自动化roguelite游戏中同时生成超过1000个敌人的能力。很容易看出游戏在初始化之后能很流畅地处理所有敌人。幸运的是,游戏使用了对象池来管理敌人,敌人被杀死后,重新加载的时间会大大减少。至于运行敌人的部分,每种敌人都由一个名为“SwarmMaster”的类来管理,负责运行一个名为“ManageSwarm”的协程。这个协程会循环遍历每个敌人,根据一定的延迟时间来控制他们的移动和攻击。这样就可以让每个敌人不需要一直运行,cpu负载也会被分散得很均匀。如果你已经看完了这个帖子并有任何处理初始化峰值的建议,我很乐意听取。游戏可以很流畅地处理2000+个敌人,但是在初始化阶段会出现明显的卡顿。在正常游戏中,我会将敌人的生成分散在10秒左右的时间内,然后再激活所有敌人,这是因为游戏是基于波浪的,所以我可以这样做。感兴趣的人可以在Steam上找到游戏:https://store.steampowered.com/app/4690580/Astral_Industrial_Complex/