最近,我改变了地图上怪物生成的方式。在之前的版本中,我手动配置了一个包含X,Y向量的图层来定义怪物可以孕育的点。但是,我很快意识到,这种方法并不是理想的,因为我需要手动配置游戏中每张地图的可能孕育点。

这最后导致没有什么意义,因为地图本身已经有一个配置指示它是否是安全区或不是。换句话说,如果地图不是安全区,那么它应该自动允许怪物孕育。

为了解决这个问题,我用一个算法来替换了固定向量的配置。这个算法自动分析地图上的所有碰撞向量,如树、岩石和地图边界,并找出可玩区域内的空点。这使得我能够获得所有有效的位置来安全地生成怪物而不需要手动配置每张地图。

在下面的视频中,算法已经在工作。当前地图配置设置为在可用区域中填充2%的怪物,结果如下。