오버워치/게임 탐색기/워크샵
1. 개요
2019년 4월 25일 공개 테스트 서버에 1.36.0.0 패치가 되고, 5월 23일 오버워치 감사제 2019 이벤트 시작과 함께 본 서버에 등장한 공식 모드이다. 기존의 게임 탐색기에 있었던 사용자 지정 게임 기능에 게임 스크립팅 시스템을 추가하여 확장성을 더더욱 강화한, 일종의 유즈맵 기능이라고 할 수 있다. 스크립트에 규칙을 추가하여 새로운 게임 규칙, 승리 조건을 더하고 영웅의 이동 방식이나 기술, 능력을 변경하고,[1] 플레이어의 피해 또는 치유 방식을 바꿀 수 있으며, 특정 상황에서 텍스트 표시를 변경할 수도 있다.
출시 직후 유저들의 반응은 폭발적으로 환영하는 분위기고, 실제로도 레딧에서도 수많은 게임모드들이 개발되고 있기는 하지만 기존의 오버워치 PVP 대전모드의 게임 틀 안에서만 조정할 수 있는 것이 늘어났다는것 뿐이지, 밸브 코퍼레이션의 '''팀 포트리스 2'''처럼 커스텀 모델 및 커스텀 맵을 지원하는 것은 아니기에 아예 게임의 장르를 바꾼 창작 게임모드 등이 나오지 못하는 것은 아쉽다는 시선도 있다. 다만 제프 카플란 본인도 맵 에디터를 아예 개발하지 않고 있는건 아니다. 단지 오버워치는 오버워치를 위해 새로 개발된 엔진이기 때문에 소스 엔진을 이용했던 팀 포트리스 2 와는 다르게 시간이 걸릴수 밖에 없다.[2]
플레이 > 게임 탐색기 > 만들기 > 설정 > 워크샵을 클릭해서 사용할 수 있다.
2. 워크샵 사용 방법
해당 내용은 오버워치 공식 홈페이지에서도 확인할 수 있다. 참고로 상술했듯이 스타크래프트의 트리거와 제작 방법이 상당히 유사하다. 다만 추가하는 방식은 스크래치에 가깝다.
2.1. 스크립트 생성
스크립트를 생성하기 위해서는 Rule(규칙)을 추가하고, Event(사건)를 선택한 후, Condition(조건)을 추가한 다음 Action(행동)을 추가하면 된다. Condition을 추가하는 것은 선택 사항으로, 조건이 필요 없는 경우 추가하지 않아도 된다.
2.1.1. Rule(규칙) 추가
Rule은 커스터마이징할 수 있는 스크립트 구성 요소로, 각 스크립트는 1개 이상의 Rule로 구성된다. 각 Rule에는 설명을 남길 수도 있으며, Event, Conditions, Actions으로 구성된다.
- Event: 해당 Rule이 실행되는 시점을 설정한다.
- Conditions: 이러한 일련의 조건이 참(true)인 경우 Rule이 적용된다.
- Actions: Event와 Condition이 모두 만족되었을 때 실행되는 일련의 일들이다.
2.1.2. Event(사건) 선택
Event는 Rule의 실행 시점을 정의한다. 게임 내에서 Event가 발생하면 Rule의 인스턴스가 생성된다. 각 인스턴스는 Condition을 검토하여 인스턴스에 독립적으로 Action을 실행한다. 에디터에 Rule이 생성되면 Event가 자동으로 추가되는데, 이때 어떤 종류의 Event를 원하는지 지정해야 한다.
Event 종류는 아래와 같다.
필요할 경우 Event의 효력이 발휘되는 대상인 Team 또는 Player를 설정할 수 있다.
2.1.3. Condition(상태) 추가
- 조건들의 종류를 보려면 오버워치/게임 탐색기/워크샵/Condition문으로.
Condition을 추가하려면 Condition 옆에 있는 추가를 클릭하고, 항목 값을 채운다. 그 후 연산자를 선택하면 된다. 연산자는 프로그래밍에 관심이 있는 사람이라면 알겠지만 ==(등호, 같다), !=(부등호, 같지 않다), >(초과), <(미만), >=(이상), <=(이하)로 구성된다.
예를 들어, "IsFlagBeingCarried(Victim) == False"라는 조건문은 사망한 플레이어(Victim)가 깃발을 들고 있는 상태(IsFlagBeingCarried)가 거짓(False)과 같다(==)라는 뜻으로, 사망한 플레이어는 깃발을 들지 않았을 때, 참이 되는 조건이다. "NumberOfFinalBlows(Attacker) > 10"이라는 조건문은 공격한 자(Attacker)가 결정타 수(NumberOfFinalBlows)를 10번 넘게(>) 달성해야 한다는 조건이다.
2.1.4. Action(행동) 추가
- 액션들의 종류를 보려면 오버워치/게임 탐색기/워크샵/Action문으로.
Action을 추가 시 Action 옆에 있는 추가를 클릭하고, 게임을 변화시킬 Action을 선택한 후, 새로 나타나는 Input마다 드롭다운 메뉴에서 값을 하나 선택하면 된다. Action의 종류와 예시는 여기서 확인할 수 있다.
2.1.5. 기타
Action, condition에 넣을 수 있는 레이블들 이다.
VALUE, Player, Amount, Variable, Header, Visible to, String, Team, 등등 엄청 많다.
2.2. 스크립트 디버깅
스크립트가 문제가 없는지 확인하는 작업이다. 워크샵 인스펙터로 게임 내에서 스크립트 실행 현황을 확인, 어떤 Action과 Condition이 활성화되었는지 확인한다.
워크샵 인스펙터를 사용하려면 생성한 스크립트로 게임을 시작하고, Esc를 누른 후, 워크샵 인스펙터 열기를 누르고 활성화를 선택하면 된다. 워크샵 인스펙터는 몇 가지 요소로 구성되어 있다. Entry을 통해 무슨 일이 일어나는지 확인할 수 있고, Comment로 해당 Rule과 관련된 설명을 표시할 수 있다. Condition은 Action 실행을 위해 충족되어야 하는 Condition 목록이며, Action: 실행되는 Action 목록이다. 시간대 조절 슬라이더로 게임 진행 시점을 앞뒤로 조절할 수 있다.
2.3. 스크립트 공유
스크립트를 만들면 6개월 간 누구에게나(또는 친구끼리만) 공유할 수 있다.[4][5] 스크립트를 생성한 플랫폼에 관계 없이 모든 플랫폼에서 사용 가능하다. 플레이 > 게임 탐색기 > 만들기 > 설정 > 공유를 클릭한 후, 복사를 클릭하여 코드를 보내면 된다. 생성한 코드 관리가 어렵고 수동으로 배포하다 보니 오버맵 이라는 공유사이트가 등장했다.
2.4. 스크립트 열기
플레이 > 게임 탐색기 > 만들기 > 설정 > 임포트를 클릭하고, 코드를 입력한 후 확인을 클릭하면 된다.
2.5. 스크립트 진단
게임탐색기에서 워크샵을 불러온다음 워크샵메뉴로 들어간다음 왼쪽위 i 옆 진단보기를 클릭하면 규칙,조건,액션,값의 갯수 총합과 제일큰 규칙의 크기를 알려준다. 참고로 밑에 규칙, 조건, 액션, 값의 요소의 수가 2만개를 넘지 않아야 하고, 제일큰 규칙의 크기가 98kb 미만이여야 된다고 적혀있다. 워크샵을 만들때 자주터진다면 참고해보자.
3. 워크샵 예시
게임 탐색기의 간편 설정에서 기본으로 제공되어 있는 워크샵 샘플들이다.
- 1. 초고열 불장판: 바닥에 닿으면 플레이어가 불타서 체력이 깎이는 모드.
- 2. 단 한번의 궁극기: 궁극기를 가진 채로 게임을 시작하지만 한 번 사용하면 다음 라운드까지 사용할 수 없는 모드.
- 3. 술래잡기: 숨바꼭질 모드. 술래의 시야에 상대방이 들어오면 그 상대방은 피가 깎인다.
- 4. 2단 점프: 모든 영웅이 더블 점프를 할 수 있는 모드.
- 5. 불의 자기장: 자기장과 같이 커다란 돔이 생기고, 그 돔이 점점 줄어드는 모드. 돔 밖을 벗어나면 체력이 깎여 죽는다.
- 6. 공평한 수수께끼의 영웅: 2-2-2 조합을 맞출 수 있는 수수께끼의 영웅 모드.
- 7. 미러전 데스매치: 모든 플레이어가 같은 영웅을 플레이하고 시간이 지날 때마다 영웅이 자동으로 변경되는 데스매치 모드.
- 8. 좀비: 특정 캐릭터 한 명이 달리기만 할 수 있는 솔져를 잡는 감염 모드로, 솔져를 잡으면 특정 캐릭터로 부활하여 솔져를 공격해야 한다.
- 9. 영웅 건틀릿: 데스매치 환경에서 적을 처치할 때마다 영웅이 차례대로 바뀌는 모드.[6]
4. 모드 목록
오버워치/게임 탐색기/워크샵/모드 목록 문서 참조. 업데이트로 인하여 기존에 존재했던 일부 코드들이 더 이상 작동하지 않기 때문에 지속적인 갱신이 필요하다.
5. 전장
최근 업데이트로 워크샵 전용 맵 3가지가 추가되었다.
5.1. 워크샵 개활지
[image]
사진만 봐도 알 수 있듯이 '''오버워치에서 가장 넓은 전장'''으로, 구조물 하나 없는 큰 평지로 이루어져 있다. 평지의 대각선 길이는 '''약 1086m'''로 추정되며 평지에 끝에 다다르면 낙사지점이 있다. 관전모드로 땅을 보고 최대한 위로 올라가도 맵 전체를 담을 수 없을 정도로 넓다. 이 넓은 공간을 이용해 미로를 만든 워크샵 또한 존재한다.
5.2. 워크샵 방
[image]
게임 탐색기를 조금이라도 이용해봤으면 알 '에임 아레나' 워크샵과 비슷한 전장으로, 한정된 공간의 좁은 방으로 이루어졌다. 한창 유행 중인 '좁아터진 오버워치' 시리즈에도 걸맞게 보이며, 후술할 워크샵 섬과 같은 넓이를 지니고 있다.
5.3. 워크샵 섬
[image]
넓은 바다로 둘러싸인 섬으로 이루어진 전장으로, 낙사맵이다. 상술했듯이 단순 평지의 넓이만 따지면 워크샵 방과 같다.
5.4. 워크샵 그린스크린
6. 문제점
7. 여담
- 메모리 에임핵이나 ESP도 구현할 수 있다.
- 워크샵이 테스트 서버에 처음 등장했을 때는 스크립트가 모두 영어로 되어있어서 영어에 약한 유저들이 워크샵으로 게임을 제작하는 데 큰 어려움이 있었다. 1달 후 본 서버에 워크샵이 업데이트 되었는데 워크샵이 한국어로 번역되어 있지도 않고 테스트 서버의 영어 그대로 나왔다.[8] 함수나 세부 요소에 커서를 갖다 대면 나오는 간단한 설명은 전부 한국어로 번역이 되어 있다. 워크샵이 한국어처럼 번역이 되어 있지 않은 언어는 스페인어(유럽), 이탈리아어, 러시아어, 폴란드어, 독일어, 중국어(번체)이며, 번역이 되어 있는 언어는 스페인어(라틴아메리카), 프랑스어, 포르투갈어, 일본어, 중국어(간체)다. 어째서 일부 언어들은 번역이 되어있고 나머지 언어들은 번역이 되어있지 않아 영어로 나왔는지는 의문이지만, 추후 모두 번역될 가능성은 있어보인다. 하지만 이미 영어에 익숙해진 유저들이 많아 블리자드가 어떻게 할지는 의문이다.
[1] 그러니까 말 그대로 스크립트를 이용해 캐릭터가 능력을 사용하면 이동속도가 늘어나게 한다던지, 특수 이펙트가 나오게 한다던지, 다른 플레이어들을 스크립트로 처치하거나 부활시키게하는 그런 방식이다. 영웅의 능력이나 무기 자체를 뜯어고치는 기능은 지원되지 않는다.[2] 소스 엔진은 전 단계 엔진인 골드 소스 엔진때부터 유명한 게임 시리즈의 원작과 모드에서 공식 게임으로 출시된 게임들이 사용한 엔진의 후속 엔진이며 또한 2004년도에 모습을 드러내고 2019년인 현재까지도 지속적으로 개선된 엔진이기에 당연히 확장성은 말할 필요가 없다.[3] HTML 등지에서 변수의 적용 범위를 상정할 때 '''전역(Global)'''과 지역(Local)이란 말을 쓰는데, 여기서 가져온 것이다.[4] 단 중국 서버에서 만든 코드는 다른 지역 서버와 호환되지 않는다. 그 반대도 마찬가지.[5] 코드는 무작위 숫자 또는 무작위 영어 대문자를 조합하여 5자리로 생성된다. 나올 수 있는 경우의 수는 60,466,176개.[6] 서든어택의 웨폰챌린지나 카운터 스트라이크 온라인의 건데스매치 모드를 생각하면 된다. 서든 웨폰에서는 마지막에 기본칼이 나오는데, 영웅 건틀릿에서는 망치만 쓸수 있는 토르비욘이 나온다![7] 12명 중 숙주좀비 1명, 일반좀비 1명, 영웅 1명이 결정되며 좀비 하나를 잡을 때마다 인간측 공격력이 10%씩 증가하는 사기충전 시스템이 구현된 버전도 있다.[8] 갤럭시 에디터는 거의 다 되어 있었다.