marioworker吧 关注:563贴子:157,989

【研究】关于一维关卡的深入研究

取消只看楼主收藏回复

RT,炖以后不想做关了,,,
这是炖发的最后一个与MW有关的帖子


1楼2018-07-22 15:14回复
    一、一维关卡概述
    一维关卡,顾名思义,马里奥只能在一个竖直位置上水平移动。
    该类关卡为负引力的一个分支,发明人是LLX奶油马里奥。
    做法:
    常规关:将引力调至-63至-67
    水关:将引力调至-31
    在蓝太阳的盘点MW的高大上设计一贴中,提到该设计具有待开发的前景,于是鄙人便进行了一些研究。


    2楼2018-07-22 15:17
    回复
      二、声明
      2.1以下讨论的皆为引力为-63的情况。
      2.2本帖发完之前禁止插楼
      2.3本帖可能有很多疏漏,欢迎补充


      4楼2018-07-22 15:19
      回复
        三、马里奥的两个状态
        3.1走动状态
        该状态指马里奥踩上实心等物品后,贴图里没有举手,双脚着地的状态。
        该状态的显著特点是马里奥可以立刻进行跳跃。

        3.2跳跃状态
        该状态指马里奥脚下未踩实心,不能立刻进行跳跃的状态。


        5楼2018-07-22 15:22
        回复
          3.3跳跃状态又分为按z后起跳过程中处于的状态和受引力影响向上或向下坠落的状态,二者略有区别。


          6楼2018-07-22 15:23
          回复
            四、关于马里奥的起点位置与起始状态的关系
            4.1马里奥的初始位置,EDIT界面与play界面存在坐标偏差,以下偏差均指play界面相对edit的坐标偏差。
            4.2马里奥的起点坐标偏差为(-16,-32)。马里奥横向的判定大小比32略小,但纵向大小为32.
            4.3进入游戏后,最先执行坐标偏差计算,而后才执行其他内容。
            4.4偏差计算结束后,判定马里奥位置。若马里奥的位置坐标正好处在某实心或者其他类实心物品(bonus,桥)上,则以走动状态开始游戏,否则以跳跃状态开始游戏。
            4.5如果马里奥起始位置在实心内,则会卡墙,且任何情况下卡墙的马里奥均为走动状态。


            8楼2018-07-22 15:29
            回复
              五、关于马里奥在两种状态之间转换时的坐标移动

              如图所示,现在马里奥起始时为走动状态。讨论以下情况:
              5.1若马里奥此时按跳跃键,会跳跃到一个较高的位置,高度随力度不同而不同,但最低高度在屏幕内。
              5.2若此时马里奥按左右方向键跑离平台,则会往上移动一个较小的距离。

              这个距离刚好使马里奥的纵坐标达到这种情况:在如图所示的实心上位于走动状态,这个实心的微调坐标是(0,+5)。本条讨论的情况以下简称走动离开。
              5.3若马里奥走动离开,则移动的这一段较小的距离被判定为是下坠。换句话说,不会触发“?”与可碎砖。


              9楼2018-07-22 15:39
              收起回复

                如图所示。


                10楼2018-07-22 15:40
                回复
                  以下讨论的是马里奥起始状态为跳跃状态的时候。
                  5.4若马里奥起始状态为跳跃状态,则在进入关卡的一瞬间,判定马里奥进行了一次“走动离开”。


                  11楼2018-07-22 15:41
                  回复
                    六、关于影响负引力关卡引力的因素
                    6.1绿果对关卡引力没有影响,而对跳跃高度影响可忽略不计,因此就是摆设(或者抵挡一次受伤)。
                    6.2在水中会相当于使关卡引力减小约32。


                    12楼2018-07-22 15:44
                    回复
                      七、关于悬浮桥
                      7.1在任何引力下,若马里奥以走动状态接触到悬浮桥顶部,则判定为悬浮桥不下坠,马里奥可以像实心一样走在上面。而若以跳跃状态踩上去,则判定为悬浮桥下坠。
                      7.2任何状态的马里奥一旦接触到悬浮桥的顶面,则悬浮桥会立刻将马里奥变为走动状态。本条对于其他种类的桥同样适用。
                      7.3悬浮桥的下落加速度不受引力影响,怪物同理。


                      13楼2018-07-22 15:49
                      回复
                        八、一个很神奇的现象
                        我们知道,如果我们把5.2中的实心调至(0,+6),则马里奥会比该实心高出1像素,导致马里奥无法踩上,依然以跳跃状态悬空。
                        但是,如果在该实心旁边放置一悬浮桥,让马里奥穿过该实心后踩上去(图中实心未标出)

                        可以看到,虽然马里奥是以跳跃状态踩上悬浮桥,但悬浮桥并未下落。
                        本人猜想,在MW里可能存在“0.5”像素,关于本猜想的提出还有另外一个原因,稍后进行解释。
                        该猜想尚未被证实或证否。


                        14楼2018-07-22 15:53
                        回复
                          九、浮桥与一维关卡的关系
                          9.1由于马里奥走动离开后的纵坐标并非为整数坐标,故悬浮桥也需要和5.2的实心一样进行微调才可以让马里奥踩上。但这个微调只需(0,+3)即可。
                          9.2与实心不同,悬浮桥有一个范围,在(0,+3)到(0,+17)的范围内的微调皆可让马里奥踩上。
                          9.3以上玩法对于其他浮桥仍然适用。
                          9.4当马里奥以跳跃状态从侧面(也就是并未踩在上面)进入浮桥时(类似LG8的让移动桥桥“带”你走),则马里奥会在桥上不断的往下缓缓的“滑”,直到脱离桥(普通桥(0,+16),云(0,+32)或者中途水平走开/进入水管等)或者马里奥变为走动状态时,“滑”停止。

                          9.5关于“滑”的速度,这个速度很慢,低于循环桥的上升/下降速度,因此无需担心踩不上这两种桥。
                          9.6在该引力下的上帝模式开8有类似“滑”的效果。


                          15楼2018-07-22 16:03
                          回复
                            十、关于马里奥在按下跳跃键时的情况
                            10.1跳跃键仅在马里奥为走动状态时按有效。
                            10.2在该引力下,马里奥跳跃上升的全过程均视为跳跃过程,没有下坠过程,也就是直到停止前全部可以触发bonus类。
                            10.3若马里奥跳跃过程中遇到实心,则马里奥会立刻结束跳跃过程并穿墙到实心上方变为走动状态。
                            10.4若马里奥跳跃过程中遇到浮桥,则会直接无视。但走动离开的上升过程中遇到悬浮桥,则不会被无视。

                            如图所示,在这种情况下,马里奥会和悬浮桥一起下降。
                            10.5若马里奥在跳跃过程中遇到“?”,则“?”内的补给会被顶出,马里奥穿墙到?上。二者的先后顺序不明。该补给不一定会被马里奥吃掉,如果马里奥站在边缘,则补给会跑掉。
                            10.6若马里奥在跳跃过程中遇到可碎砖,小个子同实心,大个子则会进行2次判定。首先判定为马里奥穿到可碎砖上方并变为走动状态,然后该可碎砖立刻被破坏,视为马里奥再次进行走动离开。马里奥可以在判定为走动状态结束后可碎砖被判定破坏前的一瞬再次跳跃。
                            10.7若在可碎砖边放一个悬浮桥,则马里奥的走动状态会被保留,并在悬浮桥上静止且此时悬浮桥不会下落。
                            10.8若马里奥在跳跃过程中遇到隐藏砖,则进行2次判定。第一次判定为隐藏砖被顶出,第二次判定为马里奥穿墙上去。若隐藏砖与其他的bonus重合,隐藏砖总是最后触发。
                            10.9若按住跳跃键不松开,则马里奥会在进入走动状态的一瞬间进行跳跃,即可以自动连续跳跃。


                            16楼2018-07-22 16:18
                            回复
                              十一、关于马里奥在该引力下踩中敌人(以横向飞乌龟为例)
                              如下图所示,飞乌龟的坐标为(0,+16)

                              11.1此时马里奥在下方平台走动离开,恰好可以踩中飞乌龟并向上弹起一段距离。
                              11.2弹起的过程视为跳跃,可以触发?与可碎砖。
                              11.3乌龟的坐标可以进行少许微调,马里奥仍然能踩上。但弹起的高度与微调无关,只与马里奥此时的位置有关。
                              11.4所跳跃的高度,如果将图示水管上方的实心向下微调2像素,则马里奥可以过去,但这个坐标会稍微微调多了,马里奥会以跳跃状态悬空(当然和第八点一样放个悬浮桥仍然可以变成走动状态)。而微调1像素,马里奥不能过去,会被实心挡住。无论如何微调实心,都无法让马里奥恰好踩上去并变为走动状态。这也为我的“0.5像素”猜想的提出提供了一个思路。
                              11.5如果改变关卡的引力,则这个高度会略有不同,-64到-67的情况请各位自行研究。
                              11.6绿果对弹起高度没有影响。


                              17楼2018-07-22 16:31
                              回复