이번 글부터 본격적으로 만들기 시작합니다. 첫 단계는 코드 없이, 손으로 발판을 놓아 탑 1층을 만드는 것입니다. 이 과정에서 메이커의 화면과 기본 조작에 자연스럽게 익숙해집니다.
새 월드 만들기
- 메이플스토리 월드를 실행하고, 왼쪽 메뉴에서 만들기를 누릅니다. 내가 만든 월드 목록이 나옵니다.
- 오른쪽 위의 새로 만들기를 누르면 어떤 틀로 시작할지 고르는 화면이 나옵니다.
- 기본이나 AI 스타터처럼 미리 꾸며 둔 틀도 있지만, 처음부터 하나하나 만들어 볼 것이라 맨 앞의 새로 만들기를 고릅니다.
- 아래쪽 새로 만들기 버튼을 누르면 메이커가 열립니다.

가운데에는 배경만 깔린 빈 맵이 보입니다. 아직 발판도 없고 캐릭터가 설 자리도 없습니다. 시작하기 전에 저장부터 해 둡니다. 저장은 다른 프로그램과 같이 Ctrl+S, 맥에서는 Cmd+S 입니다. 처음 저장할 때 월드 이름을 묻는데, 무한 점프맵이라고 적고 확인을 누릅니다. 이 빈 월드가 우리 탑의 출발점입니다.
발판 놓기
왼쪽 프리셋 목록에서 발판 아이콘을 누르면 메이플스토리에서 보던 발판들이 나옵니다. 그중 풀이 덮인 발판 하나를 골라 가운데 화면으로 끌어다 놓습니다. 첫 발판은 왼쪽 끝, 위치 X 0, Y 0 에 둡니다. 캐릭터가 이 위에서 출발합니다.
다음 발판을 놓기 전에 캐릭터가 얼마나 뛸 수 있는지부터 알아야 합니다. 발판 사이가 너무 멀면 아무리 잘 뛰어도 건널 수 없으니까요.
- 메이플스토리 월드에서 위치는 숫자로 나타내고, 1칸은 메이플 그림 100픽셀 크기입니다.
- 기본 캐릭터는 제자리에서 약 1.2 만큼 뛰어오릅니다. 이 값은 DefaultPlayer 의 RigidbodyComponent 에 있는 WalkJump 로 확인할 수 있습니다.
- 달리면서 뛰면 1칸 가까이 건널 수 있습니다. 정확히 재는 방법은 4화에서 다룹니다.
발판을 하나 더 놓고 클릭하면, 오른쪽 아래 Property 창에 위치가 숫자로 나옵니다. 발판 길이가 2.4 라서, 다음 발판의 X 를 3 으로 적으면 사이가 0.6 이 됩니다. 그래서 발판 사이는 0.5 에서 0.8 정도로 띄워 둡니다.

같은 방법으로 발판을 다섯 개 더 놓아 오른쪽으로 모두 일곱 개를 잇습니다. 높이를 조금씩 올렸다 내렸다 하면 뛰는 재미가 생깁니다. 높이는 한 번에 0.5 씩만 바꾸고, 올라가는 곳은 발판 사이를 0.5 정도로 조금 좁혀 줍니다.


다 놓았으면 직접 건너가 봅니다. 위쪽 가운데의 실행 버튼을 누르고, 방향키로 움직이고 스페이스바로 점프합니다. 발판을 하나씩 건너 오른쪽 끝까지 갈 수 있으면 성공입니다. 확인이 끝나면 정지 버튼을 눌러 편집 화면으로 돌아옵니다.
시작점과 맵 경계
방금 실행했을 때 캐릭터가 첫 발판 위에서 시작했는데, 사실 이건 우연입니다. 시작점을 따로 정하지 않으면 캐릭터는 위치 0, 0 에서 나타나는데, 첫 발판을 마침 그 자리에 놓았기 때문입니다.
그래서 시작점을 직접 정합니다. 프리셋 목록의 Special 에서 SpawnLocation 을 골라 첫 발판 위에 놓습니다. 이제 캐릭터는 언제나 이 자리에서 출발합니다.

그럼 발판 사이로 떨어지면 어떻게 될까요? 실행해서 일부러 떨어져 보면 캐릭터가 시작점으로 돌아옵니다. 코드를 한 줄도 쓰지 않았는데 이렇게 동작하는 것은 메이플스토리 월드가 기본으로 해 주는 일이기 때문입니다.
캐릭터가 어디까지 떨어져야 돌아오는지는 맵 경계가 정합니다. 맵 경계는 놓아 둔 발판들을 감싸는 범위로 정해집니다. 그래서 마지막 발판의 오른쪽 끝에서는 더 나아가지 못하고 멈춥니다.

마지막으로 저장합니다. 저장할 때 발판 정보도 맵에 함께 기록됩니다. 이 성질은 다음 글에서 발판을 코드로 옮길 때 다시 중요해집니다.
정리
- 새 월드를 처음부터 만들고 저장했습니다.
- 캐릭터가 뛸 수 있는 거리에 맞춰 발판 일곱 개를 놓았습니다. 사이는 0.5 에서 0.8, 높이는 한 번에 0.5 씩입니다.
- SpawnLocation 으로 시작점을 정했고, 떨어지면 시작점으로 돌아오는 기본 동작과 맵 경계를 확인했습니다.
다음 글에서는 드디어 첫 코드를 씁니다. 발판을 손으로 놓는 대신, 표에 적어 둔 자리로 코드가 발판을 옮겨 층을 만듭니다.
