- 요... 용아?.gif
스타크래프트를 하면서 아마 다들 한번쯤은 경험해보지 않았을까 하는 투혼 12시 버그. 이 버그에 걸리면 유닛들이 마치 하나가 된 양 완벽하게 겹치면서, 리콜과 드랍 이외에는 무슨 수를 써도 빠져나오지 못하는 무간지옥이 생기게 된다. 근처를 지나가는 유닛도 어어? 하다가 빨려 들어가 똑같은 신세가 되어버린다고 해서 붙여진 이름, '블랙홀 버그'.
해외에서는 같은 의미로 vortex(소용돌이) 버그라고 부르는데, 걸리게 되면 경기 결과에도 크게 영향을 끼쳐 많은 유저들의 뒷목을 잡게 만든 이 버그의 원인이 밝혀진 것은 불과 1년도 되지 않았다.
- 최근에 열린 KSL 경기에서도 김성현도 블랙홀 버그를 경험했다.
우선 한 가지 짚고 넘어가야할 점은, 일명 '블랙홀 지역'으로 알려진 투혼 12시 왼쪽 입구는 다른 위치에도 똑같이 사용되었다는 것이다. 1시 본진 입구, 3시 삼룡이 아랫방향 입구, 그리고 수많은 다른 공식맵들에도 완전히 동일하게 사용된 지형인데 유독 투혼의 12시에서만 버그가 발생한다. 이는 지형의 문제는 아니라는 것을 뜻한다. 지형 자체가 문제였으면 다른 동일한 입구들에서도 동일한 버그가 발생했겠지만, 그런 사례는 없었으니까.
하지만 그 원인을 알 수 있는 방법이 맵 제작자들에게는 없었다. 기본적으로 지형이 무작위적으로 다른 지점에 영향을 준다는 것(특히, 자원채취율이라거나)은 알고 있었지만, 자신이 지형을 건드렸을때 다른 지형이 어떻게 바뀌는지 알 수 있는 방법은 하나하나 지형을 조금씩 수정해가면서 인게임에서 자원채취율을 테스트해보는, 오직 '노가다'밖에는 없었기 때문이다.
그런데 맵 제작의 4차 산업혁명이라 부를 만한 일이 최근에 들어서야 일어나게 된다. 기존의 맵 제작자들이 사용하던 scm드래프트2 베타버전이, 알파버전으로 업데이트 되면서 신규 기능을 추가했는데 이 기능이 가히 혁명적이라고 부를 만한 것이었기 때문이다.
이름하야 'Pathfinder Regions'라는 기능이었다.
최근에 excelente 님이 올리신 '주요 맵 리버 버그자리 정리(스압, 용량주의)' 라는 글을 본 사람들은 이 사진을 아마 보았을 것이다. 리버 버그가 저렇게 많이 생겨? 하고 화제가 되었던 글인데, 사실 이 글에서 가장 중요하게 살펴봐야 할 점은 바로 저 노란선, 즉 'Pathfinder Region' 기능이다.
그럼 패스파인더 리전, 줄여서 리전이 뭐냐? 하면, 간단하게 설명하자면 스타크래프트에서 지상유닛들의 길 찾기 방법이라고 볼 수 있다.
- 최신형의 scm드래프트2는 위와 같이 맵의 Pathfinder Region을 확인할 수 있다
"대체 이게 뭔 소리야? 유닛이 길을 찾는 방법이라고?"
일단 들어가기에 앞서, 노란선은 각 Region(리전)을 나누는 경계선이고, 초록선은 리전과 리전이 서로 이동할 수 있는지 여부를 나타낸다.
위에 사진에서 SCV를 마린이 있는 곳으로 이동하라고 명령을 내렸다고 해보자. 스타크래프트2라면 유닛이 위치한 시작 좌표에서 마린이 있는 도착 좌표까지 최단거리를 계산해 SCV가 이동하겠지만, 스타크래프트1은 그렇지 않다.
자 그럼 노란선을 보면, 현재 화면에는 9개의 리전이 있다. SCV가 있는 리전부터 순서대로
1 2 3
4 5 6
7 8 9
라고 해보자
SCV가 있는 리전은 1리전, 마린이 있는 리전은 9리전이다. 그럼 SCV에게 이동 명령을 내렸을때, 스타크래프트에서는 두 좌표간의 최단거리를 계산해 이동하는게 아니라, SCV가 위치한 1리전과 마린이 위치한 9리전간의 '최소 리전 통과 루트'를 계산하게 된다.
즉, 지상유닛의 이동은 리전의 영향을 강하게 받는다는 소리이다. (스캐럽 또한 마찬가지기 때문에 리전의 형태나 위치에 따라 리버 버그가 발생하게 된다.)
이를 자세히 설명하고 싶지만, 패스파인더 리전과 유닛 이동에 관한 자세한 이야기는 너무 길기도 하거니와, 우리가 알고자 하는 Vortex 버그와는 크게 연관이 없으므로 나중을 기약하며 넘기도록 하자.
우리가 눈여겨봐야할 곳은 사진에서 드래그되어있는 초록선들이 모이는 각 리점의 중심 지점, 즉 '노드'라고 부르는 중심 그리드이다.
이 노드는 각 리전별로 반드시 단 하나가 존재하며, 해당 리전의 중심점이 되고, 이 노드의 위치 역시 지상유닛의 이동에 강하게 영향을 준다.
사실 리전과 노드가 이렇게 멀쩡히 배치되어있다면 블랙홀 버그나 자원채취율을 맞추려고 고생하는 등의 힘든 점도 없었겠지만, 슬프게도 패스파인더 리전과 노드는 지형의 영향을 강하게 받는다.
얼마나 강하게 받길래 볼드체 처리까지 했냐고 묻는다면...
이렇게 작은 지형 하나가 설치되어도 거의 모든 리전과 노드가 바뀌게 되어버린다.
그렇기 때문에 예전의 맵 제작자들이 자원 채취율을 맞출때 아무 상관도 없어보이는 구석 지형을 바꿔도 자원채취율이 변하게 되는 것이다.
이렇게 사소하게 지형만 바꿔도 맵 전체의 리전이 영향을 받을 정도인데, 맵 전체 지형이 바꾼다면 그 리전은 말도 안되게 복잡하게 될 것이다.
이런 식으로...
자, 그럼 왜 아까부터 버그와 별로 상관도 없어보이는 리전과 노드 얘기를 하는가?
바로 이 '노드'가 버그 발생의 원인이기 때문이다.
1. 투혼 12시에서의 블랙홀 버그
2. 서킷 1시 큰 언덕에서의 블랙홀 버그
블랙홀 버그는 위의 투혼과 서킷의 에디터 사진과 같이 '노드가 있는 타일 위에 유닛 이동불가 지형이 있을 때' 발생하게 된다. 흔하지는 않으나, 지형을 만지다 보면 가끔 운 나쁘게 이런식으로 노드의 위치가 설정될 때가 있는데, 그나마 위의 서킷 1시같이 버그가 발생할 여지가 그다지 없는 지형이면 상관이 없으나 투혼의 12시 같이 유닛과 일꾼의 이동이 잦고 비벼질 여지가 있는 지역이면 이러한 블랙홀 버그가 발생하게 되는 것이다.
전혀 발생할것 같지 않은 지형에서도 이러한 버그가 발생하는데 그 원인은 노드가 아주 조금이라도 이동불가 타일이 섞인 지형 위에 있기 때문인 것이다.
사실 공식맵들을 잘 찾아보면, 꽤나 많은 맵에서 이런식으로 노드와 이동불가 지형이 겹쳐있는 부분이 있다는 것을 알 수 있다.
그럼 이걸 수정할 수는 있는가? 당연히 가능하다. 해결책은 간단하다. 앞서 말했듯, 리전과 노드는 지형이 조금만 수정되더라도 크게 영향을 받고 민감하게 변화하기 때문에 조금씩 지형을 건들면서 노드 위치에 영향을 주는 지형을 찾아 수정하면 되는 것이다. 맵 제작자가 직접 리전과 노드를 설정할 수 있는 구조가 아니기에 이것 또한 노가다만이 해결책이지만, 이전의 리전과 노드를 아예 모르는 상태에서 편집했을 때 보다는 그 난이도가 수천배는 쉬워졌다고 할 수 있는 것이다.
다행히 투혼 12시와 같이 경기 결과에 영향을 미치기 쉬운 위치에 버그지형이 있는 맵은 그다지 많지 않다. 하지만, 원인과 해결책을 알게 된 이상 맵 제작 시에 지형 편집을 모두 끝냈다면 이러한 버그 위치가 있는지 면밀하게 검토해볼 필요가 있다.
참고로, 악령의 숲이 스타리그 도중 중도 퇴출 된 이유를 '유닛 끼임 버그'라고 알려졌는데, 그게 바로 이 블랙홀 버그 때문이다. 자세히 보면 드래그 된 노드 위에 나무 두데드의 이동불가 지형이 조금씩 껴있는 것을 볼 수 있다. 그리드 단위로 이동불가 지형이 깔려있기 때문에 리전들의 노드가 절대로 버그가 생기지가 않을 수 없는 구조였던 것이다. 당시에는 맵 제작자가 이 사실을 몰랐기 때문에 결국...
최근에 와서야 이 사실을 알고 수정 방법을 알게 되었지만(노드가 위치한 이동불가 지형만 전부 지워주면 된다) 아쉽게도 버그가 수정된 악령의 숲을 보기는 힘들지 않을까.
사실 블랙홀 버그는 해당 버그 위치 주변에서 유닛이 비벼지지만 않으면 웬만하면 거의 일어나지 않는 버그이다. 투혼 12시의 왼쪽 입구는 일꾼이 자주 지나다니기 때문에 유닛이 비벼질 가능성이 높아 우리가 꽤 자주 목격할 수 있는 것이고, 서킷이나 타 맵의 버그 위치는 일꾼과 함께 비벼지는 그러한 일이 그다지 없기 때문에 거의 보기가 힘든 것이다. 다만, 주의해야할 유닛은 결국 마인을 심으면서 비벼지게 되는 벌쳐, 그리고 버로우-언버로우 시에 주변 유닛과 비벼질 수 있는 러커 등의 저그 유닛...
악령의 숲은 노드 근처에서 마인을 심다가 블랙홀 버그가 발생해버린 사례였던 것이다.
(사실 많은 사람들이 밸런스 때문에 퇴출된것 아니냐고 하는데, 이러한 유닛 끼임 버그가 없었다면 밸런스 불문하고 아마 악령의 숲 또한 그대로 사용되었을 가능성이 높다. 밸런스 때문에 맵이 퇴출된 사례는 프로리그의 바람의 계곡 정도 뿐이다. DMZ는 애초에 개인전 맵이 아니고 팀플레이 경기 양상이 지나치게 노잼이라 퇴출...)
참고로, 노드 위에 이동불가 지형이 있지 않더라도 버그에 걸릴 수 있는 유닛이 딱 한 마리 있다. 바로 울트라(...)
기본적으로 한 그리드는 32픽셀인데, 모든 지상유닛은 대형유닛이라도 좌우상하의 크기가 32픽셀, 즉 1그리드를 넘지 않지만 유일하게 울트라리스크만이 38픽셀로 가로길이가 한 그리드를 넘게 된다. 따라서 울트라리스크는 노드 위에 이동불가 타일이 있는 것이 아니라, 노드의 좌우 옆칸에 이동불가 타일이 붙어있다고 하더라도 이 블랙홀 버그에 걸리게 된다.
이런식으로 노드의 바로 옆에 벽이 있는 경우 울트라만이 걸릴 수 있는 블랙홀 버그(Ultra-Vortex Bug)에 걸리게 된다. 모두 잡기도 어렵고 반드시 수정해야할 필요는 없으나, 본진 입구 등 울트라가 자주 지나다닐 수 있는 지형이면 노드 위에 이동불가 타일이 있지 않더라도 이런 경우도 수정을 해주도록 하자.
(울트라 없이는 다른 유닛은 이 울트라 전용 블랙홀 버그에 걸리지 않지만, 울트라가 1마리라도 버그에 걸리게 되면 주변 유닛 또한 동일하게 끌려들어가 영향을 받는다.)
![]() |
![]() |