写一个这样的魔塔游戏是多大的难度。

share
魔塔初始为50层,进入游戏后程序随机生成怪物,墙壁,状态商店和道具,同时计算出唯一的通关路线。当玩家走错路线无法通关时,可以找固定npc通过对话触发事件,使塔的层数增加10,刷新魔塔,并使魔塔的通关路线数目增加1,像这样循环往复,当魔塔层数达到1000,通关路线达到95条时,若玩家还无法通关,则游戏结束。

摩羯叶子爱:很难,穷举肯定不可取,攻击,防御数值变动,以及血和钥匙的双重限制,会让计算复杂度大量上升
我曾经在16年不知还是17年就整过这么几个东西(魔塔路线计算器)
核心用的是SPFA算法,另外混了不少奇奇怪怪的东西
计算量最小的塔应该是是那种只有攻击和血,打怪卡经验升级的这种(无宝石),计算方法就规划路低损血路线升级,加上考虑攻击次数阈值就可以解决,这种高层的计算压力并不大
---------------------------------------------------------------------------------
实际上低计算量的正常魔塔拆塔路线(人工做的非道具塔)
1.计算单层或者低层的最优路线---->下一层 举个例子,计算123层,通过第一层,计算234层,通过第二层,计算345层,,,,,,
2.怪物阈值,然后考虑拿宝石路线,考虑血线是否足够,不够就再次规划,
3. 发布于 2021-03-17 08:37:26

Sy丶流:感觉容错性很难把握。 发布于 2021-03-15 02:16:16

1046880431:生成一条路的塔就行了,商店只能全部加攻击才能通关,然后玩家加错一次防御就加十层 发布于 2021-03-15 01:15:06

风色de梦幻:写了简易的怪物的dataframe 随机生成算法也有了一点想法 看来用python造塔不是难事 发布于 2021-03-14 23:41:36

风色de梦幻:首先先写两个类 发布于 2021-03-14 21:58:26

lalamodiy:你们搞得那么复杂干嘛,题主你是想玩家猝死才能打完通关吗?我觉得是程序员先猝死。
这个程序的难点在于数据库的关联,你需要根据特殊情况来添加更多判断
随机刷新事件很好做,就像新增一个变量一样,
而其实找出唯一解也很简单,你只需要用遍历让计算机狂跑。
先把所有的事件附一个布尔值:区块是否不被阻挡off,再添加一个事件结束处理:四周区块是否不被阻挡on
变量str=“”
遍历执行每个不被阻挡的事件{
处理事件; str+=空格+事件编号;
if 勇士的生命!=0
then
if 事件不是魔王被击败 then遍历执行每个不被阻挡的事件{ if...遍历{....}}.....} else 返回str;end
else
str减去末尾空格+事件编号;
end
}//中间你还可以判断:是否是特殊的事件编号,
//来修改其他事件是否不被阻挡的on/off,这样就可以添加一些机关了
然后你再用玩家触发事件记录的str和唯一解的str作比较,就可以判断他是不是走错了。
像是夹击类的怪物你需要在夹击处添加一个事件来触发,但是需要判断的东西就会变多,玩家朝不同方向出去,就需要on/off不同事件的不被阻挡开关,str的格式也需要改变成空格+事件编号+是否特殊事件+特殊事件值来储存,所以越是高级的魔塔编写难度就越高。
这个程序开始的过程就有问题,先随机生成数据再计算唯一解是不可能一直实现的,(除非你从量子层面上计算)
必须从结果开始推算出其他随机的关联数据,这样才能实现唯一解,但唯一解根本不是游戏的目的,
随机塔的最大乐趣不是有解,而是什么时候卡关死亡,享受不断升级,最终突破最高分数的挑战。
但如果你就是想实现一个从随机数据中找出解的程序,那就跟计算机推塔没什么区别,你完全可以把玩家推塔的过程编成程序反复执行,可一个可以被计算机拆完的塔,为什么要人去玩? 发布于 2021-03-13 22:59:06

111dps:NPC,图灵奖,懂?
比如搞一个200%吸血怪,给勇士2魔防,就可以限制最后打时必须刚好1hp,然后搞一堆固伤怪,就是背包问题了,您解决这个就有图灵奖了,还有100w美金。 发布于 2021-03-12 19:37:36

肖琛12345:完全可以做到,但非icpc方面的高手基本不可能完成
魔塔的最终状态n(通关)可以由m(<n)状态转化而来-》符合Dp结构
题主的意思就是设计一个输入最终状态节点数(通关路径数)、拓扑分层数(魔塔层数)后可随机生成的有限自动机,这是非NP_hard问题,魔塔图结构的DP方程是极其复杂且弱逻辑规律的状态转移方程,增加物品对状态转移方程产生的影响可能巨大也可能无效,即病态方程组,因为玩家可能在有限自动机的任意一个状态卡住,所以若想要通过开关精准增加一条通关路线,则要在有限自动机的每一个节点都做相应的锁结构
涉及到的内容较多,不知道题主的数学和编程水平如何,如果想做这种塔,要有近世代数、较强的数据结构功底和组合数学中的有限自动机的一些基础 发布于 2021-03-12 13:08:16

斯莱特恩_艾力:魔塔的本质是关卡设计,我以前也想过(甚至还构思过可联机游玩的随机魔塔),虽然这样理论上是可行的,而且塔吧也曾经一度出现随机塔,但关键在于它没有可重复游玩的价值。对比无人深空和星际拓荒就知道,玩家喜欢的是手工打造的关卡,而不是程序机械生成的,所以说虽然从程序上讲很有意思,但玩家不会买账。
感兴趣的话可以尝试,毕竟制作者本人的探索还是很有趣的。 发布于 2021-03-12 12:23:16

EVA编外机X:这是不可思议迷宫系列,不是魔塔系列,而且不可思议迷宫系列也是有限多种的组合生成的迷宫,
有限多组合做个伪随机魔塔倒是不难比如画个几百张地图,开一把就读取其中的几十张排列一下,每一页铺满随机出现10来个怪和门和道具什么的
但是这样基本要么太简单要么太难
做简单点的剧情塔或许可以 发布于 2021-03-12 12:08:46

NOII劍帝萊維:好了,你说的我都懂了。那么这语言该怎么写呢? 发布于 2021-03-12 11:31:16

风色de梦幻:想了下其实很好解决计算量的问题。在50层塔里如果有 1000个节点的话,只把其中的10个作为影响游戏进度的关键节点,但在可视化界面里不把它们与普通节点做区分,这样计算量就缩小到了10的10次方。 发布于 2021-03-12 04:35:26

朴哥哥SAMA:刀剑萌域吊打计算机 发布于 2021-03-12 04:33:36

零时零分零秒2:建议在塔随机组建完后给予地图。。。不然,te,不想了 发布于 2021-03-12 04:15:46

W5555W55:人拆塔并非完全穷举,比如tsw的max就已经被打出来了() 发布于 2021-03-12 03:20:16

爨饕餮偉:不能实现,也不会有什么人想玩。h5魔塔有个随机的每日五层小塔,过关是很容易的,但现在也是没人玩,论体验随机出来的塔和人设计出来的热门塔差得很远,如果还是高层唯一解,更不会有人去碰 发布于 2021-03-12 01:08:26

早苗厨:这不是难不难的问题,首先请准备通用量子计算机
发布于 2021-03-12 00:41:36

不灭的霜之哀伤:建议自己写脚本 发布于 2021-03-11 19:25:46

血腥的双鱼玫瑰:求解魔塔是一个np难问题, 发布于 2021-03-11 16:58:36

追影入梦:现在的拆塔AI没有这么强,50层的塔完全算不出最优路线 发布于 2021-03-11 16:53:06

风色de梦幻:这样可以和谐地给游戏加入不同的结局:当玩家直接通关50层塔时,触发true end,当玩家通关60/70/……/1000层塔或者无法通关塔时,触发程度依次增强的bad end. 发布于 2021-03-11 16:49:16

风色de梦幻:暗道,机关门也应该可以很容易地加入算法里。这样应该可以制作出高水平的魔塔。 发布于 2021-03-11 16:48:26

风色de梦幻:理论上我觉得写这样的程序可以实现:只需要随机生成样本,并对样本的某个属性的函数做极值就可以了。但不知道计算量有多大。 发布于 2021-03-11 16:45:26

更多写一个这样的魔塔游戏是多大的难度。相关问题

问题:写一个这样的魔塔游戏是多大的难度。

回答:p社早就飘了啊。。 详情 >

问题:新人随便说一些对魔塔制作思路的看法

回答:好贴,看起来AI总算变聪明了 详情 >

问题:《魔塔》【情报】光明崎岖已经烂尾

回答:开始一直没发现3个红钥匙可以用出去,打3神那条路打不过但是可以打黑龙那条,本以为这游戏非常难。 后来在帖子回复里才看到有连击仗。又读了档打一遍,发现有连击仗以后海底就没有敌人了,一路打下去。。这样看来是应该有个困难难度 详情 >

问题:《魔塔》关于造塔的风格类型广义与狭义问题,所得出的结论与创新。

回答:可以抓很多俘虏我觉得非常好 详情 >

问题:有没有简单点的魔塔。。面向新手的

回答:话说有人试过曲率直接降落吗 详情 >