我刚刚实现了我的程序生成建筑系统的“趣味”阶段,这个阶段核心机制已经存在了,现在我可以思考一些有趣的新功能了。比如说,能够让楼梯按照地形来调整,来使高处的地方变得更容易到达。这让我开始思考如何创建一个峡谷/悬崖环境,并且使得建造坡道、楼梯和连接结构的桥梁变得更加容易。最难的部分是如何确定楼梯已经达到地面。听起来很简单,但确实给我带来了很多麻烦,尤其是石阶,尽管它们在地面上结束,但却不愿意延伸到一个合理的最后一步(比如说3英尺以上地面)。就像从地面开始建造墙壁一样,算法从最后一阶开始“走”向前,调整高度来保持在固定的高度范围内。如果玩家拖动一个角落,那么就添加一个平台,并且旋转方向90度。石阶内部是空的,以减少几何体数量。A*寻路算法用于NPC,目前可以很好地处理多层寻路,比如楼梯和塔楼楼层。