心灵终结吧 关注:85,080贴子:3,040,723

以pyecharts绘制基于TS引擎的地图触发网络

只看楼主收藏回复

1l空,2l相关链接及前言
善用只看楼主
每层楼有编号,若被吞会尝试补全


IP属地:福建1楼2020-02-26 19:04回复
    02.
    代码开源,有能力可以自行修改。
    如果不知道如何使用python和pyecharts,而且看不懂readme的话,不建议使用此工具。本贴为思路与结果展示,并非教程贴,不会对疑问做出解答。
    此工具需要python 3.6以及pyecharts,请自行pip。


    IP属地:福建2楼2020-02-26 19:04
    收起回复
      03.
      效果:
      生成一个展示了所有触发器、局部变量,以及它们之间所有关系的html页面

      (本图网络为Allied 1-5 Bad Apple)
      页面可缩放,各节点和连接线可拖动。Mouse focus后会显示该触发/变量被提及的次数,并高亮相关node,淡化其他node。


      IP属地:福建3楼2020-02-26 19:06
      回复
        04
        思路:
        依次读入地图中所有触发,以及相关的Event和Action,再读入所有局部变量(Local),对每一个触发和Local定义一个计数,代表该触发/Local被提及的次数。
        运用之前做极昼触发网络的思路,定义以下规则:
        A.如果一个触发使用了Action 12\22\53\54,那就把这个触发与该Action提及的触发相连,二者计数均+1。
        B.如果一个触发使用了Event 36\37或Action 56\57,则将该触发与Event/Action提及的Local相连,二者计数均+1。
        C.如果一个触发有关联触发,则将二者相连并计数+1。
        依照此规则生成node列表和link列表,丢给pyecharts建图即可。
        本方法对使用cnc2引擎及以上版本、在触发中拥有36\37号Event、在触发中拥有12\22\53\54\56\57号Action的所有地图均可用。


        IP属地:福建4楼2020-02-26 19:06
        回复
          05
          使用方法:
          不再写一遍了,见readme.md


          IP属地:福建5楼2020-02-26 19:07
          回复
            06
            (喜闻乐见的)案例分析:
            由于发在mo吧就不看其他的了,最多拿两个原版战役来看。
            各网络展开讲都能探索一天,所以稍微讲两句就行。
            案例1:原版-新兵训练第一天(78 nodes / 78 links)(nodes,links 下略)

            算是比较典型的一个线性结构,各触发联系比较紧密。图的上方和右侧的两条链是彩蛋触发。离散的零散触发不多,也没有什么比较核心的部分。
            案例2:原版-新兵训练第二天(46 / 40)

            似乎比第一天更单线,没什么好提的。


            IP属地:福建6楼2020-02-26 19:08
            回复
              07
              案例3:原版盟军1-孤独守卫(132 / 119)
              总览图:

              不过我还是喜欢隐藏label的总览,比较清楚

              从现在开始,网络算是有点规模的了。游戏从谭雅上岸开始,分3路往外走,一条指向自由女神像相关并开启之后的触发,直到开启一路上的动员兵攻击;一条直接指向失败条件;一条直接指向后面的2个目标并开启V3轰炸,最后指向胜利条件。放大了看就会发现最大的几个节点是胜利条件、失败条件,以及刷兵相关的总线触发。具体展开讲的话又是一大篇,有时间的话可以自己慢慢探索。


              IP属地:福建7楼2020-02-26 19:10
              回复
                08
                案例4:原版盟军11-核爆辐射尘(125 / 95)
                总览

                中间一个大圆点是局部变量-传送仪已建造。这算是一个原版里用局部变量掌控一部分网络的案例之一了
                局部放大:


                IP属地:福建8楼2020-02-26 19:11
                回复
                  09
                  案例5:MO-A01-赤色黎明(170 / 149)

                  感觉密了很多,但实际上是字多而已,比原版A01多出一些而已。
                  上面的大圆点叫panic mode,控制一大串音效;中间最大的方型是苏军第一波进攻;左边一堆是胜利相关触发。零散触发比较多。


                  IP属地:福建9楼2020-02-26 19:12
                  回复
                    10
                    案例6:MO-E01-和平守护者(137 / 157)

                    这条单线有点亮眼。走线如箭头所示。大部分MO地图都有类似的一条长线作为intro,只不过这条有点长。


                    IP属地:福建10楼2020-02-26 19:13
                    回复
                      11
                      案例7:MO-S02-金门之战(107 / 102)

                      双线。跟上个案例一比,这张图的intro比较零散,除了右边一条短线以外,别的地方还掉了一地,估计是每个触发单独计算时长。


                      IP属地:福建11楼2020-02-26 19:13
                      回复
                        12
                        案例8:MO-S09-无果之路(115 / 15)

                        典型散装触发,也是全MO惟一一个这么散的
                        不开label的话几乎什么都看不到


                        IP属地:福建12楼2020-02-26 19:14
                        回复
                          13
                          案例9:MO-E11-奇点(328 / 371)
                          MO中首个节点和关系链接均上300的地图,也是一类典型的较复杂网络。分几条来讲


                          intro线,一路向上到任务目标(ob)2;ob1大多散装,一部分与ob2和alarm线相连

                          此处ob2和ob3相连,下面紧邻的就是警报总线和ob4


                          完成ob4后,一条线过来分两路,一路往上走到战争总线,一路往下是我们准备跑路

                          战争线就是一路过去刷兵,以及给我们开图

                          跑路线是两边接应,3人上车后检查条件,宣告胜利

                          前面跳过那么多图的原因是大部分结构相似,并且节点数/链接数大多在40-80左右徘徊,极个别的少于30。


                          IP属地:福建13楼2020-02-26 19:18
                          回复
                            14
                            案例10:MO-E12-月光(321 / 597)
                            首个上500 link的图。这个倒是值得讲一讲的



                            IP属地:福建14楼2020-02-26 19:19
                            回复
                              15
                              从胜利条件来切入讲,胜利就是第2,3,4号发射台的运输车完成了某项任务,以此向前找,就能理清整个网络的思路了:

                              每一个driller通过一个触发和发射台相连

                              往前一看,就是3大发射台的逻辑了:每个发射台带一圈计数器数到10(蓝圈),连着各自的driller apc,各apc对应了进攻波次(红箭头),数到10后开启local(蓝箭头)并汇报总线(紫箭头),最后向左宣告胜利。

                              中央最大的方形触发是失败触发,字面意思就是确保你不再胜利

                              还有个站呢?不是4个吗?
                              别急,有桥

                              不过游戏不是从底下开始的,是从左边。附带了你的一批援军。


                              IP属地:福建15楼2020-02-26 19:22
                              回复