迷宫模式是我拓展传统魔塔玩法的一个尝试。高中时候,我在同学的文曲星上用BASIC做了个超大地图的魔塔(大概有50x50格),然后把纸质版地图“租”给那些着急通关的同学。记得那是一种完全不同于传统魔塔的体验——没有一眼就看穿的地图,所以每一个怪都要小心对待,甚至要绕到很远的地方去看它的背后是宝剑和还是死路。
那张纸质地图后来当然遗失了,《无尽魔塔》开发到一半的我也没有想再去实现一遍,因为内心已经完全沉浸在“随机生成”的“宝藏”里了。一开始尝试了一些方法随机生成迷宫,比如随机生成横向和纵向的道路,结果就成了这样:
迷宫的目的就是找到出口。设计的目的是让这个过程尽量的复杂和有趣。我选择了和故事模式一样的套路:在一定范围内通过道具和打怪升级提升属性,最后打败守在出口的Boss,完成一局游戏。明显上面的关卡是不能提供这样的过程的……
第二次尝试,从楼梯口出发,随机生成下一个路径终点,然后让终点上的怪物越来越强。看起来好一些了,但是由于会随机出并行的路径,怪物是可能直接绕过去的!
让横向和纵向的道路固定出现在偶数或奇数格上,可以保证让路径不出现并行的情况,但是……
面积利用率太低了! 当然,可以在这个基础上,在大面积的墙体区域生成秘密通道。(临时的脑洞,不知道有没有机会开拓)
最后还是教科书起了作用:深度优先递归。既然故事模式的套路有房间深度的概念,迷宫模式更需要有,而深度优先算法直接带来了便利:在最深的路径上放置Boss和出口,其次深的路径上放置最厉害的小怪和红钥匙 ,然后是关键道具,红蓝宝石,剑盾……
最后,我们需要一个“商店”来保证玩家在实在找不到剑盾或关键道具的情况下,仍然可以花费灵魂石来购买(同时也是消耗灵魂石的一个渠道)。这个商店就是一个预置的9x9的格子:
大家都不想和这些贪得无厌的商人(尤其是一把红钥匙卖2000金的那位)打交道,但是谁让人家手上有火焰剑呢。
商人好时髦
做得很完善啊
@eastecho:谢谢。试验了一些模式,但是还没有做到自己满意的“好玩”。
这个无限模式的算法非常棒。
魔塔刚出来的那段时间,特别迷。
随机性强的游戏有趣,看脸和技术的喵