太阳系争夺战3吧 关注:170贴子:531
  • 15回复贴,共1

【自制入门】教你如何制作一个内容简单的地图和关卡

只看楼主收藏回复

上期回顾:https://tieba.baidu.com/p/7473202484
注意,自制过后的游戏未经处理不可直接安装在手机上,必须安装在模拟器中,例如电脑上的夜神模拟器、手机的X8沙箱,等等。目前官方群中的自制版可以直接安装,是因为通过某些软件处理了初代自制版本,这里不便透露,可加群了解。
关卡成果镇楼。


1楼2022-03-06 02:14回复
    制作关卡和地图首先需要明白各个文件表示的含义。我们要编辑的是xml文件,下图列出了所有重要的xml文件的含义。因为只是编辑地图和关卡,所以我们只需要用到其中的“Level.xml”,“aistrategy.xml”和“maplist(文件夹)”。
    当然,“mapnode.xml”这个文件你可能需要看一下。下面是这个xml文件。(我是使用VS Code打开的,这样在做某些编辑时会方便些。你们也可以选择直接用记事本打开。)因为本次编辑要做的只是最简单最基础的地图,所以我们只需要用到上图中大括号中的东西。它们分别是:30星球、40星球、50星球……以此类推。


    3楼2022-03-06 02:16
    回复
      现在我们打开地图文件。

      我们只需要用到下图红框中的文件。
      红框中文件编号含义是:章节+关卡序号。例如,“100101”中的“1001”代表第一章(第一个星座),而后面的“01”代表“第一关”。


      5楼2022-03-06 02:18
      收起回复
        第一关的文件先暂时跳过,我们打开第二关的文件“100102”。如下图,我们可以看到地图的布局。
        其中,红框的内容是我们需要编辑的。
        在”mapbuildings“一栏中展示的是天体布局,”mapplayers“则是天体上面的开局飞船数。
        “type“是天体种类,”size“是天体大小,”x“和”y“代表坐标,上面的”camption“是该天体所属势力,下面的”camption“是该天体上的飞船数量和飞船的所属势力,”tag“是标签。


        6楼2022-03-06 02:18
        回复
          我们先看看这关的景象吧。
          如大家所见,坐标为(-3,-2)的星球正是我方星球,上面有我方的70飞船;坐标为(3,2)的星球是敌方星球,上面有敌人的30飞船;而坐标(0,0)的星球是中立星球。怎么样,是不是和地图信息完美对应?


          7楼2022-03-06 02:19
          回复
            现在我们对第二关的地图进行编辑。我将给出坐标图,在这上面进行基本的地图设计,然后再把它转换为代码。
            下面是游戏界面的坐标图。
            先使用电脑自带的画图帮助我们画简略地图。假设我们以圆圈代表星球,圆圈颜色代表所属势力,圆圈上方的数字代表星球容量,圆圈中间的数字代表星球开局拥有的飞船。那么如下图:

            上图就表示一个开局拥有20飞船的蓝色30星球。
            现在在坐标图上画出简略地图,由我来设计。你们也可以自行设计地图。


            8楼2022-03-06 02:21
            收起回复
              设计好地图后,就按照简略图,把关卡的代码写出来。
              注意,写代码的这一步考验你是否真正看懂了帖子前面的内容!
              写完代码后保存就好。注意,这里因为是直接在压缩包里编辑的,所以要记得在压缩软件这里也要进行保存!


              9楼2022-03-06 02:23
              收起回复
                好了,我们把编辑好的游戏直接安装到模拟器里测试一下吧。
                记得断网哦!不然游戏是打不开的!
                翻到第二关。
                怎么样,是不是完美符合之前的设计图?


                10楼2022-03-06 02:24
                回复
                  当然,到了这一步还没有结束。你会发现,AI不会行动!这是因为在关卡设置里,这关的AI被设置为”idle“,所以AI不能行动。因此,现在还需要在关卡文件里面修改AI设置。
                  还记得关卡文件是哪个吗?对,就是“Level.xml”。
                  我们要找的是第二关的数据,就在红框的这一排里面。
                  找到AI相关的参数,如图:
                  其中,“aitype”是AI类型,“aiparam”是AI反应时间间隔(单位:秒),或者说反应速度。


                  11楼2022-03-06 02:24
                  回复
                    在修改之前,我们先看一下AI类型有哪些吧。点开aistrategy。
                    事实上AI类型也可以添加,甚至可以通过重组图中“action”代码得到全新的AI,但这里不做展示。


                    12楼2022-03-06 02:25
                    回复
                      现在我把这关的AI改成“AI4.0”,反应速度调成2。
                      编辑完成后保存,再进关卡,AI就会动了!当然也废了我不少力气去消灭就是了……


                      13楼2022-03-06 02:25
                      回复
                        好了,以上就是本贴的全部内容,希望各位读者能有所收获,我们下期再见。


                        14楼2022-03-06 02:26
                        回复
                          补三楼的图


                          15楼2022-03-06 14:06
                          回复