杀戮尖塔吧 关注:200,787贴子:3,212,915
  • 35回复贴,共1

写点关于尖塔ai化的可能构造分析

只看楼主收藏回复

当然先说一下本人纯属口嗨,鉴于学业要求短时间肯定是没法动手实践的纯属抛砖引玉希望大家能更好的优化逻辑


IP属地:北京1楼2023-05-24 16:25回复
    插眼


    IP属地:北京来自iPhone客户端2楼2023-05-24 16:30
    回复
      首先先定义一下需求:经费有限,很可能这个ai只能在几块甚至一块显卡上训练(估计最多可能就是某些研究生用一下导师实验室机子跑一跑了,估计也就几十块封顶了,这游戏也不是啥国民游戏很难拉到某些大公司注意目光和经费),所以指望通过大模型力大砖飞是很不现实的,同时使用大模型一方面之前ai爬塔视频也可以看出来过于泛化的大模型很难对某一个单一游戏实现比较好的效果(也可能是是钱“不够”),比如打尖塔能防住ai就不会攻击,另一方面大模型一定会带来金融上的纠纷(要回本),很可能跟游戏开发者方面产生冲突(为了最好的拟合游戏环境拆人家代码基本上是板上钉钉的了)。
      说了这么多意思就是这个网络基本上锁定是一个爬塔特化ai,指望通过大模型降维打击挺困难的


      IP属地:北京3楼2023-05-24 16:31
      回复
        然后做这个ai第一步:
        翻阅代码重构环境去除所有动画声音播放方面的内容,同时化简游戏内部逻辑(限制难度a20),从而能够实现并行训练
        当然这个问题自然你可以使用一个视觉ai网络,一个记忆ai网络慢慢拟合出来,但这肯定会增加开销,毕竟不是核心业务最好是不要在这方面下功夫
        可能牵扯到需要量化的东西:
        地图生成
        怪物意图状态自动机
        遗物,卡牌和药水的收录(卡牌灼热应该是个明显的bug,灼热的存在让卡池大小明显的变的无限,估计需要特化构筑打补丁或者放弃将白卡和绿卡简单当成两张卡的构筑)
        事件概率自动机


        IP属地:北京4楼2023-05-24 16:38
        收起回复
          接下来就是比较核心的业务分析了,这部分未来应该会有很多不同的ai给出不同的模型,我只是抛砖引玉,dalao轻喷
          尖塔的最终目标很明确:爬上最高层
          这是好的毕竟有一个明确的目标意味着我们可以使用强化学习的方式进行训练(不管你是设置层数奖励还是得分奖励还是其他杂七杂八的)
          尖塔内部可以分为两个不同状态:寻路网络和战斗网络
          个人认为寻路网络简单使用强化学习即可,毕竟寻路的目标(奖励函数)是只要爬的尽可能高就可以了,一些可能跟寻路网络相连的输入:血量,金币,遗物,卡组,当前层路线,事件概率自动机,卡牌选择
          但是战斗网络问题就比较大了,战斗的目标是多样的,即使是同样的敌怪和血量因为路线不同采取的策略也不同,有的对局可能要尽可能保血,有的对局可能要尽可能保药,有的对局甚至要在这些基础上卡一些遗物,这个属于多任务问题,强化学习很难胜任(有一种神经网络叫泛化网络可以实现在a任务基础上学习b任务同时不丢失a任务能力,或许可行),因此对战斗网络的设计是最难的
          寻路网络的输出自然是路线选择,当下一步为战斗时还要给出对应的战斗目标(奖励函数,你可以理解为血量,遗物计数,药水等变量组合出的一个函数)供战斗网络进行决策
          战斗网络的输入应该是血量,遗物,药水,怪物血量状态,怪物意图状态机,当前手牌/抽牌/弃牌状态,出牌数,玩家状态等等
          战斗网络输出就是寻路网络输入


          IP属地:北京5楼2023-05-24 16:54
          收起回复
            已经有人在做了环境直接用java的代码,打算先试下MCTS,再试下RL (逃


            IP属地:山东来自Android客户端6楼2023-05-24 16:57
            收起回复
              一个比较形象的形容:
              1.一个寻路网络正在进行决策,他在估计完整层路线后(与围棋不同尖塔每层层数固定应该一定可“穷尽”)给选择枝打了不同的分数,选择了一条分数最高的路线
              2.下一层如果未发生战斗事件由寻路网络处理返回1
              3.下一层若发生战斗事件则由寻路网络给战斗网络一个目标(奖励函数),战斗网络实现使得当前行为尽量最接近目标的操作
              4.战斗结束切换回寻路网络由寻路网络决定遗物和卡牌取舍,然后返回1
              由于寻路和战斗逻辑相对独立,个人认为可能战斗网络可以在寻路网络前独立训练,寻路网络只需要战斗网络的结果即可进行决策对内部细节不需要关心


              IP属地:北京7楼2023-05-24 17:00
              回复
                有人会说这不是车轱辘话么,一点营养没有
                不然为啥要叫抛砖引玉呢,所以欢迎dalao给出更好的看法和实现


                IP属地:北京8楼2023-05-24 17:02
                回复
                  再说一点另一款游戏魔塔理论上很容易ai化的(先架死经典魔塔),魔塔的战斗战损完全固定,因此可以省去战斗网络,剩下的问题实际上跟下棋没啥区别(都是状态之间的转移罢了)


                  IP属地:北京9楼2023-05-24 17:12
                  回复
                    我看前段时间neurosama玩过一会尖塔,训练了好一会了ai也还是只会攻杀,拿牌也不太会,还经常空过回合


                    IP属地:湖北来自Android客户端10楼2023-05-24 17:18
                    收起回复
                      每次看到你们讨论的这么嗨,就觉得我学个物理专业真是p用没有


                      IP属地:浙江来自Android客户端11楼2023-05-24 17:20
                      收起回复
                        我准备看ai暴杀海豹了


                        IP属地:浙江来自Android客户端12楼2023-05-24 17:28
                        收起回复
                          ……挑战ai爬塔的第几年了
                          (近两年有什么技术突破吗


                          IP属地:上海来自Android客户端13楼2023-05-24 19:56
                          收起回复