본문 바로가기

컨퍼런스 노트/NDC

(NDC2014) 야생의 땅 : 듀랑고의 계산 프로세스 중심 게임 디자인

(NDC2014) 야생의 땅 : 듀랑고의 계산 프로세스 중심 게임 디자인


1. 정보의 흐름으로 보는 게임

- Data vs Process : 프로그램은 data와 process를 섞어 '정보'를 만든다.

> data-intensity : 정보에 얼마나 많은 데이터가 들어있는가

> process-intensity : 정보가 얼마나 많은 연산을 통해 만들어졌는가


- 게임은 플레이어와 상호작용을 하며, 플레이어는 조작 정보를, 게임은 시청각 정보를 전달한다.

- 게임은 룰을 통해 정보를 구성한다.

- 사람은 무의식적으로 패턴을 인식해서 정보를 축약한다.

- 사람은 마음 속에 게임의 룰을 재구성한다.


- 플레이어와 게임이 구성한 세계 간의 차이가 만드는 긴장이 재미를 만든다.


- 예 : Flappy Bird

> 물리 법칙을 따를 것 같은 첫 인상 : 실제 중력 시뮬레이션과 비슷한 낙하 궤적

> 아무리 빨리 떨어지고 있어도 조작 직후 운동은 동일 : 현실과 다른 반응

> 실제 세계의 물리 법칙을 상정하고 접근 : 터치하는 순간 반응이 실제 세계와 다름, 연습을 통해 게임 세계의 법칙 터득


- 결론

> 게임은 시청각 정보를 전달해서 재미를 주는 매체 : 전통적인 매체들과 동일

> 게임은 인터랙티브한 매체 : 게임 조작을 위해 게임 룰을 마음 속에 재구성

                             재구성 세계와 실제 게임세계 사이의 적당한 긴장감이 재미를 만든다.


2. 게임이 정보를 생산하는 방법

- 게임이 정보를 생성하는 데에는 '데이터'와 '프로세스'가 있다.

- 프로세스는 소셜, 랜덤, 계산 프로세스로 나뉜다.

- 예 : 진주목걸이 구성 (인트로-스테이지-컷신-스테이지 > 데이터-프로세스-데이터-프로세스)


- 데이터 중심 게임(언챠티드)

> 거의 대부분이 일직선 진행형 콘솔 게임

  ㆍ영화적 체험이나 스토리 전달이 주 목적

  ㆍ약간의 인터랙티브한 계산 프로세스가 보조적 역할


> 유저 입력 조작을 1비트로 축약 : 스토리에 진전이 있었다 / 없었다.

> 전통적인 미디어 작법이 유효 : 영화, 소설 등

> 가미된 계산 프로세스를 효과적으로 활용하는 것이 관건

  ㆍ강렬한 몰입감이나 임팩트를 주는데 활용


> 비교적 고비용 : 데이터는 사람의 손으로 만든다. 노동집약적 프로세스

> 리플레이성 부족 : 한 번 해본 게임은 다시 안 하게 된다.

> 데이터 중심 게임의 발전

  ㆍ다중 스토리, 멀티 엔딩 등의 요소 : 데이터를 일직선이 아닌 그래프 형태로 나열

  ㆍ유저의 정보를 1비트보다 많은 정보로 축약 : 어떤 트리를 선택했는가.


- 소셜 프로세스 중심 게임(다크에덴)

> 전통적인 MMORPG

  ㆍ여러 유저의 행동이 한 눈에 보이는 재미

  ㆍ인간 관계에 따라 발현되는 행동이 주된 컨텐츠


> PVP 기반의 게임 : LOL, 서든 어택 등 / 매번 다른 유저와의 경쟁이 주된 컨텐츠

> 다른 플레이어들이 곧 게임의 컨텐츠이다.

  ㆍ리플레이성이 높다.

  ㆍ플레이어 커뮤니티 분위기가 게임 경험을 좌우


> 비교적 좁은 타겟 유저층

  ㆍ다른 사람에 의해 생기는 의외의 경험이 꼭 유쾌하지만은 않다.

  ㆍ견딜 수 있는 매니아층만 남게 된다.


> 소셜 프로세스 중심 게임의 발전(마비노기 영웅전)

  ㆍ데이터 비중을 높여 개발자가 컨트롤하기 쉽게 발전 : 퀘스트 RPG, MORPG, PVE 중심 멀티게임


- 데이터 + 소셜 프로세스 혼합형 게임(와우, 디아블로)

> 온라인 게임의 형식을 유지

> 데이터 중심의 콘솔 게임 장점을 흡수 : 스토리 기반 진행, 화려한 시청각 연출

> 유저층 확장 시도

> 잘 정제된 경험을 제공하는 온라인 게임이다.

  ㆍ소셜 프로세스의 의외성이 미치는 영향 최소화

  ㆍ데이터 중심 게임만큼 강렬한 체험 제공


> 양쪽 게임의 단점도 비슷하게 계승

  ㆍ고비용, 리플레이성 부족, 제어 불가능한 소셜 이벤트


- 랜덤 프로세스 중심 게임(피파)

> 사실상 공짜에 가까운 비용 : 개발자 시간, CPU 자원, 저장 공간이 모두 필요 없다.

> 확률모델 분석과 밸런싱 시간이 필요하다.

> 사실상 무한한 리플레이성 : '운'에 좌우되는 중독성

> 검증된 동기부여 방법

> 스키너의 행동주의 이론 : 행동에 보상해서 특정 행동을 유도, 랜덤 보상이 고정 보상보다 효과적이다.

> 랜덤 보상은 플레이어의 행동을 유도하는 강력한 장치이다.

  ㆍ게임은 플레이어를 조종하기 위한 도구가 아니다.

  ㆍ조심해서 사용해야 한다. 남용하면 두뇌의 버그를 어뷰징하는 것이 된다.


- 계산 프로세스 중심 게임(문명, 심시티)

> 주로 시뮬레이션 게임들 : 현실을 디테일하게 모사, 많은 계산량으로 다양한 상황 연출

> 한정된 계산 성능을 게임 룰에 할애한다. : 현장감이나 시청각적 자극보다 지적인 도전 위주

> 높은 리플레이성 : 할 때마다 달라지는 게임 양상, 학습에 의해 게임 세계를 더 정교하게 재구성

> 현실 메타포 : 게임 내 룰은 학습 곡선이 높아 현실의 룰을 기반으로 접근하도록 설계

> 만들기 어렵다.


3. 계산 프로세스의 종류

- 물리 연산

> 실제 세계의 물리 법칙을 게임에서 재현

> 플레이어가 이미 알고 있는 규칙을 게임에서 바로 사용 가능


- 에이전트 기반 시뮬레이션

> 단순한 룰에 의해 움직이는 다수의 에이전트

> 에이전트 사이의 상호작용에 의해 창발적 현상이 일어난다.


- AI

> 게임 내의 어떤 개체가 지능이 있는 것처럼 보이게 한다.

> 길 찾기, 행동 트리, 신경망, 욕구 기반 에이전트 등


- 절차적 생성

> 게임 환경이나 개별 오브젝트를 정해진 룰에 의해 생성한다.

> 적은 데이터량으로 매번 다른 다양한 종류의 게임 상태를 만든다.


- 조합(데이터와 데이터의 단순 조합)

> 조합 규칙에 의해 조합한 결과물의 상태가 결정

> 유저가 조합 규칙을 이용해서 원하는 상태를 만들 수 있다.


- 절차적 생성과 조합은 비교적 긴 기간동안 단순한 계산 결과를 데이터화, 계산 성능보다 스토리지에 의존적


4. 현대 모바일 게임 개발 기술

- CPU 제약

> 비교적 느리고 OS 제약이 크다.

> CPU 활용도를 높이면 배터리 소모가 크다.


- 정보량의 제약

> 모바일 기기의 저장용량 / 모바일 네트워크 용량 제한


- 초창기 모바일 게임의 제약

> 데이터 중심 게임 : 용량이 부족

> 계산 프로세스 : CPU 사용량에 따른 배터리 문제

> 소셜 프로세스 : 모바일 네트워크의 한계

> 위의 이유로 랜덤 프로세스 + 단순한 룰 위주의 퍼즐 게임이 대유형했다.


- 모바일 게임의 UX

> 작은 기기와 터치 스크린 : 밀도 높은 시청감 체험 전달 불가, 정교한 조작 불가

> 게임 전용 컨트롤러 시도 : 아직 뚜렷한 성과가 없다.


- 현대 서버 기술

> 클라우드 기술의 발전

> 분산 서버 기술 발전

> 낮은 비용으로 서버 CPU 및 저장 공간 사용 가능 : 계산 프로세스를 서버 부담으로 이전 가능


5. <야생의 땅:듀랑고>의 계산 프로세스 중심 게임 디자인

- 절차적 지형 생성

> 논리적인 규칙으로 생성된 지형과 기후 : 지형과 기후에 따라 서로 다른 동식물 분포

> 필요에 따라 동적으로 새 지형 생성


- 동물 생태계 시뮬레이션


- 인과관계가 있는 동식물의 분포

> 욕구 기반 동물 시뮬레이션

> 온도, 습도, 생물량, 번식 패턴을 고려한 식물 시뮬레이션


- 다이나믹 생태계 시뮬레이션


- 조합 가능한 아이템

> 적은 종류의 자원을 다양하게 조합

> 적은 재료로 많은 경우의 수를 제공


- 영속성 월드

> 세계에 미친 영향이 시간이 흘러도 지속된다. : 베어버린 나무, 지었거나 부숴버린 건물, 점령한 땅

> 지속적인 소셜 + 계산 프로세스 누적 : 풍부한 창발성 유도


6. 계산 프로세스 중심 디자인의 함정

- 예측이 어려워 예측 모델이 반드시 필요하다.

> 모델의 '변하지 않는 조건'을 의도에 따라 지정 : 게임 상태가 의도한 상태 범위를 벋어나지 않도록

> 제약 범위가 관건 : 너무 타이트하면 창발성 저하, 너무 간접적이면 너무 자주 일어남


- 레벨 디자인이 필요하다.

> 절차적 생성에도 레벨 디자인 필요 : 현실 모사가 아닌 게임 경험에 대한 의도가 있는 룰

> 의도-생성 룰-결과물-분석-의도 수정의 간접 컨트롤 모델과 피드백 루프가 반드시 필요


- 배우기 몹시 어렵다.


- UX가 단계적으로 잘 짜여 있어야 한다.


- 단계적으로 배울 수 있는 룰이 필요하다.

> easy to learn, hard to master

> 단순하고 덜 정확한 모델 > 복잡하고 더 정확한 모델


- 과도한 현실 재현은 불필요하다.

> 유저가 학습하고 역이용할 수 없는 룰은 랜덤이나 마찬가지다. : 모든 룰은 플레이어에게 전해질 수 있어야 함.


- 아포페니아

> 랜덤 또는 의미없는 패턴에서 자동으로 패턴을 찾아내는 인간의 심리

> 역이용하면 랜덤+적은 계산량으로 그럴싸한 효과를 낼 수 있다.

> 랜덤 부분은 학습이 불가능하니 주의


- 데이터, 랜덤, 소셜 프로세스도 중요하다.

> 디테일 높은 그래픽과 정교한 모션

> 모험적인 선택과 흥미로운 탐험을 위한 적당한 랜덤 보상

> 유저 사이의 흥미로운 상호작용 유도

> 유저 간 거래로 촉발되는 거시 경제 관리


- 개미집 신드롬에 주의

> 개미집은 밖에서 보면 재밌으나 개미들은 죽을 맛

> 플레이어 개인의 재미있는 경험이 최우선 : 온라인 게임은 개미집처럼 되기 쉬움, 플레이어의 실제 경험에 항상 주시


7. 요약

- PC온라인, 콘솔 게임은 데이터+소셜 프로세스 위주로 성장해왔다.

- 계산 프로세스 중심 게임은 드물지만 확실한 성과를 냈다.

- 모바일 게임은 여러 제약 조건으로 현재까지는 랜덤 프로새스가 중심

- 서버 기술을 활용하면 모바일 계산 프로세스 중심 게임을 만들 수 있다.


8. QnA

- 시뮬레이션으로 몹 생성시 유저 슈요 맞추는 법

> 타이트하게는 전체 동물 숫자를 일정하게 유지하고 분포만 바꾸는 방법

> 루즈하게는 동식물의 개체수 변화량을 모니터링하다가 개입하는 방법


- 생태계 몬스터 시스템을 유저에게 이해시키기

> 스토리텔링의 문제라 생각된다.

> 거시적인 생태계 변화에 대한 정보를 공개하는 것도 좋겠다.


- 영속성이면 월드가 플레이할 수 없는 상황이 오는건 아닌지?

> 모든 건물에는 수명이 있어 일정 시간 관리하지 않으면 부서져 사라지는 식으로 월드에 항상성을 만든다.


- 서버가 계산 프로세스를 담당할 경우 개발사 측에서 그 비용을 부담, 유저가 몰릴 경우 용량 증가가 따라가지 못할 경우 서비스 병목 현상, 

  현 세대의 기술이 서버측 계산 프로세스 구현에 충분했는지?

> 물론 서버 CPU를 다량으로 사용하려면 무시할 수 없는 비용이 든다.

> 그러나 CPU 성능보다 더 중요한 것은 <필요할 때 즉각 수용량을 확장할 수 있는지>이다.

  자세한 것은 서버 아키텍처 세션 참고