[ndc2014] 반응적 라이브 개발

111
반응적 라이브 개발 던전앤파이터 Technical Director 송창규

Upload: changkyu-song

Post on 23-Jun-2015

3.147 views

Category:

Software


1 download

DESCRIPTION

던파에서 놓치기 쉬운 유저의 목소리를 들을 수 있도록 유저모니터링 툴 이라는 도구를 만들고 이후 약 1년여간 개발자들이 유저의 목소리에 반응하여 개발하도록 노력한 사례를 담아보았습니다.

TRANSCRIPT

Page 1: [NDC2014] 반응적 라이브 개발

반응적 라이브 개발

던전앤파이터Technical Director

송창규

Page 2: [NDC2014] 반응적 라이브 개발

이런 분들에게 도움되는 발표입니다크고 아름다운 오래된 라이브 게임을 개발/운영하는 사람들

보다 유저와 소통하고, 이슈에 기민하게 대응하는라이브 게임 개발에 관심있는 사람들

걍 큰 게임의 커뮤니케이션과 개발 사례가 궁금한 사람들

(여태까지 주로 프로그래머를 위한 발표를 해왔지만)

프로그래머가 아니어도 들을 수 있습니다

Page 3: [NDC2014] 반응적 라이브 개발

발표 내용: 사례 위주

개발자가 유저에게 가까워지기 위한 고민, 노력

유저모니터링 툴 개발/도입/활용

개발자가 나서서 유저와 소통하고 호흡하며 개발한 사례

Page 4: [NDC2014] 반응적 라이브 개발

발표자 소개송창규Dungeon & Fighter Technical Director넥슨그룹 입사 13년차3개 게임 처음부터 라이브까지 개발(Dizzy Pang, Big Shot, Bubble Fighter)

1999, Gabriel Knight 3 한글화, 출시2001, Worms World Party 한글화, 출시2002, Crazy Arcade 참여2002-2003, Dizzy Pang 개발 리드, 출시2004-2006, Big Shot 제안, 기획, 개발 리드, 출시2006-2010, Bubble Fighter 개발 리드, 출시2010-2011, Mabinogi 2 참여2011-, Dungeon & Fighter 테크니컬 디렉팅

Page 5: [NDC2014] 반응적 라이브 개발

LIVE: 크고 아름다운 오래된 게임의 난제

Page 6: [NDC2014] 반응적 라이브 개발

전문화/분담으로개발자와 유저의 거리 증가

게임 스케일이 커지고

다양한 방면으로 전문화될수록

라이브 이슈와 일정에 쫓기며 열심히 개발하는 개발자가

실제 게임의 현장에서는 멀어지기 쉬움

유저들이 어떻게 게임을 즐기는지 챙기는것은

퍼블리싱/운영 영역에서

Page 7: [NDC2014] 반응적 라이브 개발

9살 던전앤파이터

스킬 2,000 개 이상

퀘스트 4,500 개 이상

소스 파일 10,000 개 이상

장비 아이템 50,000 개 이상

애니메이션 200,000 개 이상

이미지 10,000,000 개 이상

Page 8: [NDC2014] 반응적 라이브 개발

버그이슈 > 가용 리소스문제

Page 9: [NDC2014] 반응적 라이브 개발

원인파악/재현 불가능한 버그의 누적

Page 10: [NDC2014] 반응적 라이브 개발

쉽지 않은 이 상황에…

유저의 흔적이 큰 단초가 될때가 있다

Page 11: [NDC2014] 반응적 라이브 개발

사례: 32768

Page 12: [NDC2014] 반응적 라이브 개발

“버스터샷 버그”가 문제되던 시절

유저들의 성토는 늘어나는 와중에

개발팀은 “버스터샷 버그”가 바로 재현이 되지 않아

버그 수정을 하지 못하고 있었는데…

Page 13: [NDC2014] 반응적 라이브 개발

어느날 루x웹에 올라온 글

Page 14: [NDC2014] 반응적 라이브 개발
Page 15: [NDC2014] 반응적 라이브 개발
Page 16: [NDC2014] 반응적 라이브 개발

사례: 실행이 안되면 폴더명을 바꿔?

Page 17: [NDC2014] 반응적 라이브 개발

던파 아라드 세계에 불어닥친 또하나의 대격변,

“대전이” 패치(Lv1~Lv54 까지의 던전/마을 삭제, 모두 다시 제작)

그 직후 …

Page 18: [NDC2014] 반응적 라이브 개발

XP 머신을 중심으로

실행 불가 문제 급증

뻥뻥 터지는구나!!

Page 19: [NDC2014] 반응적 라이브 개발

멘붕의 향연

XP 머신을 중심으로 실행이 안된다는 유저 급증

XP 포함 사무실 모든 컴퓨터에서는 재현이 되지 않음

긴급히 문제를 겪는 유저 아웃바운드 원격지원 진행

Page 20: [NDC2014] 반응적 라이브 개발

멘붕의 향연

패기넘치는

XP SP2 문제

메모리가 충분해도

일정용량 이상의

Memory Mapped File

사용불가

Page 21: [NDC2014] 반응적 라이브 개발

멘붕의 향연

여전히 일부 유저들의 Win7 컴퓨터에서 실행 불가

원인 오리무중

재현 불가

Page 22: [NDC2014] 반응적 라이브 개발

그러던 중 올라온 글…

Page 23: [NDC2014] 반응적 라이브 개발

“해결방법: 폴더명을 DNF1 로 바꿔주세요”

이런걸로 해결될리가…

Page 24: [NDC2014] 반응적 라이브 개발
Page 25: [NDC2014] 반응적 라이브 개발

원인: Themida + Vista 호환성 옵션

상황에 따라 윈도우가 멋대로 설정

레지스트리에 Path 로서 설정 저장

Page 26: [NDC2014] 반응적 라이브 개발

Themida 패킹 프로세스 재정비

패킹할때마다 랜덤하게 다르게 패킹

가챠1: 일정 CPU 혹은 시스템에서 실행 안되거나

가챠2: Vista 7 호환모드에서 안되거나

x카오x 도 겪었다던 전설의 Themida 실행문제

Page 27: [NDC2014] 반응적 라이브 개발

개발자로서 유저의 목소리 듣기

Page 28: [NDC2014] 반응적 라이브 개발

유저 = 고객님

개발자가 직접

유저의 목소리를 적극적으로 듣는것은

오래된 게임의 난제를 해결하는데

큰 도움이 된다

고객님을 지키기 위해선

고객님에게 귀를 기울이자

Page 29: [NDC2014] 반응적 라이브 개발

고객의 소리..“어디한번 들어보겠습니다”

Page 30: [NDC2014] 반응적 라이브 개발
Page 31: [NDC2014] 반응적 라이브 개발
Page 32: [NDC2014] 반응적 라이브 개발

고객님의 소리…듣고싶지만 너무 많아…

Page 33: [NDC2014] 반응적 라이브 개발

유저 볼륨이 크면

다 볼수는 없고…

주요 게시판 위주로

고객님 의견을 수렴

Page 34: [NDC2014] 반응적 라이브 개발

한계: 한정된 시야

커뮤니티별로 전체 분위기 조감은 쉽지만

고도를 낮춰 디테일하게 볼 수 없다

분야별로는 파편화된 시야만 얻을 수 있음

빈도가 적은 이슈일수록 놓치기 쉽다

Page 35: [NDC2014] 반응적 라이브 개발

Minority Report

안정성/실행문제는 소수이더라도 매우 중요하다로그인이 안되네요

실행이 안되네요

왜 자꾸 끊기지

보안기능 문제가..

ㅇㅇ스킬만 쓰면 튕기네

ㅇㅇ버그 진짜 짜증

왜이러지 하루종일 해도 안되네

다시 설치해봐도 안되고

“아오 짱나 접어야겠다”

이탈

Page 36: [NDC2014] 반응적 라이브 개발

검색으로 한정된 시야를 극복

게시판을 돌아다니며 검색

ex) 밸런스, 밸패

Page 37: [NDC2014] 반응적 라이브 개발

“어디한번 검색해보겠습니다"

VIDEO

Page 38: [NDC2014] 반응적 라이브 개발

한계: 한정된 시간

4개 커뮤니티를 하나씩 돌아다니며 검색만 해도 노가다

(약 5분 이상)

4개 커뮤니티 * 3개 게시판 * 5개 키워드?

= 15배의 노가다

(약 75분 이상)

Page 39: [NDC2014] 반응적 라이브 개발

한계: 한정된 시간

개발자한테 맨날 자주 보라니

서비스 일정 맞춰 개발하기도 바쁜데 언제 그걸…

그런거 하라고 퍼블리셔(서비스/운영) 있는거 아닌가요?

Page 40: [NDC2014] 반응적 라이브 개발

도구를 만들어보자

Page 41: [NDC2014] 반응적 라이브 개발

도구를 만들어보자

일단 비효율 제거와 접근성에 포커스를 맞추어 툴 제작

어떻게 만들었는지의 이야기를

다음 세션에서 들으실 수 있습니다

“쉽게 따라할 수 있는 ‘꽤’ 훌륭한 유저 동향 분석 시스템”

5.28 (WED) 16:30 - 김호연

Page 42: [NDC2014] 반응적 라이브 개발

만들어보았습니다게시판별 검색

VIDEO

일일히 클릭하고 뒤로가기를 하지 않고 빠른 속도로 탐색

Page 43: [NDC2014] 반응적 라이브 개발

만들어보았습니다커뮤니티별 검색

VIDEO

커뮤니티 전체 게시판 혹은 모든 커뮤니티 게시판을 한번에 검색

Page 44: [NDC2014] 반응적 라이브 개발

만들어보았습니다다중 키워드 동시 검색

VIDEO

결투장, 랙/최적화/팅 등 여러 키워드를 묶어서 한번에 검색

Page 45: [NDC2014] 반응적 라이브 개발

만들어보았습니다다중 키워드 동시 검색

VIDEO

결투장, 랙/최적화/팅 등 여러 키워드를 묶어서 한번에 검색

Page 46: [NDC2014] 반응적 라이브 개발

내부 영업활동 – 약을 팔아보자

Page 47: [NDC2014] 반응적 라이브 개발

같은 개발팀인데 왜 약팔아야하나요?

사람은익숙함의 노예

관성의 동물

망각의 동물

꼭 해야하는것이 아니라면 굳이 사용하지 않는다

쥐어주고 먹여주면서 사용하도록 유도해야한다

Page 48: [NDC2014] 반응적 라이브 개발
Page 49: [NDC2014] 반응적 라이브 개발
Page 50: [NDC2014] 반응적 라이브 개발
Page 51: [NDC2014] 반응적 라이브 개발
Page 52: [NDC2014] 반응적 라이브 개발
Page 53: [NDC2014] 반응적 라이브 개발
Page 54: [NDC2014] 반응적 라이브 개발
Page 55: [NDC2014] 반응적 라이브 개발
Page 56: [NDC2014] 반응적 라이브 개발

가려운곳 긁어주기

Page 57: [NDC2014] 반응적 라이브 개발

가려운곳 또 긁어주기

Page 58: [NDC2014] 반응적 라이브 개발

좋은 반응!

Page 59: [NDC2014] 반응적 라이브 개발

효과, 변화

Page 60: [NDC2014] 반응적 라이브 개발

“이번에 들어간 이벤트 반응이 괜찮나..”

Page 61: [NDC2014] 반응적 라이브 개발

폭넓고 빠른 발견, 추적, 대응

Page 62: [NDC2014] 반응적 라이브 개발

폭넓고 빠른 발견, 추적, 대응

Page 63: [NDC2014] 반응적 라이브 개발

원인 추적이 어려운 사례의 단서로 활용

Page 64: [NDC2014] 반응적 라이브 개발

메일 등에 정성적 근거로 활용상당히 높은 신뢰도!

Page 65: [NDC2014] 반응적 라이브 개발

정량적/시기적 근거로도 활용

Page 66: [NDC2014] 반응적 라이브 개발

아이디어/제안 촉진

Page 67: [NDC2014] 반응적 라이브 개발
Page 68: [NDC2014] 반응적 라이브 개발

“상황판 디스플레이”

라이브 상황을 개발자에게 잘 전달할 수 있게

화장실 드나드는 통로에 대형 디스플레이 장만

Page 69: [NDC2014] 반응적 라이브 개발

사람들 반응

“신기한 물건일세”

Page 70: [NDC2014] 반응적 라이브 개발

그리고 변화

개발자들이 자주 유저모니터링 툴을 이용하여 동향을 확인하고,적극적으로 커뮤니케이션에 활용

“유저 모니터링에 보면..” “유저들의 반응을 보면"이라고 하는 경우가 증가

Page 71: [NDC2014] 반응적 라이브 개발

확장

Page 72: [NDC2014] 반응적 라이브 개발

외부 오픈

Page 73: [NDC2014] 반응적 라이브 개발

모바일 오픈모바일 오픈

Page 74: [NDC2014] 반응적 라이브 개발

다양한 시야와 관점의 키워드셋

Page 75: [NDC2014] 반응적 라이브 개발

사례: 정확한 분석이 어려웠던 네트워크 오류 문제

Page 76: [NDC2014] 반응적 라이브 개발
Page 77: [NDC2014] 반응적 라이브 개발

원격지원을 통해 안정성/코너케이스 보강

Page 78: [NDC2014] 반응적 라이브 개발

원격지원 이야기

“안정적인 대규모 패치를 위한 원격지원 서비스“

5.28 (WED) 14:10 - 강덕원, 김상기

Page 79: [NDC2014] 반응적 라이브 개발

원격지원 코너케이스 예시

Vista 호환성 문제 + Themida 충돌

하드시스크 특정 폴더 액세스 CRC 에러

Fasxx DRM 프로그램 충돌

모니터가 800x600 을 지원안함

대부분은 던파를 열성적으로 즐기다가

골로 보내버릴뻔 했던 잠재 이탈 유저

Page 80: [NDC2014] 반응적 라이브 개발

시간에 따른 발생 추이를 근거로 활용

Page 81: [NDC2014] 반응적 라이브 개발

시간에 따른 발생 추이를 근거로 활용하다가…

Page 82: [NDC2014] 반응적 라이브 개발

키워드 트렌드 기능 추가

Page 83: [NDC2014] 반응적 라이브 개발

알람 지표로도 사용 가능

Page 84: [NDC2014] 반응적 라이브 개발

키워드 검색과 마찬가지로 시간을 들여 여기저기 뒤져보는건 비효율적

검색어 추천

PC방 게임순위

게임 검색어 순위

청소년 / 대학생인기검색어

Page 85: [NDC2014] 반응적 라이브 개발

검색어 추천을 통한 추가 발견/대응

Page 86: [NDC2014] 반응적 라이브 개발

발전

Page 87: [NDC2014] 반응적 라이브 개발

더 나은 피드백과 소통에 대한 고민

Page 88: [NDC2014] 반응적 라이브 개발

“고객님이 원하시는 것을 처리해드립니다”개발부서에 별도의 TF 조직 신설

Page 89: [NDC2014] 반응적 라이브 개발

던파개발실 전체PT

방향과 진행 공유, 설파

Page 90: [NDC2014] 반응적 라이브 개발

전면에 나서는 개발자

Page 91: [NDC2014] 반응적 라이브 개발

전면에 나서는 개발자

일회성에 그치지 않고 꾸준히 지속적으로

소통하는 모습을 보이는것이 중요

이슈에 대해서 빠르고 기민한 반응/대응

로드맵과 계획이 기반되어야

Page 92: [NDC2014] 반응적 라이브 개발

전면에 나서는 개발자

예고하고 경청의도와 취지에대해 설명하고

Page 93: [NDC2014] 반응적 라이브 개발

전면에 나서는 개발자

피드백을 주고 받고

반영되는 과정을 반영

Page 94: [NDC2014] 반응적 라이브 개발

전면에 나서는 개발자<던전 앤 파이터>

클라이언트 로딩 속도 최적화

- 우리 아이가 세배 빨라졌어요!

5.29(THU) 하재승

Page 95: [NDC2014] 반응적 라이브 개발

유저는 개발자를 좋아해(감사합니다 ㅠ.ㅠ)

Page 96: [NDC2014] 반응적 라이브 개발

개발자도 뿌듯하고,옆에서 같이 호흡하는 느낌

Page 97: [NDC2014] 반응적 라이브 개발

소통 노력과 성과

Page 98: [NDC2014] 반응적 라이브 개발

사례: 싸우자 일방 신청제 (닥싸)

Page 99: [NDC2014] 반응적 라이브 개발

사례: 싸우자 일방 신청제 (닥싸)

유저들의 반대여론에 부딪혀

유저와 중간공유하면서

내부 재논의를 거치고

테스트서버 패치 내용 번복

자정작용으로 여론 회복

소통에는 “과정”이 중요

Page 100: [NDC2014] 반응적 라이브 개발

개발자 스스로도보람을 느끼고 동기부여

Page 101: [NDC2014] 반응적 라이브 개발

화장실 다녀오는길

<VIDEO>

Page 102: [NDC2014] 반응적 라이브 개발

마무으리

Page 103: [NDC2014] 반응적 라이브 개발

반응적 라이브 개발통계적 지표 관리, 통계적 지표에 따른 반응적 개발은 당연.

유저들의 소리는 UX (User Experience) 의 살아있는 물증

통계적 지표에 비해

결과적이지 않고 본질적이다

유저 경험의 핵심인 감정과 맥락을 훨씬 잘 담아낸다

발견적이다

쉽다

이들도 지표화되어 관리될 수 있다

Page 104: [NDC2014] 반응적 라이브 개발

반응적 라이브 개발라이브 게임은 빠른 Response Time이 중요

똑같이 대응하고 처리해도, 이틀 후 피드백, 2주후 패치는 너무 늦었을 수 있다

Response Time 이 짧은데서 소통의 느낌이 난다

특히 부정적 이슈 에는 빠른대응이 결정적(실행문제/안정성/치명적 버그/보안 사고/부정적 여론)

운영/서비스만 지표를 보지 않고,

개발자들도 지표를 근거로 유저의 즐거운 경험을 찾아내야 한다퍼블리셔/개발 R&R 이 초반에는 효율적이 되었지만,

전문화될수록 Technical Artist 나 Visual Programmer 의 역할이 중요해지듯,

둘 사이의 이해와 Bridging, 병목과 갈등 해결이 앞으로 게임 서비스 퀄리티의 화두가 될 것

Page 105: [NDC2014] 반응적 라이브 개발

개발자의 유저 소통: 쉽지 않은 문제

개발자가 유저와 소통할 경우 리스크가 많음잘하면 중박 못하면 쪽박

생각치 못한 한마디가 큰 리스크가 되어 돌아온다

기본적인 커뮤니케이션 교육을 받고 전문적인 검수/안전망을 거칠 필요가 있음

커뮤니케이션 채널 다원화 문제TF 와 공동 채널 구축으로 엇갈리지 않게 / 일관성 유지

일관성담당자별 별도의 페르소나로 소통 (결투 담당자/개발 총괄 팀장)

Page 106: [NDC2014] 반응적 라이브 개발

내부 툴을 만들때

1. 적극적으로 약을 팔고 영업하라

2. 잘 만드는것도 중요

3. 그냥 좋으니/편리하니 쓰라고 얘기하기보다는사용자가 스스로 느끼고 쓰도록 유도할 수 있으면 더 좋다

Page 107: [NDC2014] 반응적 라이브 개발

소통과 참여, 오너십

결과가 똑같더라도 과정이 어떠했는지에 따라

나의 의견이 반영되고 참여했다는 느낌과 오너십이 다르다

조직도 마찬가지

Page 108: [NDC2014] 반응적 라이브 개발

끝없이 병목/장벽 해소의 노력 필요

각자의 R&R 을 책임지고 지키되,

우호적이고 협조적으로 상대의 선을 적당히 넘나들 필요가 있다

조직간 커뮤니케이션과 협업이 중요

필요하다면 TF 나 별도 채널, 파견 등 유연한 조직체계로 병목 해결

언제나 “이것이 최선인가” 고민하기

Page 109: [NDC2014] 반응적 라이브 개발

던파도 최근 1년간 유저 경험을 최우선하려는던파의 조직별 많은 노력이 뒷받침

넥슨 네트웍스 (운영조직)

조종실 (퍼블리싱조직)

던파개발실 (개발조직)

외부 원격지원 업체

Page 110: [NDC2014] 반응적 라이브 개발

CMS, BI 를 넘어 OI 로

Consumer Management System 에서

Business Intelligence 를 넘어

Operational Intelligence 로

Page 111: [NDC2014] 반응적 라이브 개발

감사합니다

“무엇을 상상하든 그 이상을 보게 될것이다”

라이브 게임 개발의 역대급 스케일

던전앤 파이터에서 체험할 수 있습니다