我花了过去的一周时间重建了我的空间战斗游戏Perihelion:Rogue Orbit的sector生成器,好让它产生更有趣的遭遇。我的第一直觉是复制已有的布局,然后将飞机的包装塞进去,类似于基于游戏目标的过程式RTS地图。随着我逐步完成它,我发现最有用的输入不是地形应该放在哪里,而是它不应该放在哪里。以这种方式来思考,让走廊和开放空间从遭遇本身中产生出来。每个sector都代表了一组战术关系。包围飞机守卫目标,互相支持当他们被激活时,或者在玩家做出什么事情后到达。我把这些关系转化为排除走廊,然后将行星和地雷围绕它们。活跃的开放空间保留了直接接近的方式。较静的开放空间使用弯路,让它们可以导航而不自动提供干净的射击线。防御者保留了对目标的访问,而补援有足够的空间到达最近的触发事件。这种方法比使用已有地形模板更有效,因为布局现在遵循遭遇的逻辑。仍然有很多随机性,但它在约束中运作,保持结果sector可读和可玩。整个过程都是有序的,并且现在可以为每周挑战提供相同的运行种子和模块配置。有人尝试生成约束和关系而不是直接生成完成的arena时有更好的结果吗?