본문 바로가기

컨퍼런스 노트/NDC

(NDC2015) 모바일 게임에 밀도높은 MMO 전투를 허하라

(NDC2015) 모바일 게임에 밀도높은 MMO 전투를 허하라


1.전투 1.0 : 전투 시스템 제시하기

- 목표

> 순수 클라이언트에서 구동

> 전투 프로토타입

ㆍ전투 플레이를 구체화

ㆍ동물 AI


- 부위타격

> 디자인 노림수1 : 큰 업무를 작게 나누어 처리하듯, 큰 공룡을 부위 별로 단계적으로 함락시킨다. -> 전투 개연성 확보

> 디자인 노림수2 : 실제 사냥의 풍취를 살리면서 메타 게임의 영역을 자연스럽게 정식 플레이로 편입

ㆍ머리보다 몸통이 공격하기 편한데, 굳이 머리를 공격하게 하는 이유는? -> 업적이 아니라, 내장이 터지면 고기를 못 먹음.


> 조작계 : 부위는 UI에서 선택, 데미지, 명중률 = 스탯으로 표현 -> 복잡한 조작을 피한다.


- 은폐, 엄폐

> 디자인 노림수 : 은폐를 통하여 공격 기회를 노리고, 엄폐를 통하여 공룡의 공격 피해를 경감시킨다.

ㆍ전투 개연성 확보 및 환경에 따른 다양한 전략과 상황


> 조작계

ㆍ자연물 주변으로 이동 -> 가만 있으면 자동 발동 -> 단순하게 간다.


- 동물 : 동물은 각 시스템에 대응한다.

> 부위 타격

ㆍ다리가 손상되면 절뚝거린다.

ㆍ꼬리가 손상되면 휘두르기가 약해진다.


> 은신

ㆍ정교한 시야처리


> 플레이 시나리오

ㆍ은신으로 숨어있다 -> 홀로 떨어진 공룡을 -> 무리에서 멀리 몰이하며 -> 부위 타격으로 약화시켜 사냥한다.


- 테스트

> 두 그룹으로 나누어서 진행

ㆍ튜토리얼 진행 여부에 따라

ㆍUI/UX 직관성 테스트


> 옆에서 말로 사냥 퀘스트 제공


- 분석 방법

> 설문 조사

ㆍ7점 티커트 척도

ㆍ서술형


- 반응

> 긍정

ㆍ공룡의 공략법을 찾는 재미가 있다.

ㆍ손맛이 있었다.


> 부정

ㆍUI에 정보가 부족하다.

ㆍ공방이 단조롭다.

ㆍUI가 화면을 너무 가린다.

ㆍ부위 타격 꼭 필요한가?

ㆍ터치하기 귀찮다.

ㆍ전투가 너무 피곤하다.


> 대립 의견

ㆍ공룡의 공략법을 찾는 재미 vs 부위 타격 꼭 필요한가?

ㆍ손맛이 있었다 vs 터치하기 귀찮다.


> 모두가 맞는 이야기이다.


- 프로토타이핑, 그 후



2. 전투 2.0 : 전투 시스템 개선하기

- 배경

> 기존 게임을 새 환경으로 이식

> 거시 플레이 프로토타입을 이전

ㆍ모바일 기기

ㆍ정식 비주얼 + 조작계


> 기존 전투도 서버로 이전 작업

ㆍ신규 피처를 추가할 여력이 많지 않다.


- 자원 부족 : 쉬운 안을 먼저


- 부위 타격

> 디자인 상 중요하다. -> 풀어가는 방법을 다르게 해보자.

> UI가 불편하다? -> UI없이 부위 타격을 해보자.

> 함정 -> 함정으로 특정 부위에 강한 피해를 가한다.


- 자동 전투

> 전투가 피곤하다는 피드백 반영

> 자동 전투가 들어간 느낌을 한 번 확인해보고 싶다.


- 수동 전투의 난점

> 동기 방식의 전투 : 매 공격마다 지연시간 영향 받으면 곤란

> 터치 스크린 : 물리적인 피드백이 없어 연타를 하는 모습이 보인다.


- 이동-자동전투-함정

> 수동 이동으로 공격을 회피

> 함정으로 유인하여 부위 타격


- 테스트

> 전투가 심심하다.

ㆍ게이지가 모션으로 바뀌었을 뿐, 도트 버전 전투와 동일한 조작인데 왜 심심하게 느껴질까?

ㆍ비주얼의 차이 : 비주얼 수준이 향상되며 상상력이 개입할 여지가 감소

ㆍ상상력이 개입하지 못 하는 영역을 게임 플레이와 연출로 채워야 한다.


> 조작의 심심함

ㆍ자동전투 : 편리는 했으나, 전투 걸어놓고 할 게 없다.

ㆍ게임이 자동 전투에 맞지 않다 : 동물의 공격을 무빙으로 피해야 함, 자동 전투 상태에서는 무조건 달려가기만 한다.


> 연출의 심심함

ㆍ공룡을 보러왔어도 주인공은 플레이어

ㆍ동물 공격에 비해 플레이어의 공격을 상대적으로 덜 멋있다.


> 타격감이나 연출은 전투의 재미에 큰 영향을 미친다.

  도트 버전 프로토 타입이 비주얼을 걷어내고 플레이 자체의 재미를 검증하려 했듯,

  전투 시스템 역시 그 자체의 재미를 만들어야 한다.


3. 전투 3.0 : 전투 맛깔나게 만들기

- 목표

> 전투를 재미있게 만들기

> 전투 중 플레이어가 개입할 수 있는 지점이 필요하다.


- 전투 중 선택지를 어떻게 줄 것인가?

> 넘치는 제안 : 액션, 방침, 활동성, 아이템, 콤보 등

> 선택의 기준이 필요하다.


- 스킬 추상화 : 플레이어의 실력 vs 캐릭터의 실력

> 스킬 추상화(Skill Abstraction) : 플레이어의 숙련 혹은 입력이 게임 플레이에 영향을 미치는 정도

                                     액션과 RPG이 혼합을 고찰할 수 있는 결정 요소 - Josh Bucer


> 스킬 추상화의 예제


> 스킬 추상화에 따라 게임을 잘 하기 위해 필요한 능력이 다르다.

> 그러나 같은 추상화 단계라도 룰이 바뀌면 필요한 능력도 바뀌게 된다.

> 추상화는 게임 시스템과 밀접한 관계가 있다.



- 상황을 재정의

> 플레이어에게 어떤 선택지를 줄까? -> 추상화 정도를 낮추자! 공방에 스텟뿐 아니라 조작이 관여되게 하자.

> 공방에 가장 직접적으로 관여되는 것은 무엇일까?


- 액티브 액션 : 스킬 버튼을 사용하여 역동적인 기술을 사용하는 것


- 디자인 노림수

> 플레이어가 미시적 판단을 할 수 있는 요소(※미시적 : 사람의 감각으로 직접 식별할 수 없다.)

> 상상의 영역에 있던 연출을 조작을 통해 표현하고 채운다.


> vs 공룡으로 인하여 생기는 한계 극복

ㆍ2~3대 맞고 죽는 전투에서 30% 회피율은 유의미한 수치가 아니다.


- 지연 시간

> 지시 : 500ms, 응답이 엄청 빨리 올 거라는 기대는 버려라. 서버 설계 자체가 500ms 정도의 응답 대기 시간을 커버할 수 있을

         정도니 전투 설계 자체가 응답이 늦는다고 가정하고 만들어야 한다.


> 지연시간에 대응하기

ㆍ즉발성이 아니라 예약으로 풀어가자.

ㆍ훨씬 일찍 예약할 수 있게 하자.


ㆍ회피같은 반응형 액션은 위와 같은 방식으로 불가능하다. -> "활성화되어 있는 동안 ~하면 ~한다"를 시간을 짧게, 일상적으로!

  -> 회피가 활성화되어 있는 1초 동안 적의 공격을 받으면 앞으로 구르면서 회피한다.


- 난해함

> 이런 타이밍으로 이루어지는 게임이 있나?

> 비용은 비싼데 재미는 있을까?

> 기획자도 확신이 없으니 제안하기 어렵다.


- 영상 프로토타입

> 전투 플레이를 녹화 + 영상 편집 툴에서 가상 UI를 얹는다.

> 실제 플레이인 것처럼 훼이크

> 작업일 1일 소모

ㆍ만들다보니 디자인이 구체화된다.

ㆍ눈에 보인다 = 명확한 비전 공유 가능


> 명확하니 작업도 빠르다.

ㆍ3일 후 프로토타입 제작 완료

ㆍ2일 후 밸런싱, UI/UX 개선


> 그리고 확장

ㆍ방패막기 : 다른 작동 방식의 액션 추가

ㆍ그로기 : 새로운 피처를 구현하여 액션에 연결


- 동기화

> 액션의 전제조건

ㆍ합이 맞아야 성립한다.

ㆍ멀리서 휘두른 칼에 피격 판정이 나면 전투가 성립이 되지 않는다.

ㆍ위치, 타이밍의 동기화에 더욱 높은 정확성이 요구된다.


> 두 가지 방안

ㆍ클라이언트가 경로 예측 : 클라이언트가 서버로 이동 경로 벡터를 전송

ㆍ서버 측면으로 이동 : 자동 전투 중에는 서버가 이동과 공격을 주도함


> 기존의 문제


> 클라이언트 경로 예측의 문제

ㆍ내가 보기엔 정확해도, 다른 유저가 보기엔 랩터가 이상한 곳을 때리는 것처럼 보인다.


> 서버 측면 전투로 결정



4. 전투 4.0 : 전투 시스템의 대격변, 서버 측면 전투

- 기술적 배경

> 분산 서버 환경이라 플레이어와 동물이 서로 다른 노드에 있다.(frontendServer <-> Zookeeper)

> 서로 다른 노드에서 공방을 주고 받아 지연에 민감해진다.


> 전투를 전담할 콜로세움 노드를 추가, 고스트 엔티티를 이용해 전투 시나리오를 결정하도록 한다.

  즉, 콜로세움에서 전투 시나리오를 결정하고, 그 결과를 각 서버에 통보하는 것


- 콜로세움

> 전투를 서버 측면에서 주도한다.

> 전투에 진입하면 이동과 공격을 서버에 위임한다.


- 얻은 것

> 서버가 전투의 모든 것을 처리하기 때문에 '정교한 공방', '방향 동기화', '멋진 연출'이 가능


- 잃은 것

> 기존의 전투 디자인들 : '액션 즉시성', '이동 즉시성'

> 기술적 제약에 맞추어 게임 디자인을 수정해야 한다.


- 가상 스틱 제거

> 즉각적인 반응을 할 수 없게 되었으므로, 이동 문법을 바꿀 필요가 있었다.

> 내 캐릭터를 움직이는 것이 아니라 움직이라고 '명령을 내리는 것'


> 이동에 문제가 생겼다.

곡선 이동이 잘 되지 않는다.(부드럽게 가능하던 것이 여러번 터치를 해야 가능하게 되었다.)

ㆍ직선 이동의 연속이 되어 보기에 품질이 떨어져 보인다.

ㆍ매 터치 입력마다 지연 시간의 영향을 받아 렉이 걸려보인다.


> 액션 큐잉

ㆍ액션을 입력한 순서대로 쌓이게 하자

ㆍ미리 입력하여 매 순간 지연 시간이 발생하지 않게 한다.


- 조작의 추상화

> 플레이어의 모든 조작은 '액션'이라는 단위로 추상화

> 이동, 평타 역시 내부적으로는 '액티브 액션'과 동등한 단위


- 테스트

> 단전 개선의 필요성 대두 : 이동이 가장 큰 문제

ㆍ이동으로 회피를 할 수 없게 됨

ㆍ직선 이동이 전투 품질을 떨어져 보이게 함


- 전투 방침

> 딜 교환 : 콜로세움 전투가 되며 장점 만큼 단점도 얻음. -> 단점 극복에 그치지 말고 장점으로 전환하자.

오직 자동이기에 할 수 있는 움직임을 제공하자.


> 조작 요소의 추상화

ㆍ상황에 대처하는 플레이어의 행동 패턴을 파악

ㆍ핵심 요소를 추출, 각각의 값을 설정

ㆍ방침은 요소의 값을 조정하여 만든다.


> UI/UX에 대한 고민

ㆍ플레이어에게 잘 제공하는 것도 중요하다.

ㆍ방침을 어떤 형태로 조정하게 할까? : 슬라이더, 토글, 버튼 등등

설정의 결과를 예상하기 어렵다.(적극성7, 거리3은 무엇을 의미하는가?)

ㆍ학습하기 어렵다 : 전투는 긴박한 상황이다.

ㆍ'프리셋' 형태로 제공하는 것이 좋다.


> 공유 방법

ㆍ한창 쿠키런을 열심히 하고 있었는데, 이 게임을 방침과 액션으로 하면 어떻게 될까?

ㆍ알고보니 헐리우드에서 사용하는 '하이 콘셉트'와 유사


하이 콘셉트 : 머리 속에 이미 있는 영상을 재생하게 하자.

ㆍ'만약에'로 도달하는 시나리오 : 쥬라기 공원(우리가 공룡을 복제한다면?), 에일리언(조스를 우주선 버전으로 만든다면?)


가상 플레이 영상 : 쿠키런을 자동 런게임으로 만들고, 방침과 액티브 액션으로 플레이하게 한다면?

ㆍ반응은 성공적! : 전투 방침의 개념을 명확히 전달, 필요성 역시 강력하게 전달, 영감을 받으신 애니메이터가 애니메틱 제작


ㆍ애니메틱 : 시각적 구체화 성공, 기획적 의도를 담은 영상이라 목표가 훨씬 명확해진다.


ㆍ프로토 타이핑 전에 이미 두 차례의 시각화를 거쳐 공통된 최종 모습이 그려졌다. -> 빠른 프로토타이핑이 가능


> 프로토타이핑 결과

ㆍ방침으로 기본적인 행동 패턴을 정의하고, 액션으로 플레이어가 상황에 개입한다.


> 방침전투 : 단체전

ㆍ자신이 맡은 역할에 맞춰서 방침을 결정하고 전투하는 것이 효과적


5. 마무리

- 스킬 추상화 : 추상화의 정도를 통하여 상황을 판단하고, 게임의 방향을 정하는데 유의미하게 사용

- 영상 프로토타입 : 백문이 불여일견

> 불분명한 부분을 구체화하는데 유용

> 눈에 보이므로 훨씬 명확하게 전달

> 비용이 비싼 편

> 하이 콘셉트로 극복하자.


- 프로토타이핑, 그 후

> 잘 판단하는 것이 중요

ㆍ결과물에 의도가 정확히 반영되도록

ㆍ판단할 수 있는 안목이 필요, 혹은 디렉팅을 받는다.

ㆍ큰 그림을 지속적으로 공유한다.