바로 슈퍼마리오 64, 그중에서도 TAS.


개인적으로 어릴적에 슈퍼마리오 64 엄청 많이 하기도 했고, 특히 미국에선 이게 ㄹㅇ 유년기의 상징과도 같은 겜이기도 해서 상당히 유명한데, 의외로 이걸 소재로 하는 SCP는 본적이 없는 거 같음. 지난번에 소개한 Negative Emotional Aura와 관련해서도 이런 유년기의 묘한 이질감과 기괴함을 간직한 겜이기도 해서 이런거 잘 살리면 개쩔거 같은데. ㄷㄷ


암튼 난 유튜브 영상 하나 보고 TAS 보는거에 맛들려서 관련 영상 막 찾아보게 되었는데, 아 이거 존나 재밌더라고 ㅋㅋ

특히나 기괴한 동작들로 현실이 조작되는 듯한 맛이 있더라.

그래서 함 이런걸로 SCP 써보면 어떨까 전부터 생각은 하고 있지만 아직까지 이렇다 할 아이디어로의 발전은 못한 상태임..


아무튼 좀 이거 관련해서 본격적인 설명 들어가겠음




일단 TAS 설명부터 가겠음.

Tool Assisted Speedrun. 즉, 매크로와 같은 컴퓨터 툴을 이용한 스피드런임.


주어진 프레임에 주어진 동작을 컴퓨터로 입력을 해서 그대로 실행시키는 방식대로 진행되는거. 프레임 단위의 무한 세이브 로드가 가능한거라고 보면 된다.

여러모로 툴의 도움을 받아 플레이 하는거다보니 인간의 한계를 뛰어넘은 플레이를 볼 수 있다.

(위 짤에서도 볼 수 있는) 슈퍼마리오 64에서 뒤로 멀리뛰기 하는 소위 말하는 무한뛰얏호, 혹은 뛰뛰뛰뛰뛰얏호가 바로 이런 프레임 단위의 조작으로 속도를 쌓는 거임. (사람도 어느정도는 할 수 있지만 손가락이 매우 피로해진다.)



이거 관련 최고봉은 이거라고 생각함. 내가 이거 보고 TAS에 맛들림.

영어 못해도 그림으로 친전하게 설명 해줘서 이해에는 큰 불편이 없을거임



위 영상은 A버튼 챌린지(점프버튼인 A 버튼을 최소한 누르고 게임을 깨는걸 목표로 하는 런)으로 0.5번 A버튼을 누르는 채로 데굴데굴바위의 비밀 스타를 얻는 방법을 설명해 준다.


대충 설명해 보자면,,

1. A버튼 0.5번 누르는 거는 맵 입장시 A버튼을 누르는 채로 시작하거나 맵 퇴장시 A버튼을 누른 채로 있는 것을 말함. A버튼을 눌렀다는건 누르고 떼는걸 모두 합산하기 때문. 

2. 호랑거미 몬스터의 홈 시스템이 마리오 피격시 업데이트 되는 점을 이용해 특정 지점으로 유도

3. 벽 사이에 존재하는 호랑거미를 밟았을 때 그 반동으로 스타가 있는 지점으로 위로 올라갈 수 있기에 그 지점까지 올려야 함. 이걸 메모리를 아끼기 위한 맵의 활성화와 동결 시스템을 이용해 거미의 튀어오르는 모션을 가지고 조금씩 위로 올림.

4. HSW 하이퍼 스피드 워킹: 물에 잠긴 특정한 지점에서는 버그로 인해 진행방향의 반대방향으로 가속을 받게 되는데, 거기에 스피드 제한이 없음. 이걸 이용해서 12시간동안 어마어마한 속도로 가속을 한다. A버튼 챌린지가 아니라면 무한 뛰얏호로 쉽게 가능하지만 여기선 점프버튼을 최대한 누르지 않는 런이므로 이런 제약이 있다.


5. 평행우주: 사실 이게 메인임. 여기서부터 상당히 설명이 SCP스러워진다. 

마리오의 움직임은 float형식으로 기술되는데 반해 맵의 정보는 그보다 적은 데이터를 주는 short 형식으로 기술됨. 그에 따라 마리오는 맵의 정보의 리미트 값을 뛰어넘을 수 있음. 문명에서 간디의 폭력성 수치가 -1이 되니까 거꾸로 127이 되었다는 이야기 처럼 마리오는 맵의 밖에 있지만 게임은 마리오의 위치를 맵의 반대쪽 끝에서 다시 돌아 나온것으로 인식, 즉, 맵 밖에 사실상 딛고 설 수 있는 맵이 격자 무늬로 어마어마하게 많이 배치되어 있는 셈. 이를 평행우주 PU로 칭한다. 평행우주간 이동은 마리오의 속도가 평행우주 사이의 공허를 뛰어넘을 정도(의 *4배)가 되어야 한다. 그렇기에 12시간동안 속도를 쌓은 것. 평행우주로 입장시 카메라가 속도를 따라가지 못해 게임이 튕기게 되는데, 도약 직전에 카메라를 고정시켜주는 방식으로 이를 해결 할 수 있다. 또한 스타나 적, 리프트 같은 오브젝트들은 평행우주에 존재하지 않기 때문에 결국 스타를 얻기 위해선 본래 우주로 돌아와야 한다.

6. 충돌판정: 마리오의 다음 프레임의 이동 위치는 매 프레임마다 계산되며 그 움직임을 4분할 하여 충돌판정을 실시한다.(직관적으로 설명하자면 마리오의 움직임은 1/4 프레임마다 판정된다.) 이중 하나라도 충돌판정이 난다면 마리오는 충돌하기 직전의 위치로 이동. 즉, 마리오의 다음 프레임 목적지는 평행우주의 간극의 4배에 해당하는 4번째 평행우주(QPU)가 되어야 평행우주간 도약을 할 수 있다.

7. 디펙토 스피드: 마리오의 움직임은 경사로에 따라 다르게 보정된다. 코사인 그래프에 따라 각도가 높아질 수록 속도는 줄어들게 되므로, 마리오가 충돌판정을 할 때 서있는 경사로에 따라 앞으로의 변위가 더 짧게 보정되고, 그렇게 다음 1/4 프레임 뒤에 있을 자리에 변동이 생긴다. 이를 통해 평행우주 도약은 4의 단위가 아닌 우주로의 도약이 가능해진다. 0 - 1 - 2 - 3 - 4에서 본래 4번 우주로 가야 하는데 3번우주의 경사로에 맞닿게 되면 4번우주로 가는 속도가 보정되어 줄어들기에 3번에 안착하게 된다. 그러면 일반적인 방법으론 3 -> 7 혹은 3 -> -1 이런 식으로 4의 단위로 평행우주 이동을 할 수 밖에 없기에 본래 우주로 돌아가지 못한다. 이를 4단위-평행우주 미정렬(QPU misaligned)이라 부른다.

8. 스타의 위치는 속도를 쌓은 곳보다 위에 있기에 위로 올라가야 한다. 그렇기 위해 최대한 경사로와 엘레베이터를 이용해야 하는데, 이펙토 스피드를 이용하면 속도는 계속해서 줄어들 수 밖에 없다. 속도를 다시 쌓으려면 HSW를 해야하고 이는 물과 경사로를 필요로 한다. 그리고 물은 오브젝트 판정이라 평행우주에는 물이 없으므로 다시 속도를 올릴 수 없다. 고로 경사로에 안착하기 위한 디펙토 스피드가 점점 낮아지는 방식으로 가야 하고, 이 사람은 딱 이를 만족하는 6개의 폴리곤을 찾아내서 이를 통해 엘레베이터까지 온다. 역시 엘레베이터를 타기 위해 본래 우주로 복귀까지 한다.

9. 엘레베이터를 두번 타고 2번에서 띄운 호랑거미 몹이 있는 높이까지 도달했을 때 남은 스피드를 이용해 평행우주를 왕복하며 호랑거미를 밟을 수 있는 위치로 이동을 하고 마지막 이동으로 호랑거미의 바로 위로 이동, 호랑거미를 밟아 그 탄성으로 점프, 벽을 뚫고 스타가 있는 곳에 안착, 스타를 회수한다.


위 영상의 21:22 부분이 바로 지금까지 설명한 평행우주 도약을 하는 화면이다. 왼쪽 위는 실제 플레이 화면(카메라 고정됨), 오른쪽 위는 상대적인 맵의 위치, 왼쪽 아래는 현재 위치한 평행우주 그리드 내에서의 좌표계, 오른쪽 아래는 위에서 바라본 맵의 상대적 위치(오른쪽 위와 동일하면서 다른 시점)



ㅋㅋ ㄹㅇ 미친놈들이다

마리오 게임에 평행우주라는 개념이 들어간다는것도 웃기고, 그게 개발진들의 의도로 만들어진가 아니란것도 웃긴데, 그걸 완벽히 이용하는 게 ㄹㅇ 대단하다 느껴진다.

평행우주 개념과 완벽히 들어맞는게 ㄹㅇ 존나 웃긴 포인트.

뭔가 알 수 없는 행위를 통해 현실조정을 하는 느낌도 들고 평행우주를 왔다갔다 하는게 무슨 SF를 보는거 같음 ㄹㅇ


여하튼 여러모로 이런 기괴한 플레이를 보여주는 것 때문에 이 영상은 해외에서 밈화 되어 자주 패러디 되기도 한다.


이걸 SCP로 써본다면,,

슈퍼마리오 64의 맵을 구현하는 어떤 장소로, 다양한 실험을 하면서 평행우주로 가게 되는데, 뭐 그곳에서 탐사자가 QPU가 미정렬되어서 같히게 된다거나, 

아니면 64 게임 내부에 어떤 변칙적 현상이 있어서 그것을 알기 위해 TAS를 동원한다거나


뭐 이런정도의 아이디어밖에 못내놓고 있는 상태.


진짜 꿀잼 아이디어 있으면 가져다 써도 된다

ㅇㅇ


뭐 그렇다고