알 수 없는 값(?)으로 취급되는 유닛&건물

※예제맵 다운로드
1. noname42-1
2. noname42-2
3. noname42-3




안녕하세요? noname01입니다. 이번에는 특이한 값으로 인식되는 유닛과 건물에
대해 알아 봅시다. 사실 이것이랑 관련된 팁은 이미 있지만 하나로 정리가 되어 있지
않아서 이 팁에서 하나로 묶어 정리하고 추가로 실험한 내용을 추가하여 쓰게
되었습니다. 참고로 여기서 인식이라 함은 bring으로 유닛의 수를 인식하는 것을
말합니다.


우선 수송선에 탑승하거나 벙커에 들어간 유닛의 인식 값을 살펴 봅시다.
신기하게도 수송선에 탑승하거나 벙커에 들어간 유닛은 양수로 인식함과 동시에
음수(?)로도 인식을 합니다. 이게 뭔 말인가 하면 수송선에 탑승한 유닛은 당연하지만
At least 1에 인식되고, exactly 0에는 인식되지 않지만 신기하게도 At most 0에
인식이 됩니다. 이에 따라 다음 트리거와 같이 말도 안되는것 처럼 보이는 조건으로
벙커에 들어가거나 수송선에 탑승한 것을 인식 할 수 있습니다.

42-1 : 벙커에 들어간 것인지 수송선에 탑승한 것인지를 인식하는 방법은 여러가지가 있는데 예제맵에서는 수송선에 탑승한 유닛은 공중 유닛으로 인식한다는 사실을 이용했습니다.

이 트리거는 예제맵 'noname42-1'에 삽입되어 있는 트리거로 실행시켜 보면
테란 시민이 벙커에 들어갔는지 수송선에 탑승했는지를 인식하여 디스플레이 텍스트
를 띄워 줍니다.




다음으로 건설중인 건물의 인식을 살펴봅시다.
건설중인 건물은 At least와 Exactly로 인식할 경우에는 0의 값을 갖지만, At most로
인식할 경우에는 어떤 값인지는 모르지만 양수값을 갖습니다. 이처럼 경우에 따라
인식되는 값이 달라 인식을 하려면 At most 0으로 인식하고 이 결과를 Not게이트에
통과시킨 값으로 인식해 낼 수 있지만 단점으로는 인식하려는 건설중인 건물과 같은
종류의 완성된 건물이 맵에 있으면 안된다는 것입니다. 이런 문제점 때문에 현재
널리 알려진 용도는 디펜스맵과 같은 맵에서 건물을 지으면 그 건물을 없애고 다른
건물이나 유닛을 주는 곳에 사용하는 것입니다. 예제맵 'noname42-2'에는 이것을
이용해 서플라이 디팟을 지으면 서플라이 디팟을 제거하고 디시블 벙커를 주도록
만들었는데 실전이 아니므로 빈 벙커를 줍니다. 이 예제맵의 트리거 중 일부분
입니다.

42-2 : NOT 게이트를 이용합니다.


여기까지는 제가 쓴 팁과 인투더맵에 있던 다른분이 쓴 팁에 있던 내용을 정리해본
것입니다. 여기서 제가 추가 실험을 해 본 결과 저그의 에그나 코쿤도 건설중인
건물과 동일한 성격을 띈다는 것을 알 수 있었습니다. 따라서 사용법도 건설중인
건물을 인식하는것과 동일합니다. 알 역시 건설중인 건물처럼 At most 0으로 인식을
하고 데스값 조작을 통해 Not게이트에 통과시킨 결과값을 가지고 인식을 해야
하는데, 건설중인 건물이랑 다른점이 그 알이 어떤 유닛을 생성하는지는 인식할 수
없고 알 그자체만 인식할 수 있다는 것입니다. 예를 들자면 저글링을 생산하고 있는
알인지 드론을 생산하고 있는 알인지는 인식할 수 없고 무언가를 생산중인 알이
있다는 사실만 인식할 수 있다는 겁니다. 물론 코쿤도 마찬가지 입니다. 단 러커 에그
같은 경우는 러커 생산 전용 알이기 때문에 유일하게 러커 에그는 어떤 유닛을 생산
하는 알인지를 알 수 있습니다.

아무튼 이를 이용해 만든 예제맵은 'noname42-3' 이며 예제맵에서 드론을 생산하면
(예제맵에서 다른유닛은 생산하지 못하도록 막혀 있습니다.) 즉 저그 알이 있으면 알을
없애고 히드라를 만들고 히드라로 러커 에그를 만들면 러커 에그가 사라지고 뮤탈리스크가
출연합니다. 그리고 뮤탈리스크를 코쿤으로 만들면 코쿤이 사라지고 이그드라실이 가장
최근에 사라진 코쿤의 위치로 이동하게 됩니다. 트리거는 생산중인 건물을 인식하는것과
거의 동일하기 때문에 생략하도록 하겠습니다.

이것으로 경우에 따라 특수한 값으로 인식되는 유닛이나 건물에 대해 알아봤는데
간단하게 요약해 보도록 하겠습니다.


1. 수송선에 탑승하거나 벙커에 들어간 지상유닛은 양수인 동시에 음수(?)로도
인식한다.(수송선의 경우 모든 종족에 적용됨)

2. 건설중인 건물(모든 종족에 적용됨)과 저그 에그, 저그 러커에그, 저그 코쿤은
At least나 Exactly로 인식할때는 0의 값으로 인식되지만 At most로 인식할때는
어떤 값인지는 알 수 없는(총 존재하는 갯수로 추정) 양수값을 가진다.



일단 제가 생각한 용도(제가 생각한것 이외의 용도도 얼마든지 있을 수 있습니다.)는


1. 특정 유닛이 수송선에 탑승하거나 벙커안에 들어간 것을 인식하는데 사용한다.

2. 특정 건물이 있을 경우 그 건물을 다른 건물로 바꾸는 방식을 사용하는 디펜스
등의 맵에 건물이 완성되기 전 건설중인 상태를 인식해 건물을 바꿔주는 동작을 더
빠르게 만드는데 사용한다.


이정도로 정리할 수 있겠네요.
그럼 이것으로 마치도록 하겠습니다.




다른 맵 제작 팁을 보려면 이 이미지를 클릭해 주세요.