특집기사 >

[유즈맵 제작]가이드 3탄, 트리거와 데이터 모듈를 알아보자

/ 4

[스타2메카>메카리포트]

 

 

 

사용자 정의 지도에서 어떤 현상이 일어났을 때 그에 대한 반응을 일으키는 장치, 이것이 바로 트리거이다. 예를 들어 일정 시간마다 유닛이 생성되거나, 일정한 숫자의 적을 처치하면 영웅 유닛이 나오고, 특정 구역에 들어가면 적이 나오는 현상 등을 말한다. 스타2 지도편집기의 트리거 모듈에서 다음과 같은 4가지의 기본 항목을 확인 할 수 있다.

 

▲ 트리거 모듈의 모습

 

지도에 어떤 현상이 일어 났을 때, 그 현상에 해당하는 트리거를 실행시킨다. 이는 특정한 조건에 맞아야 실행되기 때문에 스타1에서는 "조건문(Condition)"이라 불렸다. 울트라리스크가 저글링을 밟았을 때, 해병과 의무관이 벙커에 같이 들어갔을 때 등 트리거를 발동시키는 시작이 되는 항목이다.

 

 변수는 특정 데이터를 저장, 활용하기 위해 임의로 붙인 이름이라 생각하면 된다. 따라서 일정 값, 유닛, 레더보드, 소리, 장식물, 카메라 등 스타2에서 등장하는 모든 요소는 변수로 활용될 수 있다.

 

그 중 지역 변수는 해당 트리거 내에서만 사용하고 버려지는 1회용 변수를 말한다. 이는 해당 트리거 밖에서는 사용하지 못하며, 트리거가 다시 실행되더라도 새로운 값을 부여 받게 된다. 그 외 전역변수라는 항목이 있는데 어디에서나 작용하는 값을 가지고 있어 모든 트리거가 간섭, 사용할 수 있다

 

조건은 이벤트가 발생하고 그에 맞는 행동을 하기 전 변수 또는 값 등을 비교하여 조건에 맞는지 체크하는 역활을 한다. 즉, 이벤트와 행동의 중간다리 역활을 하는 것이다. 만약 "지도상에 유닛 수가 0명이 되면 패배한다."는 트리거가 있다면, 여기서 `유닛 수가 0명`이라는 부분이 조건이 되어 트리거를 발동하는 것이다. 조건은 단순 연산 외에도 "플레이어가 어떤 유닛을 가졌는가" 등과 같은 논리 연산에도 사용이 된다.

 

행동은 이벤트가 발생하고 그 조건이 맞았을 때 나타나는 행동을 지정해 주는 부분이다. 최종적으로 해당 트리거에서 하고자 하는 것을 지정하는 부분이라고 볼 수 있다. 행동에서는 특정 유닛에게 스킬을 사용하거나 이동을 지시하는 등의 명령을 할 수 있다. 또한, 일정시간마다 유닛을 생산하거나 특정 장소에 도달하면 체력이 회복되는 등의 일도 가능하다.  

 

 

 

트리거는 크게 세 부분으로 나눠 작동을 하게 된다. 첫째로 게임상에서 어떠한 현상(이벤트)이 벌어졌을 때 이를 감지한다. 두 번째로 이 현상에 대한 조건을 확인한다. 마지막으로 위의 현상에 대한 조건이 맞는다면 그에 대응하는 행동을 한다. 또한, 이곳에 변수가 들어가면 행동을 반복하거나 특정 유닛을 선택하는 등 2차적인 행동을 지정할 수 있게 된다.

 

▲ 싱글 플레이 모습, 특정 지역에 가면 석상이 공격해 온다

이런 동작도 트리거로 작동된다

 

 

트리거가 작동되는 현상은 총을 쏘는 장면을 연상하면 이해하기 쉽다. 총의 방아쇠(트리거)를 당겼을 때 총알이 장전 되어 있다면 총알이 발사된다. 이때 총알을 다 소비하면 더 이상 총을 발사할 수 없게 된다. 여기서 `방아쇠를 당긴다`는 이벤트, `총알의 수`는 변수, `총알이 장전되어 있다`는 조건, `총알이 발사 된다`는 행동이 되는 것이다.

 

▲ 총을 쏘는 장면을 연상하면 이해하기 쉽다

 

 

이와 같이 어떤 현상에 반응하여 다른 현상을 만들어 내는 것, 게임 내에서 벌어지는 인과관계를 만들어 주는 것이 이것이 바로 트리거이다.

 

 

 

지도 편집기를 사용하여 매 1초마다 유닛이 생성되는 트리거를 만들어 보자. 이와 같은 트리거는 흔이 저글링 블러드와 같은 블러드류 유즈맵에서 많이 사용되는 형태이다. 우선 새로 만들기를 선택해 조그마한 테스트용 지도를 만들어 보자.

 

▲ 유닛이 일정 시간마다 생성되는 저글링 블러드

 

 

지도 모듈을 사용해 두 개의 언덕과 유닛이 통과할 길, 그리고 유닛이 만들어질 지점인 `시작 장소`을 각각의 언덕에 만들어 준다. 그리고 지도에서 플레이어 속성을 선택해 플레이어1의 제어는 플레이어, 플레이어2의 제어는 컴퓨터로 변경한다. 지도의 준비가 끝났다면 이젠 트리거 모듈(단축키:F6)을 실행 시킨다.

 

 

▲ 간단한 지도를 만들고 플레이어 속성을 설정한다

 

 

트리거 모듈을 실행시키면 기본적으로 섬멸전 지도를 위한 트리거가 자동 생성되어 있다. 사용자 지정 지도를 만들 때는 필요없는 부분이니 `기본 초기화` 트리거를 선택하여 삭제(단축키:Del 키)하고 새 트리거 버튼(단축기: Ctrl+T)을 클릭하여 빈 트리거를 만든다.

 

▲ 섬멸전 트리거는 삭제한다

 

 

이제 1초마다 반응하는 이벤트를 등록해야 한다. 화면 오른쪽의 작업창을 선택한 후 새 이벤트 버튼(단축키: Ctrl+E)을 클릭한다. 그리고 이벤트 분류창의 찾기 부분에 `시간`을 입력한 후 검색된 이벤트 중 `주기적인 이벤트`를 선택하여 확인을 누른다. 상세 설정 부분의 지속 시간을 더블 클릭하거나 아래 녹색 글씨의 초 부분을 클릭하여 `값`부분에 `1`을 입력하고 확인을 누른다. 이제 게임 시간으로 1초마다 발동되는 이벤트가 작성되었다.

 

 

 

▲ 이벤트를 작성한다

 

 

다음으로는 이 이벤트에 반응하는 행동을 작성하자. 작업창에서 새 행동(단축키: Ctrl+R)을 클릭한다. 행동 창의 레이블 부분에서 `유닛`을 선택하고 찾기에 `만들기`를 입력한다. 검색된 행동 중 `기본 방향을 향하는 유닛 만들기`를 선택하고 확인을 누르자.

 

 

▲ 행동 작성 중

 

 

행동을 작성하면 트리거 모듈 하단에 해당 행동에 대한 설명이 출력된다. 그 설명에서 직접 설정이 가능한 부분은 색으로 표시되며, 파란 글씨는 설정 완료, 붉은 글씨는 미 설정 또는 오류가 있다는 것을 뜻한다. 기본적으로 플레이어1에게 1개를 만들어 준다는 설정이 되기 때문에 이부분은 파란색으로 표시되며, 붉게 표시된 부분인 유닛과 만들어질 장소는 직접 설정해 줘야 한다. 이제 붉게 선택된 `유닛`과 `지점`을 클릭하여 `해병`, `시작 장소 001`을 설정하자.

 

 

▲ 시작 장소 001에 일정 시간마다 해병이 만들어지는 트리거 작성

 

 

이제 플레이어1에게 게임 시간으로 매 1초마다 1개의 해병 유닛을 `시작 장소 001`에 만들어 주는 트리거가 작성되었다. 이와 마찬가지로 플레이어2에게도 유닛이 생성되는 트리거를 작성해 보자. 이 작업은 간단하게 트리거를 복사하여 플레이어와 시작 장소만 수정하면 된다.  왼쪽의 트리거 선택 창에서 만들어진 트리거를 선택하여 복사(단축키: Ctrl+C) 후 붙여넣기(단축키: Ctrl+ V)를 한다. 복사한 트리거의 행동 부분을 선택하여 플레이어는 2, 지점은 `시작 장소 002`를 설정한다.

 

 

▲ 트리거를 복사하여 플레이어2의 트리거로 수정한다

 

 

모든 트리거 작업이 끝났다면 문서 시험(단축키: Ctrl+F9)를 클릭하여 테스트 해보자.

 

 

▲ 문서 시험을 이용해 트리거가 잘 작동하는지 확인한다

 

 

 

데이터 모듈은 유닛, 건물, 업그레이드, 스킬, 아이템 등 스타2에 존재하는 모든 데이터를 관리하는 에디터이다. 예를 들어 해병을 데이터 모듈로 본다면 체력, 이동속도, 무기, 명령체계, 스킬, 크기 등 해병의 모든 것을 확인, 편집 할 수 있다.

 

워낙 보여주는 것이 많다보니 유닛 하나의 데이터만 수십가지고 이 데이터는 또 다른 데이터와 연결되는 구조로 이루어져 있다. 매우 복잡해 보이는 툴이지만 새로운 유닛, 스킬, 아이템을 만들 수 있고 업그레이드, 효과 등 다양한 작업을 할 수 있기 때문에 사용자 지정 지도를 만드는데 없어서는 않되는 툴이기도 하다.

 

▲ 데이터 모듈의 모습

 

 

 

데이터 모듈을 사용하여 해병의 체력을 올리고 무기를 변경하여 강력한 유닛으로 만을어보자. 우선 데이터 유형에서 유닛을 선택한 후 검색에서 `해병`을 검색하자. 검색된 해병의 데이터를 클릭하면 해병에 대한 수많은 데이터가 표시된다.

 

▲ 데이터 모듈을 실행 시킨다

 

▲ 해병 데이터 찾기

 

 

이 중 해병의 체력을 변경하려면 `능력치 - 체력 시작량`과 `능력치 - `체력 최대치`를 수정해야 한다. `45`라 써져있는 각 항목을 더블 클릭하여 수치를 `450`으로 바꿔보자.

 

▲ 체력 시작량과 체력 최대치의 값을 바꾼다

 

 

다음으로 해병의 무기를 변경하자. `전투 - 무기 +` 라는 항목을 보면 해병의 기본 무기인 가우스 소총이 설정되어 있다. 이를 더블 클릭하여 입력 창을 실행하고 값 추가 버튼을 클릭하자.

 

▲ 해병의 무기를 추기한다

 

 

이제 가우스 소총 아래 칸을 선택한 후 아래의 무기 카테고리를 열어 보면 스타2에 등장하는 유닛들의 모든 무기들을 볼 수 있다. 여기서 공허 포격기의 분광 광선을 선택한 후 확인을 눌러 창을 닫는다. 이제 해병은 가우스 소총과 분광 광선이라는 두 개의 무기를 갖게 된다.

 

▲ 해병의 새로운 무기 분광 광선을 추가하자

 

 

이제 분광 광선의 대미지를 수정해 보자. 분광 광선은 광선으로 적을 공격하는 효과이기 때문에 데이터 모듈의 우측 하단 창에서 효과 항목 피해 부분을 찾아야 한다. 또한, 분광 광선은 3단계로 차지 공격하는 방식이기 때문에 피해1, 피해2, 피해3이란 항목을 모두 수정해야 한다. 각 항목을 살펴보면 `전투 - 피해량`이란 부분을 찾을 수 있다. 이곳의 값을 수정하여 분광 광선의 대미지를 변경하자.

 

▲ 분광 광선의 피해량을 수정한다

 

 

이제 문서 시험(단축키:Ctrl+F9)을 이용해 데이터를 수정한 해병을 테스트 해보자. 앞서 트리거를 이용해 만들었던 지도를 이용한다면 쉽게 테스트할 수 있다.

 

▲ 초강력 해병 탄생

 

▲ 해병 레이져 쑈~

 

 

 

추가적으로 플레이어1이 적 유닛을 100마리 잡으면 승리, 10마리의 유닛을 잃으면 패배하도록 트리거를 추가 해 보았다. 그외 플레이어2의 생성되는 유닛을 변경하거나 해병의 무기 데이터를 변경해 보면서 트리거와 데이터 모듈에 친숙해져 보도록 하자.

 

[가이드에서 사용된 사용자 지도 다운로드]

 

 

▲ 승리와 패배를 위한 트리거를 추가하였다. 적 100기를 죽이명 승리, 아군 10기가 죽으면 패배

 

▲ 거신과 바이킹의 무기를 가진 해병과 울트라 리스크 뮤탈리스크의 대결

 

글: 게임메카 장윤식 기자(라온하제, ygdrasil82@gamemeca.com)

이 기사가 마음에 드셨다면 공유해 주세요
플랫폼
PC
장르
RTS
제작사
블리자드
게임소개
'스타크래프트 2: 자유의 날개'는 실시간 전략 시뮬레이션 게임 '스타크래프트'의 정식 후속작으로, 게임에 등장하는 세 종족 중 '테란'의 이야기를 담은 패키지다. '스타크래프트: 브루드 워' 이후 이야기를 담았... 자세히
게임잡지
2000년 12월호
2000년 11월호
2000년 10월호
2000년 9월호 부록
2000년 9월호
게임일정
2025
05