나만의 샌드박스 만들기
이 글에는 샌드박스에 새로운 밀리맵을 추가하는 방법에 대해서 설명합니다.
샌드박스 설명 문서 보기
링크: [고양이털 스튜디오] - 자작 맵: 스타크래프트 샌드박스 맵
0. [동영상] 샌드박스에 밀리맵을 추가하는 과정
※ 데이터 주의!! → 좀더 압축이 된 설정으로 인코딩해서, 400MB 에서 41.1MB로 극적인 압축을 했습니다.
※ 항목 4와 항목 5에 대한 내용은 동영상에 포함되어 있지 않습니다.
모든 과정을 영상으로 찍었으므로, 맵 제작을 잘 할줄 모르시는 분들도 한번 도전해 보세요.
1. 알고 있어야 하는 것
다음은 샌드박스 맵에 새로운 밀리맵을 추가하려면 알고 있어야 하는 것들입니다.
SCMDraft2의 기본적인 사용 방법
맵 크기와 타일셋을 변경하는 방법
맵의 이름/설명을 편집하는 방법
맵의 지형과, 그 지형 위에 설치된 모든 오브젝트를 복사/붙여넣기 하는 방법
스타트 로케이션의 역할과 설치 방법
유닛/건물을 설치/제거 하는 방법
각종 유닛/건물 설치 옵션의 용도 및 적용 방법(ex - 건물을 겹치거나 지형을 무시하고 설치하기, 건물을 타일이나 격자에 맞추지 않고 설치하기, 등등)
설치할, 또는 설치된 유닛/건물의 소유 플레이어를 변경하는 방법
2. 샌드박스에 추가할 밀리맵이 만족해야 하는 조건
샌드박스에 추가할 밀리맵은 다음 조건을 만족해야 합니다.
모든 스타팅의 스타트 로케이션은 건설 가능 타일 위에 설치되어야 합니다. 단, 빠른무한처럼 미네랄이나 가스 가까이에 설치하는 것은 가능합니다(실질적으로 평범한(?) 밀리맵 이라면 반드시 만족하는 조건입니다).
다음 목록에 있는 유닛/건물이 맵에 없어야 합니다.
저그 비콘
위그드라실
마젤란
간트리서
톰 카잔스키
각종 Unused 유닛/건물
(이 조건도 평범한(?) 밀리맵 이라면 만족하는 조건입니다)
※ 단 세러브레이트 다고스가 설치되어 있는 경우 스팩이 동일한 세러브레이트로 자동 변경됩니다.
크립 제공용 중립 오브젝트(크립/성큰/스포어 콜로니, 해처리/레어/하이브)는 타일에 맞게 설치되어야 합니다. 만일 이 건물들이 타일에 맞지 않게 설치된 경우, 맵이 복원될 때 타일에 맞게 재배치 되어 원본 밀리맵과 배치가 약간 달라질 수 있습니다.
위의 조건을 모두 만족하는 밀리맵 이라면 간단한 수정 만으로 샌드박스에 추가할 수 있습니다.
3. 샌드박스에 밀리맵을 추가하는 방법
첨부파일에는 SCMDraft2 에디터와 베이스 맵 파일이 들어 있습니다. SCMDraft2가 이미 설치되어 있다면, 설치된 에디터를 사용하셔도 무방합니다. 단, 리마스터에서 추가된 역언덕을 편집할 수 있고, 맵 크기를 변경했을 때, “Anywhere” 로케이션 크기가 제대로 갱신 되지 않는 버그가 수정된 버전을 사용해야 합니다.
SCMDraft2 에디터로, 첨부파일에 포함된 “SandBoxBase.scx” 맵 파일을 열고, 추가하려는 밀리맵과 같은 맵 크기, 같은 타일셋으로 변경합니다.
맵의 이름과 맵 설명을 알아보기 쉽게 적당히 편집합니다.
에디터로 추가하려는 밀리맵 파일을 열고 밀리맵 전체를 복사한 뒤, “SandBoxBase.scx” 맵에 붙여넣습니다.
모든 스타팅에 스타팅 표시용 건물(넥서스)과 오버로드 생성 위치 표시용 건물(포토캐논)을 P9 소유로 설치합니다. 넥서스와 포토캐논은 반드시 타일에 맞춰서 설치하되, 넥서스와 포토캐논 사이에 빈 타일이 없도록 합니다. 당연한 이야기 이지만, 한 곳의 스타팅에는 반드시 하나의 넥서스와 하나의 포토캐논만 설치하세요.
(2)Blitz Y 1.1의 한시 스타팅 빠른무한과 같은 맵이 아닌 경우, 넥서스는 반드시 미네랄/가스와 3칸 간격을 두고 설치하세요.
만약 Ascension 12시와 같이, 처음 시작 시 제공되는 일꾼 4기가 건물 윗쪽으로 나와야 하는 경우에는, 다음 스크린샷과 같이 포토캐논과 정확히 같은 자리에 P9 소유의 파일런 하나를 (캐논과 겹쳐서)설치합니다.
(3)Ascension_1.0의 열두시 스타팅 “SandBoxBase.scx” 맵에 P7, P8 소유의 스타트 로케이션이 있는지 확인하고, 없다면 각각 하나씩 설치합니다(원래 “SandBoxBase.scx”맵에 기본으로 설치되어 있지만, 에디터 설정에 따라 밀리맵을 붙여넣을 때 제거될 수 있으니, 확인하는 것이 좋습니다).
2.1.1 버전부터는 샌드박스 맵에 맵 리빌러가 설치되어 있으면 안됩니다. 따라서, 2.1.1 버전부터 SandBoxBase.scx 맵 안에 맵 리빌러가 모두 제거된 상태로 제공됩니다. 이 버전부터는 트리거를 통해 맵 전체를 밝히기 위하여 필요한 맵 리빌러가 자동으로 설치됩니다.
마지막으로 파일 이름을 알아보기 쉬운 적당한 이름으로 바꿉니다.
4. 주변에 크립 생성 건물이 있을 때에만 크립이 펴지는 중립 건물 만들기 [2.3.3 버전부터]
이 기능을 사용하여 킥백과 같이 주변에 크립을 생성하는 건물이 있을 때에만 크립을 펴는 중립 건물을 더 쉽게 만들 수 있습니다. 2.3.3 이전 버전에서는 이 기능 구현을 위해 트리거의 수정이 필요하였으나, 2.3.3 버전부터는 이 기능을 적용할 크립 생성 중립 건물의 소유자를 P9로 설정하기만 하면 됩니다. 단 크립 생성 건물이 위치한 타일의 일부가, 크립이 펴질 공간과 건설 가능 타일로 연결되어 있어야 합니다.
4.1. 크립/성큰/스포어 콜로니의 경우
해당 건물은 2*2칸을 차지합니다. 이 중에서 최소한 왼쪽의 2칸 또는 오른쪽의 2칸이, 크립을 펼 공간과 건설 가능 타일로 연결되어 있어야 합니다. 킥백의 예시를 봅시다(이러한 조건 때문에 샌드박스 킥백의 경우 지형의 수정이 이루어졌습니다).

차례로 11시 본진과 1시 본진의 크립 생성 중립 건물입니다. 붉게 표시된 타일은 건설 불가능 타일 입니다. 이처럼 최소한 왼쪽의 2칸 또는 오른쪽의 2칸이, 크립을 펼칠 공간과 건설 가능 타일로 연결되어 있어야 합니다. 만일 이렇게 건설가능 타일 처리를 하지 않고 중립 건물의 위치가 모두 건설 불가능 타일 이거나 크립을 펼칠 공간과 연결되지 않은 경우, 그 중립 건물은 어떤 상황에서도 크립을 펼치지 못하게 됩니다.
또한 중립 건물의 소유자가 P9로 설정되어 있음을 볼 수 있습니다. P12 소유로 설치했다면, 주변에 크립 생성 건물의 존재 여부와 상관 없이 무조건 크립을 펼치게 됩니다.
4.2. 해처리/레어/하이브의 경우
이 경우도 기본적인 방법은 같습니다. 조건부로 크립을 펼칠 중립 건물의 소유자를 P9로 설정하고, 해당 중립 건물이 위치한 타일의 일부가 크립을 펼칠 공간과 건설 가능 타일로 연결되어 있어야 합니다. 단 콜로니 계열 건물과는 다르게, 해처리/레어/하이브의 경우 건물이 위치한 곳에 지나치게 많은 건설 가능 타일이 존재하면, 주변에 크립 생성 건물이 없어도 크립을 펼치게 됩니다.
다음 스크린샷을 봅시다.

자갈로 표시된 영역 두 곳과 물로 표시된 영역 두 곳, 가운데 인공 구조물(스트럭쳐 - 가운데 회색 타일 6 칸) 영역이 있습니다. 가운데 영역은 무조건 건설 불가능 타일 이어야 합니다. 그리고 자갈로 표시된 영역과 물로 표시된 영역 중 최소 한 곳이 건설 가능 타일 이어야 하며, 이 건설 가능 타일이 크립을 펼칠 공간과 건설 가능 타일로 연결이 되어 있어야 합니다.
이 때, 자갈 영역과 물 영역 중 여러 곳을 건설 가능 타일로 만들어도 되지만, 건설 가능 타일이 된 영역 두 곳이 붙어 있으면 안됩니다. 다음은 잘못된 예 입니다(붉게 표시된 영역은 건설 불가능 타일 입니다).

왼쪽 또는 오른쪽의 자갈 영역과 물 영역을 모두 건설 가능 타일로 만들었습니다. 이 경우는 올바르지 않게 작동하여, 주변에 크립 생성 건물이 없어도 멋대로 크립이 펴집니다.
두 경우를 합성(?)한 경우도 당연히 안됩니다. 따라서 자갈 영역 두 곳과 물 영역 두 곳, 총 네 곳의 영역 중 한 곳 또는 최대 두 곳을 건설 가능 타일로 만들어 크립을 펼칠 영역과 건설 가능 타일로 연결하되, 위의 두 예를 피하기만 하면 됩니다. 다음은 올바른 예 입니다(붉게 표시된 영역은 건설 불가능 타일 입니다).

4.3. 지형 변경으로 인해 패스파인더 리전이 변경되는 문제를 최소화 하는 방법
일반적으로 대부분의 건설 가능한 타일은 지상 유닛이 통행 가능한 타일 입니다. 그리고 주변에 크립 생산 건물이 존재할 때에만 크립을 펴는 중립 건물은 그 특성 상 건설 불가능 타일 위에 설치를 하게 되죠. 이 때, 위에서 설명한 것처럼 이 중립 건물이 차지하는 공간 일부를 건설 가능 타일로 바꾸게 되면, 해당 지역에 지상 유닛이 통과 가능하게 되어, 의도치 않게 패스파인더 리전이 변경될 수 있습니다(심한 경우 맵 전체의 패스파인더 리전이 변경될 수도 있습니다).
이를 최소화 하기 위해서는 건설이 가능한 타일 이면서 지상 유닛은 통과할 수 없는 지형이 필요합니다. 다행히 일반적으로는 잘 사용되지 않는 널(Null) 타일 중에는 이런 조건을 만족하는 타일이 존재합니다. 다만, 널 타일도 다양한 종류가 있고 흔히 (0, 0) 널 타일 이라고 불리는 널 타일은 방갈림(드랍)을 유발할 수 있어서 아무 널 타일이나 깔아도 되는 것은 아닙니다.
이제 우리가 원하는 널 타일(지상 유닛 통행 불가 & 건설 가능)을 찾는 요령(?)을 알려드리겠습니다.
먼저 SCMDraft2의 오버레이 설정에서 타일의 건설 가능 여부를 표시해주는 옵션을 활성화 합시다.

SCMDraft2의 미니맵 바로 아래쪽의 “Overlay Settings”을 펼치고 “Use Defaults” 항목을 체크 해제합니다.
Overlay Settings 의 항목들 중 “Tile Overlay” 항목을 “Building Placability”로 변경합니다.
이렇게 설정하면 건설 불가능 타일에 빨간 색 필터가 씌워집니다. 다음으로, 지형 팔레트를 열어 “Tileset Indexed” 모드로 변경합니다.


바로 위 스크린샷에서 검게 표시(붉은색 필터가 씌워진 검은 타일 포함)된 지형이 전부 널(Null) 타일 입니다. 스크린샷에 파란색으로 표시된, 제일 위의 두 줄에 있는 널 타일은 사용하시면 안됩니다.
0행의 경우는 (0,0)(0행 0열) 타일이 방갈림(드랍)을 유발하고, 0행의 나머지 타일들은 어떤 부작용이 있는지 세세하게 연구가 이뤄지지 않은 것으로 알고 있어서, 혹시 모를 부작용을 막기 위해 사용하지 않습니다.
1행은 저그 크립을 위한 타일 인데, 1행의 널 타일 역시 저그 크립과 유사한 속성을 몇 가지 갖고 있어서 사용하지 않습니다(사실, 타일셋 목록의 같은 행에 존재하는 타일 들은 대체로 비슷한 속성을 갖습니다). 만약 1행의 널 타일을 사용하면, 중립 건물이 이 널 타일을 주변의 크립으로 인식(?)해서 무조건 크립을 펼쳐 버립니다.
그 밑의 타일 들은 타일셋에 따라 달라집니다(스크린샷의 경우는 배드랜드 입니다). 대부분의 널 타일은 지상 유닛이 통과 불가능한 타일 이므로, 저 중에서 빨간색 필터가 씌워지지 않은(건설이 가능한) 널 타일을 고르면 됩니다.
사용할 널 타일을 골랐다면, 주변에 크립 생산 건물이 존재할 때에만 크립을 펴는 중립 건물이 위치한 타일 중, 건설 가능 타일이 필요한 부분에 골라둔 널 타일을 깔아줍니다.
아래는 움짤은, 일반 건설 가능 타일(아스팔트)을 사용했을 때와 널 타일을 사용했을 때 원본 맵(킥백)과 패스파인더 리전의 변화 차이를 보여줍니다.


널 타일을 사용하더라도 미니 타일 등의 이유로 패스파인더 리전이 조금은 변경될 수 있습니다.
참고로 패스파인더 리전은, 위에서 건설 가능 타일을 식별하기 위해 설정했던 오버레이 설정의 항목으로 확인하실 수 있습니다.

마지막으로, 수 많은 널 타일 들은 모두 검증이 이뤄진 것은 아니므로, 혹시 모를 버그를 대비해 기본적인 테스트는 하는 것을 권해드립니다.
5. TMI) 좀 더 정확한 오버로드의 생성 위치
저그로 시작 시, 초기 오버로드 생성 위치는 해처리를 기준으로 좌상, 좌하, 우상, 우하 네 군데 중 맵의 중앙 방향쪽을 향해 생성됩니다. 초기 생성되는 해처리와 오버로드의 상대 좌표는 다음과 같습니다.

즉, 오버로드는 해처리의 좌표로부터 x방향으로 ±99px y방향으로 ±65px 지점에 생성됩니다. 물론 이렇게 정확하게 포토캐논을 배치해도 되겠지만, 픽셀 단위까지 신경 써가며 좌표를 맞추는 것은 과하지 않나 생각됩니다.
하지만, 단순히 타일에 맞춰 설치한 포토캐논 보다는 조금 더 정확하게 오버로드의 생성 위치를 지정하고 싶을 수 있습니다.
여기서 주목할 것은 해처리와 오버로드의 상대 좌표가 32의 배수와 매우 근접해 있다는 것입니다. 99px의 경우 96(=32*3)과 3px밖에 차이가 나지 않고, 65px의 경우 64(=32*2)와 1px밖에 차이나지 않습니다. 즉, x좌표로 3칸, y좌표로 2칸 떨어진 곳에 설치하기만 해도 x좌표 3px y좌표 1px밖에 오차가 생기지 않습니다. 그리고 SCMDraft2에는 16픽셀(반 칸) 단위로 설치한 오브젝트를 이동 시키는 기능이 존재합니다. 이동 시킬 오브젝트를 선택 후, 컨트롤 키 + 방향키를 누르면 해당 방향으로 16픽셀씩 이동합니다(TMI: 쉬프트 키 + 방향키의 경우 1픽셀씩 이동).
이것을 생각했을 때 다음과 같은 방법으로 간단하게 오버로드의 위치를 조금 더 정확하게 설치할 수 있습니다.
먼저 건물을 타일에 맞춰 설치하는 옵션을 켜고 스타팅 포인트에 아래 스크린샷과 같이 포토캐논을 설치합니다. 물론 스크린샷에 설치된 포토캐논 4 개의 위치 중 한 곳에 하나만 설치 해야 합니다.

이렇게만 설치해도 x좌표의 오차는 3픽셀 밖에 되지 않습니다. 그리고 위에서 설명했듯이, y좌표가 두 칸 차이날 때의 오차가 1px입니다. 지금 상태는 보시는 바와 같이 y좌표가 2.5칸 차이가 납니다. 그래서 포토캐논을 0.5칸 만큼 위 또는 아래로 이동시켜 주면 y좌표의 오차를 1px로 줄일 수 있습니다.
따라서 포토캐논이 아래에 있다면 해당 포토캐논을 선택 후, 컨트롤 키를 누른 채 위쪽 방향 키를 한 번 눌러줍니다. 마찬가지 방법으로 위에 있는 포토캐논은 선택 후 컨트롤 키를 누른 채 아래쪽 방향 키를 한 번 눌러줍니다. 그러면 다음과 같이 될 것입니다.

이렇게만 해줘도 x좌표의 오차는 3px, y좌표의 오차는 1px밖에 나지 않습니다.
만약 일꾼이 본진 건물 위쪽으로 나와야 하는 스타팅의 경우라면, 설치한 파일런의 위치도 포토캐논의 위치와 함께 바꿔 줘야 한다는 점을 주의해 주세요(설치한 포토캐논의 좌표와 파일런의 좌표는 항상 동일해야 합니다).
5.1. 요약
건물을 타일에 맞춰 설치하는 기능을 켜 놓습니다.
위의 그림 “좀 더 정확한 오버로드 시작 위치 1” 에 설치된 네 곳의 포토캐논 위치 중 맵 정 중앙에 더 가까운 쪽의 위치 한 곳에 하나의 포토캐논만 설치합니다. 본진 건물 위쪽으로 일꾼이 나와야 하는 경우라면, 파일런도 포토캐논과 같은 자리에 하나만 설치합니다.
포토캐논이 넥서스보다 위에 있다면 포토캐논을 선택 후 컨트롤키 + 아래 방향키를 한 번 누릅니다. 마찬가지로 포토캐논이 넥서스보다 밑에 있다면 포토캐논을 선택 후 컨트롤키 + 윗 방향키를 한 번 누릅니다. 만약 파일런과 함께 설치했다면 포토캐논과 파일런을 함께 선택하여 좌표를 조정합니다.
이렇게만 해 줘도 완벽하지는 않더라도 훨씬 정확하게 오버로드 생성 위치를 설정할 수 있습니다.