[include(틀:상위 문서,top1=슈퍼 마리오 64 DS)] [include(틀:슈퍼 마리오 64)] [목차] == 개요 == [[슈퍼 마리오 64 DS]]의 점프 버튼에 해당하는 B 버튼을 최대한 조금 눌러서 게임을 클리어하는 챌린지이다. 이 챌린지는 원작의 점프 버튼 챌린지에 해당하는 [[슈퍼 마리오 64|원작]]의 [[슈퍼 마리오 64/A 버튼 챌린지|A 버튼 챌린지]]에서 파생되었으나, 여러가지 요인으로 원작보다 난이도가 낮아져 버튼은 더 빨리 줄어들었다. == 상세 == [[슈퍼 마리오 64 DS]]는 [[슈퍼 마리오 64]]와 엔진부터가 다르고, 캐릭터의 다양성, 조금이나마 개선된 입력 방식, 사용할 수 있는 버그의 차이 등도 존재한다. 이에 따라 점프 버튼 챌린지 역시 접근 방법이 다른 편인데, 원작에 비해 인지도도 덜하고 연구하는 사람도 적다. 그러나 원작에 비해 난이도가 굉장히 낮아졌는데, 다이브 리커버로 올라갈 수 있는 높이가 높아지는 동시에 다이브 리커버로 벽을 잡고 올라갈 수 있게 되었고, 대부분의 공중에 뜬 스타를 요시가 먹을 수 있게 되었으며, B 버튼을 쓰지 않아도 대포를 발사할 수 있다는 것이 난이도 하락의 주 원인이다. [[https://www.youtube.com/channel/UCg_BpkqF9ANYYcXQ8FZXGhA|Josh65536]]라는 유저가 정리한 게 있다. [[https://www.youtube.com/playlist?list=PL0TeYaSr_hNcIq19A7eXKgbvNwQIf-_8s|해당 재생목록]] 참고. 조작 설정을 데스크탑 모드로 변경하면 점프 버튼을 B가 아니라 ↑/X 버튼으로 바꿀 수 있으나, 그러면 점프 버튼을 피한다는 챌린지의 의의를 상실하게 되므로 당연히 조작 설정이라는 선택지는 고려되지 않는다. == 카테고리 == 버전별 차이에서 2가지로, RIG 사용 여부에서 2가지로 나뉘어 총 4개의 카테고리로 나뉘어 있다. * 게임의 최초 버전인 US 1.0 버전(이하 1.0 버전)은 적을 밟으면 원작처럼 밟기 전 상태가 유지되지만, 다른 버전들(이하 1.1 버전)은 '점프' 상태로 바뀐다. 서로 장단점이 갈려서, any%와 RIG 150스타에서는 1.0이 유리하나, RIGless 150스타는 1.1이 유리하다. * 후술할 RIG의 사용 여부에 따라 갈린다. RIG의 사용은 100년이 그냥 기본 단위일 정도로 걸리는 시간이 비현실적이지만, 똑같은 입력을 계속 복사 붙여넣기 하기만 하면 돼서[* A 버튼 챌린지에서도 다운 타운의 레드코인 등 이렇게 만들어진 TAS가 있다. 이쪽은 14시간으로 RIG에 비하면 아무것도 아니어서 그렇지...] 허용 여부가 애매해 그냥 카테고리를 가른 듯. == 주요 개념 == * 원작의 A 버튼 챌린지와 마찬가지로 0.5회 입력이라는 개념이 쓰인다. 정확한 정의는 B 버튼을 스테이지 시작 전부터 누르고 있으면 스타 하나만 두고 보면 1번이 필요하지만 게임 전체를 보면 추가로 B 버튼이 필요하지 않기에 1번과 0번의 평균으로 0.5회라고 나타낸 것이나, 이렇게 생각하는 것 보단 그냥 꾹 누르고 있는 것이라고 생각하는 것이 편하기에 B 버튼 챌린지로 오면서 단순히 스테이지 시작 전부터 B 버튼을 누르고 있는 것을 의미하는 것으로 바뀌었다. * n번+r이라는 개념이 있다. r은 release의 약자로, n번(주로 0.5번)을 누른 뒤 무조건 B 버튼을 떼야 한다는 말이다. 버튼을 떼는 것 또는 뗀 상태에 아무런 이점이 없는 A 버튼 챌린지에서는 보통 생각하지 않고 넘어가지만, 여기선 뗀 상태가 필요할 때도 많기에 중요한 개념이다. 그리고 이 +r 때문에 B 버튼 개수가 갈리기도 하는데, 모종의 이유[* 예 : 무조건 게임 마지막에 해야 하는 [[천공의 대결]]에서의 쿠파전]로 B 버튼을 뗀 이후 다시 0.5번이 필요한데 더 이상 1번 단위의 B 버튼이 없을 경우 0.5번이지만 '''전체 게임 단위에 1번이 추가된다!''' 그래서 0.5번+r보다 1번이 오히려 B 버튼을 줄여줄 때도 있다. * {{{+1 원격 상호작용 버그(Remote Interaction Glitch)}}} 슈퍼 마리오 64 DS의 스테이지 그 자체를 포함한 모든 오브젝트에는 ID가 부여되어 있으며, 아이템 박스에서 파워플라워가 나오거나 불이 생성되는 등 새로운 오브젝트가 생기면, 생긴 숫자에 따라 차례대로 새 오브젝트 아이디가 부여된다. 그런데 오브젝트 아이디는 32비트의 정수 형태로 주어지므로, 2^32(약 42억)개의 오브젝트를 생성하고 나면 [[오버플로우]]로 인해 그 다음부터 생성되는 오브젝트에는 0부터 다시 번호가 부여된다. 이러면 똑같은 오브젝트 아이디가 서로 다른 두 아이템에 부여되고, 요시가 이 중 한 오브젝트를 먹으면[* 굳이 요시가 먹어야 하는 이유는 오브젝트는 자신과 닿아 있는 오브젝트에만 접근할 수 있기 때문이다. 마리오, 루이지, 와리오가 먹으면 오브젝트의 입장에서 플레이어의 ID로 접근한다.(예시: 불이 플레이어에게 닿으면 사라지는 동시에 플레이어를 불타는 모션으로 바꾼다.) 이러면 뭔 짓거리를 해도 결국 마리오, 루이지, 와리오가 먹은 것은 스타가 아니므로 RIG를 성공시킬 수 없다. 그러나 요시가 혀를 내밀어 그 혀가 오브젝트에 닿으면 요시의 혀의 입장에서 오브젝트의 ID로 접근한다. 이는 요시의 혀가 요시의 자식 오브젝트로서, 요시가 먹은 것에 따라 요시의 상태를 즉시 바꿔야 하기 때문이다.(예시: 요시가 감전볼을 먹으면, 즉시 요시의 상태를 감전 데미지를 입는 상태로 바꾼다.) 즉, 요시가 스타와 똑같은 ID를 가진 다른 오브젝트를 먹었더라도 먼저 그 ID를 가진 스타가 먹어짐으로서 RIG를 성공시키는 것이다.] 게임은 둘 중 먼저 생긴 오브젝트를 먹은 것으로 본다. 이 오류를 RIG라고 하며, RIG를 통해 요시로 스타와 똑같은 오브젝트 ID를 가지게 된 불 등을 먹어 게임이 스타를 먹은 것으로 인식하게끔 하는 데 사용한다. 문제는 이를 위해 짧게는 400년에서 길게는 '''1300년'''가량 오브젝트 ID를 조작해야 한다는 것. 즉 150스타 플레이의 시간을 저렇게 늘려버린 주범으로, 총 16번(1.0)/17번(1.1)[* 이 중 삐돌이 킹굼바의 레드코인 스타와 벽차기 스타, 불바다의 쿠파의 레드코인 스타와 스위티 스타는 한 번에 먹을 수 있으므로 오브젝트 스폰 횟수는 각각 2번씩을 뺀 14번/15번이다.]사용된다. * {{{+1 천상의 포탈(heaven's portal)}}} [[https://www.youtube.com/watch?v=4IVgXx-ZDHc|#]] 원작과 달리 DS에서는 플레이어가 경계 밖에 걸칠 수 있으며, 이 상태에서는 경계 밖과 경계 안의 틈새에서 경계 안의 바닥을 밟고 있는 상태가 된다. 이 상태에서 경계 바깥쪽으로 가면 플레이어 아래에 바닥이 없게 되는데, 이럴 경우 플레이어 아래의 바닥의 Y좌표를 담당하는 변수가 int형 변수의 최솟값(-2,147,483,648)이 된다. 그리고 플레이어가 특정 행동[* 슬라이딩, 미끄러짐, 슬라이드 킥, 다이빙] 중 하나를 하고 있고, 그 도중 바닥에 한 번 닿았고, 아래의 바닥과의 거리가 13840 이하라면 플레이어는 바닥으로 순간이동한다. 여기서 문제가 있는데, int형 변수의 최댓값은 2,147,483,647[* 0도 양수 쪽에 들어가기에 최솟값의 절댓값보다 1 작다.]이고, 바닥과의 거리를 측정할 때도 int형 변수를 사용한다는 것. 그래서 플레이어의 Y좌표가 0 미만이라면 아무 일도 없지만, 0 이상이면 거리가 오버플로우하여 음수가 되고 13840 이하가 되어 플레이어의 Y좌표는 -2,147,483,648이 된다. 이때 플레이어의 Y방향 속도가 음수라면 플레이어의 Y좌표가 언더플로우하여 Y좌표 최댓값으로 이동하게 되고, 그 뒤에 맵 경계 판정이 일어나 맵 판정의 제일 위로 순간이동하게 된다. 대표적인 사용처는 높이 있는 스테이지를 B 버튼 없이 들어가는 것. == 남은 B 버튼 == * any% - '''0번'''(RIG/RIGless 1.0, RIG 1.1)/0.5[* 사실 전체 게임 단위에서 0.5번이라는 용어를 잘 사용하지는 않는다. 딱히 서로 다른 두 기준이라고 할 만한 게 없기 때문. 하지만 이 챌린지에선 의미가 변하기도 했고, [[https://youtu.be/HgAIYd_cgNE|이런]] [[https://youtu.be/DQS5uXvlEeo|영상들]]에서도 (0.5번이라고 말하진 않았지만) B 버튼을 꾹 누르고 있는 것을 선호하는 모습을 보였기에 단순히 0.5번이라고 표기한다. 엄밀하게 따진다면 1번.][* +r은 따로 표기하지 않는다. 굳이 따지자면 모두 마지막 쿠파전에서 B 버튼을 떼야 하기에 +r이 붙는다.]번(RIGless 1.1) [[천공의 대결]]이 any% 클리어의 가장 큰 장애물[* 회전하는 발판 구간에서 더 이상 진행이 불가능했다. 원작의 경우 회전하는 발판의 핀의 눈에 보이는 지형과 전혀 다른 판정을 이용해 넘어갔으나, DS판에서 이 버그가 패치되었다.]이었으나, 2016년 7월에 [[https://youtu.be/4vaKIx2GwNw|해결책]]이 발견, 최종적으로 2018년 10월에 TAS 리플레이가 완성, [[https://youtu.be/JxfVkuceNAw|TASvideos에 수록]]되면서 시초였던 N64판보다도 더 빨리 마무리되었다. 이후 1.1버전에서도 RIG를 사용해 이 구간을 넘어가는 [[https://youtu.be/x4Mbsh_cJO4|방법]]이 발견되면서 이론상으론 마무리되었으나, 약 420년이 걸리기에 사실상 완성된 TAS를 만드는 것은 불가능하다. 만약 RIG를 사용하지 않는다면 풀 점프를 하기 위해 B버튼을 누르고 있어야 한다. * 150스타 - '''0번'''(RIG 1.0), 0.5번(RIG 1.1), 17번(RIGless 1.1), 20번(RIGless 1.0) 2021년 11월 11일 RIG 1.0에 남아있던 B 버튼을 전부 없애는 [[https://youtu.be/DQS5uXvlEeo|방법]][* 영상 설명에 따르면, 된다는 것을 알고는 있었지만 (0.5번이라서 그런지) 딱히 실제로 해보지는 않았다고 한다.]이 발견되면서 이론상으론 마무리되었으나, 역시 약 20000년이 걸리기에 완전히 끝난 것으로 받아들여지지는 않는다. 아래는 RIGless에서 필요한 B 버튼이다. * [[꽈당킹의 요새]] - 0.5번 * 새장으로 낙하!! (0.5번) - 부엉이에 매달리기 위해 B 버튼을 누르고 있어야 한다. * [[어둠 속에 빠진 동굴]] - 0.5번(1.1) * 동굴속 스위치스타 (0.5번, 1.1) - 스위치에 비해 스타가 너무 높이 있어 공중 킥을 사용하기 위해 B 버튼을 누르고 있어야 한다. 적을 밟은 후에도 모션이 유지되는 1.0에서는 필요 없다. * [[붉은 용암 랜드]] - 0.5번+r * 화산의 리프트투어 (0.5번+r) - 발판이 너무 높이 있어 '화산의 파워스타'가 있는 발판에서 봉이 있는 발판으로 가야 하는데, B 버튼 입력을 최소화하는 방법은 공중에서 펀치-펀치-킥을 시전하는 방법으로, B 버튼을 누르고 있는 상태에서 절벽에서 떨어지는 동시에 B 버튼을 떼고[* B를 아예 누르고 있지 않으면 다이빙이 나가며, B를 떼지 않으면 공중 킥만 나간다.] A 버튼(펀치)을 누르는 식으로 진행된다. * [[물바다 시티]] - 1번+r * 다운타운의 레드코인 (1번+r) - 1.1에선 멀리뛰기로 건물 사이를 건너고 공중 킥으로 꼭데기로 올라가기 위해 B 버튼을 눌러야 하고, 공중 펀치를 사용하기 위해 B 버튼을 떼야 한다. 1.0에선 나무를 타고 건물을 오르기 위해 B 버튼을 눌러야 하고, 느린 낙하[* 플레이어가 3단 펀치를 하는 중 떨어지면 낙하 속도가 느려지는데, 1.0에선 상태가 유지되기 때문에 적을 밟아도 낙하 속도가 그대로 느리다.]를 사용하기 위해 B 버튼을 떼야 한다. * [[거대 꼬마 아일랜드]] - 2번 * 꽃충이의 레드코인 (1번) - 레드코인 하나가 너무 높이 있다. * 섬안의 스위치스타 (1번) - 스타가 너무 높이 있다. * [[똑딱 시계]] - 5번(1.1), 6번(1.0) * 우리 속의 루이지 (1번) - 첫번째로 나오는 톱니바퀴가 너무 높이 있다. * 흔들이의 스위치스타 (1번) - '우리 속의 루이지'와 동일 * 흠흠 꼭대기 쿵쿵 (1번, 1.1) (2번, 1.0) - 1.1 버전은 '우리 속의 루이지'와 동일, 1.0 버전은 경계 밖인 상태로 이동하기 위해 루이지의 백텀블링이 또 필요하다. * 장애물을 넘어서 (1번) - '우리 속의 루이지'와 동일 * 똑딱 실버스타 (1번) - '우리 속의 루이지'와 동일 * [[폭포 뒤편의 비밀]] - 0.5번+r(1.1), 1번(1.0) * 풍선마리오 스타 (0.5번+r, 1.1) (1번, 1.0) - 스타가 너무 높이 있어 tunneling을 통해 경계 밖에 진입하기 위해 1.1 버전은 요시의 공중버티기가, 1.0 버전은 점프가 필요하다. 1.1 버전에서 B 버튼을 떼는 것은 위치를 더 정확하게 조절하기 위해 공중 버티기를 멈춰서 그렇다.[* TAS 제작자의 말에 따르면, 더 연구를 하면 없앨 수 있으나 굳이 +r을 줄일 필요가 없어 하지 않을 것이라고 한다.] * [[해자 밑에 감춰진 비밀]] - 1번 * 스위치 스타 (1번) - 스위치를 누른 뒤 시작지점으로 돌아가기 위해 루이지의 백텀블링이 필요하다. * [[삐돌이 킹굼바]] - 8번 * 레드코인 스타 (4번) - 철창 안에 있는 레드코인에 루이지의 백텀블링이 필요하며, 풍선마리오로 먹는 레드코인은 루이지의 백텀블링에 1번, 벽차기[* 루이지로 백텀블링을 했는데 왜 벽차기를 할 수 있냐면 변신하는 중에 백텀블링을 했기 때문이다.]에 1번, dive resetting을 한 뒤 공중에서 점프하는 데 1번이 필요하다. * 스위치 스타 (4번) - 스타가 너무 높이 있어 벽차기에 4번이 필요하다. * [[공포! 킹부끄]] - 0.5번(1.1[*RIG 해당 버전의 RIG 허용 카테고리에서도 사용되는 B 버튼이다.]) * 레드코인 스타 (0.5번, 1.1) - 레드코인 하나가 공중에 있어 연속 킥--공중곡예--을 하기 위해 0.5번이 필요하다. 느린 낙하 상태가 보존되는 1.0에서는 필요하지 않다. * [[불바다의 쿠파]] - 0.5번(1.1), 1번(1.0) * 레드코인 스타&스위치 스타 (0.5번, 1.1)(1번, 1.0) - 스타와 스위치가 너무 높이 있어 1.1에선 요시의 공중버티기가, 1.0에선 점프가 필요하다. 레드코인 스타를 먹고 스위치를 밟은 뒤 떨어져서 스위치 스타를 먹으면 되기 때문에 두 번 사용할 필요는 없다. * [[천공의 대결]] (0.5번+r, 1.1) - any%와 마찬가지로 회전하는 발판에서 풀 점프가 필요하고, 쿠파를 잡으려고 B 버튼을 뗀다.[* 여담으로 회전하는 발판 전에 먹을 수 있는 스위치 스타는 B 버튼이 필요 없고, 쿠파전을 포함하지 않은 레드코인 스타는 +r이 필요없다.] [각주] [include(틀:문서 가져옴,title=슈퍼 마리오 64/A 버튼 챌린지,version=247)] [[분류:슈퍼 마리오 64 DS]]