9. Data vs Process
• 프로그램은 data와 process를 섞어 정보(information)를 만든다.
– data-intensity : 정보에 얼마나 많은 데이터가 들어있는가
– process-intensity : 정보가 얼마나 많은 연산을 통해 만들어졌는가
Chris Crawford on Game Design (2003)
16. 두 세계의 차이에 의한 긴장이 재미를 유발한다.
플레이어 게임
조작 정보
시청각 정보
17. Flappy Bird
• 물리 법칙을 따를 것 같은 첫 인상
– 실제 중력 시뮬레이션과 비슷한 낙하 궤적
• 아무리 빨리 떨어지고 있어도 조작 직후 운동은 동일
– 현실과는 다른 반응
• 실제 세계의 물리 법칙을 상정하고 접근
– 터치하는 순간 반응이 실제 세계와 다름
– 연습을 통해 게임 세계의 법칙을 터득
18. 결론
• 게임은 시청각 정보를 전달해서 재미를 주는 매체이다.
– 전통적인 매체와 공통적인 특징
• 게임은 인터랙티브한 매체이다.
– 유저는 게임을 조작하기 위해 게임 룰을 마음 속에 재구성한다.
– 재구성한 세계와 실제 게임세계 사이의 적당한 긴장감이 재미있다.
26. 데이터 중심 게임
• 거의 대부분의 일직선 진행형 콘솔 게임
– 영화적인 체험이나 스토리 전달이 주된 목적
– 약간의 인터랙티브한 계산 프로세스가 보조적인 역할
• 유저의 입력 조작을 1비트로 축약
– 스토리에 진전이 있었다 / 없었다
27. 데이터 중심 게임의 특징
• 전통적인 미디어 작법이 유효
– 영화, 소설 등…
• 가미된 계산 프로세스를 효과적으로 활용하는 것이 관건
– 강렬한 몰입감이나 임팩트를 주는 데 활용
– 잘 활용하면 큰 호응을 얻을 수 있음.
28. 데이터 중심 게임의 특징
• 비교적 고비용
– 데이터는 사람 손으로 만드는 것이기 때문
– 노동집약적 프로세스
• 리플레이성 부족
– 한 번 해본 게임은 다시 안 하게 됨
29. 데이터 중심 게임의 발전
• <다중 스토리> <멀티 엔딩> 등의 요소
– 데이터를 일직선이 아니라 그래프 형태로 나열함
• 유저의 조작을 1비트보다는 많은 정보로 축약
– 어떤 트리를 선택했는가
http://www.gamecareerguide.com/features/882/nonlinear_narrative_in_games_.php
30. 소셜 프로세스 중심 게임
• 전통적인 MMORPG
– 여러 유저의 행동이 한 눈에 보이는 재미
– 인간 관계에 따라 발현되는 행동이 주된 컨텐츠
• PvP 기반의 게임
– LoL, 서든어택, …
– 매번 다른 유저와의 경쟁이 주된 컨텐츠
32. 소셜 프로세스 중심 게임의 특징
• 다른 플레이어들이 곧 게임 컨텐츠
– 리플레이성이 높다.
– 플레이어 커뮤니티의 분위기가 게임 경험을 좌우함
• 비교적 좁은 타겟 유저층
– 다른 사람에 의해 생기는 의외의 경험이 꼭 유쾌하지만은 않다.
– 견딜 수 있는 사람만 남게 됨
39. 랜덤 프로세스의 특징
• 사실상 공짜에 가까운 비용
– 개발자 시간, CPU자원, 저장 공간이 모두 필요 없음
– 물론 확률모델 분석과 밸런싱 시간은 필요
• 사실상 무한한 리플레이성
– <나는 운이 좋다>고 느끼는 순간의 쾌감
– 운이 없을 때 한번만 더 시도해보고 싶은 욕망
• 검증된 동기부여 방법
40. 랜덤 프로세스와 보상
• 스키너의 행동주의 이론
– 행동에 보상해서 특정 행동을 유도
– 랜덤 보상이 고정 보상보다 효과적
• 랜덤 보상은 플레이어의 행동을 유도하는 강력한 장치다.
– 게임은 플레이어를 조종하기 위한 도구가 아니다.
– 조심해서 사용해야
– 남용하면 두뇌의 버그를 어뷰징하는 것
42. 계산 프로세스 중심 게임
• 주로 시뮬레이션 게임들
– 현실을 디테일하게 모사한 게임 룰
– 많은 계산량을 통해 다양한 상황 연출
• 한정된 계산 성능을 게임 룰에 할애
– 현장감이나 시청각적 자극 보다 지적인 도전 위주
43.
44.
45. 계산 프로세스 중심 게임의 특징
• 높은 리플레이성
– 할 때마다 달라지는 게임 양상
– 학습에 의해 게임 세계를 더 정교하게 재구성할 수 있음
• 현실 메타포
– 게임 내에만 있는 룰은 학습 곡선이 너무 높음
– 현실에서 알고 있는 룰을 기반으로 접근하도록 설계
49. 물리 연산
• 실제 세계의 물리 법칙을 게임에서 재현
• 플레이어가 이미 알고 있는 규칙을 게임에서 바로 쓸 수 있음.
https://www.flickr.com/photos/kartooner/1110473465/
50. 에이전트 기반 시뮬레이션
• 단순한 룰에 의해 움직이는 다수의 에이전트
• 에이전트 사이의 상호작용에 의해 창발적인 현상이 일어난다.
51. AI
• 게임 내의 어떤 개체가 지능이 있는 것처럼 보이게 한다.
• 길 찾기, 행동 트리, 신경망, 욕구 기반 에이전트…
http://thesims2.simshost.com/relationships/relationships-02.php
52. 절차적 생성
• 게임 환경이나 개별 오브젝트를 정해진 룰에 의해 생성한다.
• 적은 데이터량으로 매번 다른 다양한 종류의 게임 상태를 만든다.
53. 조합
• 데이터와 데이터를 단순 조합
– 조합 규칙에 의해 조합한 결과물의 상태가 결정됨
– 유저가 조합 규칙을 이용해서 원하는 상태를 만들 수 있다.
http://gnews.com/minecraft-beta-changes-build-on-the-indie-phenomenon-17201014121722/
54. 조합도 계산 프로세스인가요?
• 사실 그게 중요하진 않습니다.
• 단기간 집중적인 계산이 필요한 것은 아님
– 비교적 긴 기간 동안 단순한 계산을 한 결과를 데이터화
• 절차적 생성과 조합은 계산 성능보다 스토리지에 의존적임
– 큰 DB 용량이 필요
66. 조합 가능한 아이템
• 적은 종류의 자원을 다양하게 조합
• 적은 재료로 많은 경우의 수를 제공
다음 세션
<가죽 장화를 먹게 해주세요> - 이정수
<가죽 장화를 먹게 해달라니> - 최호영
67. 영속성 월드
• 세계에 미친 영향이 시간이 흘러도 지속된다.
– 베어버린 나무
– 지어뒀거나 부숴버린 건물
– 점령해 버린 땅
• 지속적인 소셜+계산 프로세스의 누적
– 풍부한 창발성 유도
수요일 16:30 <야생의 땅: 듀랑고 서버 아키텍처> - 이흥섭
목요일 09:50 <온라인 게임의 창발적 게임플레이 디자인> - 이은석
68. 빠진 분들 아쉬우니까…
수요일
14:10 <유니티를 이용한 렌더링 개발 이터레이션과 최적화> - 김혁
15:20 <미쿠미쿠하게 해줄게> - 최은영
17:05 <투명한 문화 다루기> - 안미루
목요일
15:55 <야생의 땅: 듀랑고 개발 프로세스> - 박영준
71. 예측 모델이 반드시 필요함
• 모델의 <변하지 않는 조건>을 의도에 따라 지정
– 게임 상태가 의도한 상태 범위를 벗어나지 않도록 제약
• 제약의 범위가 관건
– 너무 타이트하면 흥미로운 사건이 일어나지 않음
– 너무 간접적이면 불쾌할 정도로 발산한다.
72. 레벨 디자인이 필요
• 절차적 생성에도 레벨 디자인은 필요함
– 현실의 모사 (x)
– 게임 경험에 대한 의도가 있는 룰 (o)
• 의도 생성 룰 결과물 의 간접 컨트롤 모델
– 간접 통제의 예술
– 결과물 분석 의도 수정의 피드백 루프가 반드시 필요하다.
81. 요약
• PC온라인/콘솔 게임은 데이터+소셜 프로세스 위주로 성장해 왔다.
• 계산 프로세스 중심 게임은 드물지만 확실한 성과를 냈다.
• 모바일 게임은 여러 제약 조건으로 현재까지는 랜덤 프로세스가 중심.
• 서버 기술을 활용하면 모바일 계산 프로세스 중심 게임을 만들 수 있다.
84. References
• Chris Crawford on Game Design (Chris Crawford, 2003) (007-6092021681)
• Persuasive Games: Process Intensity and Social Expreimentation (Ian Bogost, 2012)
http://www.gamasutra.com/view/feature/170806/persuasive_games_process_.php
• The Simulation Dream (Tynan Sylvester, 2013)
http://www.gamasutra.com/blogs/TynanSylvester/20130602/193462/
87. Q. 시뮬레이션으로 몹을 생성하
면 유저 수요를 맞출 수 있나요?
A. 타이트하게는 전체 동물 숫자를 일정하게 유지하
고 분포만 바꾸는 방법에서, 루즈하게는 동식물의
개체수 변화량을 모니터링하다가 개입하는 방법
까지 다양하게 고려하고 있습니다.
88. Q. 생태계 몬스터 시스템이 인상깊었는데 유
저에게 이해시키기 쉬울지 우려스럽습니다.
유저가 이해하기 쉽게 하기 위해 고려한 점이
있는지 궁금합니다.
A. 스토리텔링의 문제라고 생각하는데, 거시적인
생태계 변화에 대한 정보를 실시간으로 공개하는
것도 한 가지 방법이 될 수 있을 것 같습니다.
89. Q. 영향이 지속되면 월드가 플레이
를 할 수 없는 상황이 오는 것을 어떻
게 방지하나요?
A. 예를 들어 모든 건물에는 수명이 있어서 일정 시간
이상 관리해주지 않으면 부서져 사라진다든가 하는
방식으로, 월드가 항상성을 갖게 만듭니다.
90. Q. 서버에서 계산 프로세스를 담당할 경우 결국 개발사 측에
서 그 비용을 부담해야 할 것이고, 유저가 몰릴 경우 용량 증
가가 따라가지 못할 경우 서비스의 병목이 될 수도 있는데,
현 세대의 기술이 서버측 계산 프로세스 구현에 충분했는지?
A. 물론 아직 서버 CPU를 다량으로 사용하려면 무시할 수 없는 비용이 들기
때문에 조심스럽게 접근해야 합니다. 그러나 CPU성능보다 더 중요한 것은
<필요할 때 즉각 수용량을 확장할 수 있는지>입니다. 절대적인 서버 CPU사용
량을 줄이는 것과, 필요할 때 즉시 서버를 증설해서 중단 없이 수용량을 늘리
는 양쪽 방향의 개발을 모두 진행 중입니다. 일부 시뮬레이션은 서버 사이드
GPU에 분담시킬 수 있는 가능성도 염두에 두고 있습니다.