大航海家3吧 关注:5,972贴子:153,875
  • 11回复贴,共1

【迎新年开新篇】P3的地图和Mod制作、修改的介绍

只看楼主收藏回复

很久没来发帖了,该研究的都研究的差不多了,但唯独这一块很少,整个贴吧中关于此的文章寥寥无几,地图制作还好些,Mod的则是少得可怜,目前已知的仅有dumaer和Patrizier两位网友做过,在网盘中也有下载,但关于方法他们自己也没在这交流过,使得其他网友即使想尝试也无法得知方法。我完整成品没发表过,只是测试用的做过一些,和他们也没交流过,这里把我知道的一些发贴出来。
想在一个帖子里把关于这方面的所有信息都详细说完是不可能的,只能是说个大概的结构,给想尝试的人指明个方向,明确个思路。
如果之前已经有过帖子的,我会尽量不重复。我发的都是我自己独立的研究,如果借鉴了前人的结果,我会声明;如果和两位以及其他吧友有不谋而合的地方,或是不足、错误的地方,欢迎补充和指正。


IP属地:江西1楼2016-02-03 00:06回复
    过来看一下
    我看到过一个把全图改成中国地图的MOD
    现在也不知道该怎么佩服。


    IP属地:江苏8楼2016-02-03 12:32
    回复
      还没写完被加精了,先谢谢吧主了,晚点再接着写


      IP属地:江西9楼2016-02-03 18:30
      回复
        再发几个图看看:



        节点的作用不是告诉这里是海岸线,甚至很多节点并不是完全贴近陆地,他的作用是让船知道如何转弯,也就是在靠近海岸线的地方变向(不然要么到不了目的地,要么就要撞到陆地了)。如何使用这些节点,后面会说。


        IP属地:江西12楼2016-02-04 05:48
        回复
          (3)在接下来不说文件,先仔细分析一下游戏中航线的生成结果,这里不发截图,用个更清晰的示意图代替:

          图中的起点和终点是海面上,是船要去的地方,其他圆圈是一个个节点。
          实际结果船会怎样走,我们都太熟悉了,走的是紫色线路。但仔细分析游戏中计算航线,有多少种选择?
          1、当船要到终点,而中间又有陆地的阻挡,因此像红线那样“一条直线拉过去”是不行的。
          2、离起点和终点最近的节点,也并没有被选,否则就会走绿色线路。
          3、沿着要绕过的陆地有一圈的节点,而他也并不会全部选择,不会走2345678这样的路线,更不会笨的选距离更近、但总路程更远的123456789这条线路,而是最优解的234678这条可行且绝对最短的路线。
          4、它也不会选择节点转折次数更少、但总路程反而更多的、靠左边陆地周围那些节点。
          5、游戏中设计了350个节点,如果过多,就会让船过分的贴着海岸边走,路线过于弯曲,在拥挤曲折的水道里,愚蠢的走Z字形的路线。而如果设计的过少,例如假设把这一片简化到只有AB两个节点,路线倒是简单了,可又会路线更长,且让玩家看起来走的十分机械死板,使玩家体验大为下降。


          IP属地:江西13楼2016-02-04 06:17
          回复
            几个文件中,nav_matrix.dat负责水域地图,nav_vec.dat负责节点,最大的matrix_int.dat负责节点与节点之间的跳转关系,意思就是,当起点和终点之间要经过多个节点(参考上面的截图,航线是一条经过多个节点的曲线),而当到达第一个节点之后,如何找到“下一个”节点。不断的重复这一过程,不断的在当前位置找到“下一个”,最终就是整条航线。这里的“节点表”负责的就是每个节点如果要去任何一个节点,应该找的下一个是哪个节点。
            说起来有点拗口,打个比方,如果一趟航线很长,要经过的转弯处(节点)很多,那么游戏能计算出的是与起点和终点最紧邻的两个节点A和B,中间要用到的大量节点1、2、3、4、5……(如何一次次转弯),则在表里查。
            整个matrix_int表总共735000字节,分为大小相同的350段,每段长度2100字节,对应于之前定义的350个节点,并且顺序要完全一致,依次对应。
            每段内又分为350个条目,每个条目6字节长,也是和350个节点对应。这里也是要顺序完全一致的依次对应,而且如果修改了节点的数量,则段和条目的数量都要修改。
            用个图说明比较直观:


            IP属地:江西15楼2016-02-18 18:02
            回复
              挖坟


              IP属地:安徽17楼2018-05-22 09:46
              回复
                再次挖坟


                IP属地:广西来自iPhone客户端18楼2021-02-08 13:16
                回复
                  晕,看到迎新年,还以为是新帖。。谁给顶上来的


                  IP属地:广东来自Android客户端19楼2021-02-18 11:01
                  回复
                    继续,期待更新,


                    来自Android客户端20楼2021-02-19 20:44
                    回复