SlideShare una empresa de Scribd logo
1 de 122
What ! Studio / 넥슨코리아
박영준
Beyond Code
<야생의 땅:듀랑고>의 좌충우돌 개발 과정
프로그래머가 챙겨주는 또 다른 개발자 사용 설명서
제 소개
박영준 (gp2k@nexon.co.kr)
프로젝트 이력
 넥슨, 왓 스튜디오, 프로그래머, 파트장, PM
– 야생의 땅: 듀랑고
– 전투, 애니메이션 시스템, AI 서버, 클라이언트
 넥슨, 마비노기 영웅전 프로젝트
강연 내역
 2013년: 신입사원 교육 - 손맛이 사는 액션게임 만들기
 2012년: NDC, 마비노기 영웅전 카이 포스트모템 - 시선
을 사로잡는 캐릭터 카이 그 시도와 성공의 구현 일지
 2011년: NDC, 마비노기 영웅전 액션 시스템 - 기민하고
다채로운 액션 프로토타이핑 비결
목차 프로그래머의 미덕, 프로그래머의 미흡
불법 야근러를 막아라 – 일정을 맞추는 방법
Divide And Conquer
일을 쪼개라
시간을 쪼개라
인력을 쪼개라
니 말이 맞아? 내 말이 맞아? - 의도를 맞추는 방법
비전 얼라인
테스트 주도형 피처 개발
QA 주도형 개발
결론
“공룡시대 야생 환경에 던져진 현대인이 되어,
사실적 풍취의 탐험, 사냥, 개척, 사회 건설을 플레이하는
새로운 체험의 모바일 MMORPG”
게임의 소개
야생 환경
현대인
원주민공룡
공룡
창발성
사회 건설
개척
탐험
사냥
왓 스튜디오의 개발 과정?
Agile ? XP ?
• Yes and No
• 이론적으로 완벽한 개발 방법론을 설명하는 게 아님
사례 중심 소개
• 100% 저희 스튜디오가 실제로 경험하고 삽질하며 개선
했던 살아있는 개발 방법론입니다
• 정교함은 떨어지지만 내 몸에 맞는…
이런 논쟁이 발현할 수 있었던 문화 소개?
• 이정수 : <가죽 장화를 먹게 해주세요>
• 최호영 : <가죽 장화를 먹게 해달라니>
Beyond Code! Why not!?
우리 스튜디오의 작업 과정을 코딩 한다면!?
논리적 데이터 흐름을 제어 : 프로그래밍
저작 작업의 흐름을 제어 : 게임 개발 프로세스
프로그래머는 시스템을 설계하고 구현합니다.
• 시스템 : 프로세스
프로그래머는 객체 사이의 디자인에 관심이 많습니다.
• 객체 : 사람 혹은 소그룹
• 사이 : 관계
• 디자인 : 파이프라이닝
디렉터가 창발성을 외치면
개발자들은 어떤 대비를 해야?
• 심플한 룰과 관계 속에서 예상치 못한 새로움
• 계(System)의 안정성?
• 나비효과?
• 스펙은 갈대와 같이…
• 어떻게 일정을 맞출까!?
나를 알고 적을 알면 백전무퇴
프로그래머의 미덕
프로그래머의 미흡
프로그래머의 미덕?!
키보드 워리어
보통은 말 보단 글(또는 코드)이 편하다?
설계 덕후
객체를 디자인하고 관계를 코드로 설계한다
타임 컬플렉시티
타임 컴플렉시티에 대한 본능적 반응
Geek
별의 별 곳에 공돌이 개그.
Gamification 종특
Due Mode
Due 직전의 빛나는 창의력 + 집중력
프로그래머의 미흡!?
난 내 일만
코딩만 열심히 한다.
항상 쫓기며 일한다.
부정적(?) 낙천주의
이 기획 아마 안 될꺼야…
하지만 이 스펙은 1주일이면 될겨~
HGI 소홀(Human-Geek Interface)
너무 독특한 자신만의 세계가 있다거나…
자연언어 커뮤니케이션 힘듦?
미덕과 미흡을 잘 짬뽕 해보면 블루 오션?!
미흡 흡수
내 일만  작업 프로세스 전반에 관심을 가짐
HGI를 향상
키워질 양성화: 스크럼! 의 또 다른 사용 설명서!?
정량 가능한 일정 예측법 고안
미덕력 업!
Beyond Code!
공돌이 개그의 건설적인 활용 방안!
시스템 설계를 확장해서 개발 프로세스 설계
객체 디자인을 확장해서 조직 설계
프로그래머의 뇌구조
이것들이 어떻게 작용하는지 보시죠!
Divide
And
Conquer
Due 모드
모듈화
그리디
휴리스틱
타임
콤플렉시티
객체
디자인
키워질
변화무쌍한 스펙 속에서 일정을 맞추는 방법
일정을 맞추는 방법
- 불법 야근러*를 막아라
*불법 야근러 : 칼퇴근의 미덕을 거부하는 하드워커
*자매품 : 불법 출근러
Divide And Conquer!
오랜 주문…
Divide And Conquer
– 알고리즘 단골
Divide
And
Conquer
Due 모드
모듈화
그리디
휴리스틱
타임
콤플렉시티
객체
디자인
키워질
작업 공정의 Divide And Conquer
일을 쪼개라
시간을 쪼개라
인력을 쪼개라
일을 쪼개라
일을 쪼개기?
프로그래머는
코드가 길어지면
본능적으로 모듈로 쪼갠다
 큰 업무는 쪼갠다?
Divide
And
Conquer
Due 모드
모듈화
그리디
휴리스틱
타임
콤플렉시티
객체
디자인
키워질
큰 업무 쪼개는 방법?
모듈화!
단계적으로 쪼개기!
단계적으로 쪼개기
단계적 업무 쪼개기 – 단계적 프로토타이핑
모듈화
더 이상 쪼갤 가치가 없을 때까지 쪼갬(같은 목적 단위)
독립적으로 돌아가야 함
• 단일 책임 원칙(SRP) – 한가지 목적으로만 변경되어야
• 개방 폐쇄 원칙(OCP) – 확장에 열려있고 수정엔 닫힌
XP 원칙에 따라
항상 돌아가는 소프트웨어 유지
조금씩 개선 - 재미있으면 더하고 재미 없으면 뺀다
현재가 다음 단계의 비전이 됨
Divide
And
Conquer
Due 모드
모듈화
그리디
휴리스틱
타임
콤플렉시티 객체
디자인
키워질
(예) <야생의 땅:듀랑고> 에서 가죽장화를 만들려면?
네트워킹 테스트
가죽 장화를 만들 수 있도록 원활한 모바일 MMO 네트워킹 제공
채집 시스템
가죽 장화를 만들려면 어떤 재료를 어디서 구하나?
사냥 시스템
동물을 잡아야 가죽을 얻지!
생산 시스템
가죽 장화 재료가 모였는데 어떻게 조합하지?
건설 시스템
가죽 장화를 만들라는데 작업대는 어떻게 만들지?
UI
가죽 장화 제작 UI는 어떻게 생겼나?
렌더링
가죽 장화를 때깔을 어떻게 살릴까?
생태계
화폐
…
(예) <야생의 땅:듀랑고> 에서 가죽장화를 만들려면?
네트워킹 테스트
가죽 장화를 만들 수 있도록 원활한 모바일 MMO 네트워킹 제공
채집 시스템
가죽 장화를 만들려면 어떤 재료를 어디서 구하나?
사냥 시스템
동물을 잡아야 가죽을 얻지!
생산 시스템
가죽 장화 재료가 모였는데 어떻게 조합하지?
건설 시스템
가죽 장화를 만들라는데 작업대는 어떻게 만들지?
UI
가죽 장화 제작 UI는 어떻게 생겼나?
렌더링
가죽 장화를 때깔을 어떻게 살릴까?
생태계
화폐
…
(예) <야생의 땅:듀랑고> 에서 가죽장화를 만들려면?
네트워킹 테스트
가죽 장화를 만들 수 있도록 원활한 모바일 MMO 네트워킹 제공
채집 시스템
가죽 장화를 만들려면 어떤 재료를 어디서 구하나?
사냥 시스템
동물을 잡아야 가죽을 얻지!
생산 시스템
가죽 장화 재료가 모였는데 어떻게 조합하지?
건설 시스템
가죽 장화를 만들라는데 작업대는 어떻게 만들지?
UI
가죽 장화 제작 UI는 어떻게 생겼나?
렌더링
가죽 장화를 때깔을 어떻게 살릴까?
생태계
화폐
…
단계적 프로토타이핑
A1 – A3
게임 실제로 보이게
• HTML5 웹 기반
• 지형 생성
• 지형 스트리밍
• 단순한 인터랙션
단계적 프로토타이핑
A1 – A3
D1 – D3
게임 실제로 보이게
모듈화!
모바일 멀티 터치 조작계
• 모바일 터치에 맞게
• 독립적 프로토타이핑
단계적 프로토타이핑
A1 – A3
D1 – D3
Z3 – Z5
게임 실제로 보이게
모바일 멀티 터치 조작계
시스템에 특화
• 그래픽 요소 최소화
• 시스템만 검증
– 아이템
– 채집
– 생산
– 건축
– 사냥
• 게릴라 사내 테스트
• 레트로한 풍의 매력
– 사내 팬덤 확보
단계적 프로토타이핑
A1 – A3
D1 – D3
Z3 – Z5
A4 – A5
게임 실제로 보이게
모바일 멀티 터치 조작계
시스템 검증
모바일 클라이언트 플레이 검증
• 시스템은 제외
• 조작성, 표현 위주 검증
– 멀티터치 적용
– 사냥의 표현
– 간단한 자연 표현
단계적 프로토타이핑
A1 – A3
D1 – D3
Z3 – Z5
A4 – A5
게임 실제로 보이게
모바일 멀티 터치 조작계
시스템 검증
모바일 클라이언트
플레이 검증
서버 기능 독립적 모듈화
그래픽(X)
클라이언트 일단 되게
서버(X)
단계적 프로토타이핑
A1 – A3
D1 – D3
Z3 – Z5
A4 – A5
tinyA6
P6
W6
A6
게임 실제로 보이게
모바일 멀티 터치 조작계
시스템 검증
모바일 클라이언트
플레이 검증
MMO 서버와 게임 연동,
캐릭터, UI 조립
Bronto
MMO 서버 프레임워크 구현
모바일 사냥, 동물 AI
식생, 자연, 인공물 표현
물 표현 연구
각
각
기
능
단
위
로
모
듈
화
프로토타입 전국시대
A1 – A3
D1 – D3
Z3 – Z5
A4 – A5
랩터빌드
tinyA6
P6
W6
A6
게임 실제로 보이게
모바일 멀티 터치 조작계
시스템 검증
모바일 클라이언트
플레이 검증
MMO 서버와 게임 연동,
캐릭터, UI 조립
Bronto
MMO 서버 프레임워크 구현
모바일 사냥, 동물 AI
식생, 자연, 인공물 표현
물 표현 연구
완전체!!!
B1 – B5
하이엔드 표현 연구
단계적 프로토타이핑의 결과
• 각각의 목적, 재미 요소를 추구하며
독립적으로 발전해감
• 이전의 프로토타입이
다음 프로토타입의 비전을 제시
• 부분을 완성해서
전체를 조립해나가는 과정
• 단, 통합할 땐 좀 힘듦……  뒤에 얘기
시간을 쪼개라
신은 사람을 질투한다. 사람은 죽으니까.
죽으니까 늘 마지막처럼 산다. 그래서 아름답다.
<트로이>
듀 데이트의 역설
• 듀가 많이 남으면 작업이 붕 뜸
– 어디 가서 진짜 시간 쪼개고 싶다
• 그것보다! 더 큰 문제 두려움!
– 마일스톤 애매
• 내가 지금 어디쯤 왔나 몰라 불안
• 잘 하고 있나? 불안
– 로드맵 애매
• 앞으로 남은 일이 정확히 뭔지 몰라 불안
• 담 달부터 마라톤 야근하는 거 아냐?
DUE
듀 데이트의 역설
시험 기간 <O시 내고향>이 왠지 재밌다…
마감 기간되면 하고픈 일들이 마구 생각나…
 일부는 매우 생산적인 에너지 + 상상들
 듀 데이트 되면 집중해서 코딩도 잘된다?!
듀데이트 임박 때의 창조적 생산성을
계속 끌고 갈 수 없을까?
http://blog.sktworld.co.kr/3308
Divide
And
Conquer
Due 모드
모듈화
그리디
휴리스틱
타임
콤플렉시티
객체
디자인
키워질
타이트한 듀 데이트? 시간 쪼개기 방법!
긴 일정은 쪼개라
핀포인트 스케줄링
그리디 스케줄링
긴 일정은 쪼개라
듀 모드의 탄력을 자주 경험
Prototype A6 할때…
프로토타입 Z5에서 다 해봤지?
이번엔 모든 걸 모바일로 옮겨 주면 돼.
프로토타입 A6라고 명명하지
기간은 3개월이야.
3개월 만에요?!
근데 3개월은 어떻게 채워야 하나…;;;
Divide
And
Conquer
Due 모드
모듈화
그리디
휴리스틱
타임
콤플렉시티
객체
디자인
키워질
Due 모드가 아니면
생산성이 현저히 떨어진다
하지만 3개월 내에;;;
말이 안돼요…
이 부분에 대한 작업
A1 – A3
D1 – D3
Z3 – Z5
A4 – A5
랩터빌드
tinyA6
P6
W6
A6
게임 실제로 보이게
모바일 멀티 터치 조작계
시스템 검증
모바일 클라이언트
플레이 검증
MMO 서버와 게임 연동,
캐릭터, UI 조립
Bronto
MMO 서버 프레임워크 구현
모바일 사냥, 동물 AI
식생, 자연, 인공물 표현
물 표현 연구
완전체!!!
B1 – B5
하이엔드 표현 연구
A6 / tinyA6로 분리
3개월
• 모바일로 지형, 동물, 사냥 등을 모두 이식해야
• 1 : 1 : 1로 분리
일정 모듈화 - tinyA6 분리
• 동물 사냥 프로토타입만 하나 쪼갬
• 일정 중 3주만 따로 떼어냄
Divide
And
Conquer
Due 모드
모듈화
그리디
휴리스틱
타임
콤플렉시티
객체
디자인
키워질
1주째: 입 기획 및 스펙 구상
2주째: 실제 작업
3주째: 실제 작업
3번째 금요일 : 배포
tiny A6 분리
땅 이식
Z5의 지형을 필요한 만큼만 최소 이식
독립적 피쳐
사냥, 공룡 AI는 다른 피처에 독립적
스펙
공방 구현, 무기 구현, 애니메이션 연결, AI 튜닝
텐션 유지
스크럼 + 주당 2회 이터레이션으로
이 터
레 이 션
tiny A6 – 동식물 + 사냥 + 조작계
tiny A6 - 이 모든 것을 모바일에서
tiny A6 (개발중 영상)
사냥 재미 검증 후 재빠른 머징
A1 – A3
D1 – D3
Z3 – Z5
A4 – A5
랩터빌드
tinyA6
P6
W6
A6
게임 실제로 보이게
모바일 멀티 터치 조작계
시스템 검증
모바일 클라이언트
플레이 검증
MMO 서버와 게임 연동,
캐릭터, UI 조립
Bronto
MMO 서버 프레임워크 구현
모바일 사냥, 동물 AI
식생, 자연, 인공물 표현
물 표현 연구
완전체!!!
B1 – B5
하이엔드 표현 연구
몇 개월 후…
일정 쪼개기 효과
듀 모드
짧은 주기로 마일스톤을 갖게 하는 효과 – 텐션 상승
마일스톤 끝난후 공허함의 간극 줄임 – 업무의 리텐션!
로드맵 제시
현 단계가 진행 상황인 동시에
– ‘일정 1/3 지났네? ㅎㄷㄷ'
다음 단계의 구체적인 비전이 됨
핀 포인트 스케줄링
301 다트!!!
301 점에서 시작
다트를 던져서
먼저 0점을 만들면
이기는 게임
전략:초반엔 다득점
후반엔 정교http://ko.wikipedia.org/wiki/%EB%8B%A4%ED%8A%B8
What? 핀포인트 스케줄링
마감일을 딱 박아놓고
역순으로 스케줄링
마감 하려면 지금 뭘 해야 하는지 고민
전략:초반엔 다득점  과감한 도전
후반엔 정교  타임 크리티컬한 작업
프로토타입 B4의 사례
B4 - 덫 사냥 재미 검증!
멀티플레이 상태
자취 추적
– 발자국, 배설물
매복
– 매복 시야 처리
동물 무리 몰이
– 길들인 공룡에 타고
– 덫으로 몰이
덫 설치 및 사냥
– 동물이 덫에 걸림
하이엔드 표현형 프로토타입
작업시간 동일하도록 키워드로 분리
타임 크리티컬  도전적인 작업 순으로 묶기
핀포인트 스케줄링 – 이제 역순으로 작업 계획 수립
1회차 : 동물 랜덤 스폰, 공룡 타기
2회차 : 동물 시선 처리, 도망
3회차 : 배설물, 발자국 추적 시스템 검증
4회차 : 추적 시스템, 동료 표시
5회차 : 매복, 동물 AI(몰이 되게)
6회차 : 몰이, 사냥
7회차 : 촬영, 최적화
주 2회 검증
이 터
레 이 션
일정 저격 성공!
핀포인트 스케줄링 효과
• 배수의 진을 치고
• 거꾸로 생각해보면
• 오늘 뭘 할지 알게 됨
• 도전적인 새로운 작업을
빠르게 프로토타이핑 할 때
* 내부 사정상 공개하기 힘든 장면이라 다른 이미지로 대체하였습니다.
그리디 스케줄링
그리디 스케줄링
Greedy 알고리즘
매 순간 가장 먹음직스런(Greedy) 방향으로 진행,
최적해를 구함
최적해를 찾지는 못할 수도
어느 정도 근사해는 구함
타임아웃 발생하면 그 때까지 최선 보장
Divide
And
Conquer
Due 모드
모듈화
그리디
휴리스틱
타임
콤플렉시티
객체
디자인
키워질
What? 그리디 스케줄링
타임 아웃
기간을 정해 놓고 타임아웃!
피처 작업 셧다운!
작동 보장
항상 작동하는 상태로 유지
우선순위
스펙들을 우선 순위 별로(중요도/난이도) 나열
스펙 하나 완료시 그리디 하게 “딱 하나” 다음 스펙을 결정
사냥 – 피처가 넘쳐남
• 공방 구현
– 동물 공격 구현
– 동물 피격 구현
– 플레이어 공격 구현
– 플레이어 피격 구현
– 타격감
– PvE 밸런싱
– PvP 밸런싱
• 무기 구현
– 근거리 무기
– 원거리 무기
– 무기 외형 변경
• 애니메이션 연결
– 플레이어 모션 연결
– 동물 모션 연결
– 무기 모션 연결
• AI 튜닝
– EvE AI 튜닝
– PvE AI 튜닝
– 최적화
• …
• …
• …
우선순위 정해서 나열
• 플레이어 모션 연결
• 동물 모션 연결
• 플레이어 공격 구현
• 동물 공격 구현
• 플레이어 피격 구현
• 동물 피격 구현
• PvE 밸런싱
• 무기 외형 변경
• 근거리 무기
• 원거리 무기
• PvE AI 튜닝
• EvE AI 튜닝
• 무기 모션 연결
• 타격감
• 최적화
• PvP 밸런싱
• …
• …
• …
타임 아웃 나면 더 이상 미루지 말고 정지
• 플레이어 모션 연결
• 동물 모션 연결
• 플레이어 공격 구현
• 동물 공격 구현
• 플레이어 피격 구현
• 동물 피격 구현
• PvE 밸런싱
• 무기 외형 변경
• 근거리 무기
• 원거리 무기
• PvE AI 튜닝
• EvE AI 튜닝
• 무기 모션 연결
• 타격감
• 최적화
• PvP 밸런싱
• …
• …
• …
타임오버
꽝
다
음
기
회
에
…
<똑바로 일하라 中> h ttp://elephantcookie.tistory.com/7
인력을 쪼개라 – 프로세스 정비
타임 콤플렉시티에 대해 얘기해 볼게요
중첩된 루프
본능적 거부감
빠른 CPU조차 바보로
 다른 알고리즘?
Divide
And
Conquer
Due 모드
모듈화
그리디
휴리스틱
타임
콤플렉시티
객체
디자인
키워질
일상다반사?
새로운 동물 구현 작업을 맡았다.
일단 최소한 심플하게 AI를 꾸리고 싶다.
포효하는 스테이트 따위 없어도 될 거 같다. 쳐낸다!
기반 코드를 작성한다.
동물 모델과 모션이 나왔다.
모델과 애니메이션을 조립한다.
대리님께 보여준다. 내가 빼버렸던 포효가 아군에게 도움을 요
청하는 동작이고 로드맵 상 전 동물에 추가될 예정 이었다.;;
*실제 상황이 아닌 설명을 위한 픽션입니다.
일상다반사?
애니메이터가 포효 모션을 추가한다.
추가되고 바뀐 모션들을 코드에 적용한다.
대리님이 OK 한다.
팀장님께 보여준다.
기능이 초기 기획 의도에서 벗어났단다. 이빨
로 무는 게 아니라 발톱으로 할퀴어야 한단다.
*실제 상황이 아닌 설명을 위한 픽션입니다.
일상다반사?
발톱 공격을 만들려다 보니 발톱이 너무 작아서 안 보인다.
모델러에게 발톱을 키워달라고 요청한다.
변경된 모델에 따른 자잘한 수정사항을 처리한다.
대리님께 보여준다. 모델 바꾸고 익셉션 처리가 덜 된 것을
한 번에 간파 하신다! 역시 실력 짱짱맨!!!
수정 후 자신 있게 팀장님께 보여준다. OK 싸인이 왔다!
두근두근. 처음으로 디렉터님께 선을 보이는 자리!
근데, 헐... 지금 초식 동물이 시급하댄다.
초식동물로 처음부터 새로 하란다!!!
*실제 상황이 아닌 설명을 위한 픽션입니다.
이 상황을 코드로 표현해봅시다! - 다단계
루프(출시) {
루프(디렉터 OK 사인) {
루프(팀장 OK 사인) {
루프(리더 OK사인) {
루프(실 구현자 구현 완료) {
기반 구현
루프(UI 디자이너 리소스 제작 완료) {
리소스 제작
}
리소스 적용
}
}
}
}
}
프로그래밍을 몰라도
뭔가 잘못됐다는 것은
직감하시겠죠?
문제 파악1 – 비효율적 작업 총량
O(nk)
프로그래머가 가장 꺼리는 모델
 더 나은 업무 진행 알고리즘?
비효율적 작업시간
디렉팅 총 횟수 / 실제 구현 횟수 ≒ 0
실제 구현 횟수 = 작업 시간
작업 시간은 많이 드는데 컨펌이 안 난다!
작업 시간 허비는 불 보듯 뻔하다
문제 파악2 – 의도 공유
실제 작업자: 난 몰랐어!
작업에 의도를 몰라서 헛되이
고생하다 리테이크!
작업량
정보량
리더
작업자
문제 파악3 – 재미
누구도 이게 재미가 있을지 모른다
그렇게나 많은 삽질작업을 했는데
재미 검증을 한 번도 못했다
보통 예상한 것보다 더 많이 실패…
재미?
재미는 스펙으로 표시가 안됨
유저의 ‘경험 자체’이기 때문
그래서 재미?
한 번 더 고민해 보는 게 답!?
낮은 품질은 재미를 박탈하는 요소
기본으로 챙겨야 하는 부분
이터레이션(반복 개선)을 높여볼까?
TF 구조로 작업하기
인력을 쪼개라 - TF 구조
끼리끼리
수직 구조 타파!
작업에 관련 있는 사람들 끼리 TF(Task Force) 를 꾸림
독립적 결정권 확보
유연한 인원 변동
관련 여부에 따라 (직급에 상관 없이) 자주 인원이 변경 된다.
Ex> UI : 디렉팅 이슈가 많으면 [디렉터, 프로그래머, UI 디자이너]
텐션 유지
(권장) 스크럼으로 1일 15분 회의를 한다.
(권장) 주 2회 피처 테스트 일정을 잡는다.
Divide
And
Conquer
Due 모드
모듈화
그리디
휴리스틱
타임
콤플렉시티
객체
디자인
키워질
TF 구조로 일하는 법 1
입기획
먼저 브레인 스토밍!
스펙을 정한다
TF 구조로 일하는 법 2
가지치기
단, 재미의 큰 줄기!
<똑바로 일하라 中> h ttp://elephantcookie.tistory.com/7
TF 구조로 일하는 법 3
스펙 리스트
로드맵
TF 구조로 일하는 법 4
텐션 유지
정기적으로 모여서
• 현 상황 공유
• 문제점 공유
• 개선점 공유
SCRUM ( 뒤에 설명)
TF 구조로 일하는 법 5
테스트 주도적
( 뒤에 설명)
짧게 자주 테스트
과감하게 확장하고
과감하게 폐기 한다
• 인원이든 스펙이든
https://www.flickr.com/photos/mickaelfonjallaz/
TF가 돌아가는 구조를 코드로
루프(로드맵에서 하나씩 꺼냄) {
스펙 회의
우선 순위 선정
일부 로드맵에 추가
TF루프(우선순위 스펙 리스트) {
매일 아침 스크럼 미팅
구현
리소스 작업
피처 테스트
발전 / 폐기 여부 결정
}
디렉터 컨펌 / 재작업 여부 결정
}
남은 스펙(로드맵)으로 끝을 명시
여력이 안 되는 중요 사항들은 로드맵에 다시 추가
할 일 명시, 업무 공유, 소단위 마일스톤
함께 피처 테스트: 개선점, 문제점 들을 공유
디렉팅이 많이 필요할 경우 TF루프 안으로
이러한 TF의 대표적 사례 – 전투 TF
A6 결성 Tiny A6 결성
기본 전투 프레임웍
클라이언트 전투 구현
랩터 빌드
무기 구현
공룡 AI 구현
인원
(상대치)
시기
관련자 및 스펙 크기에 따라 유동적으로 인원 변경
전투 TF
A1 – A3
D1 – D3
Z3 – Z5
A4 – A5
랩터빌드
tinyA6
P6
W6
A6
게임 실제로 보이게
모바일 멀티 터치 조작계
시스템 검증
모바일 클라이언트
플레이 검증
MMO 서버와 게임 연동,
캐릭터, UI 조립
Bronto
MMO 서버 프레임워크 구현
모바일 사냥, 동물 AI
식생, 자연, 인공물 표현
물 표현 연구
완전체!!!
B1 – B5
하이엔드 표현 연구
이 터
레 이 션
또다른 TF의 대표적 스타사례
<진구지사부로 – 이노센트 블랙>
가죽 장화 하나만을 위해 뭉쳐온 오랜 친구
Item TF
아이템 TF
A1 – A3
D1 – D3
Z3 – Z5
A4 – A5
랩터빌드
tinyA6
P6
W6
A6
게임 실제로 보이게
모바일 멀티 터치 조작계
시스템 검증
모바일 클라이언트
플레이 검증
MMO 서버와 게임 연동,
캐릭터, UI 조립
Bronto
MMO 서버 프레임워크 구현
모바일 사냥, 동물 AI
식생, 자연, 인공물 표현
물 표현 연구
완전체!!!
B1 – B5
하이엔드 표현 연구
이 터
레 이 션
아이템 TF
밀도 높은 커뮤니케이션
입 기획을 통한 비전제시
프로그래머와 기획자 간의
멘탈 모델 동기화
3번의 메이져 이터레이션
 게릴라 사내 테스트 (1.0)
 사내 테스트 (2.0)
 Next (3.0)
독창적인 아이템 시스템 구현
장화도 삶아 먹을 수 있는…
TF 구조의 효과
독립적 결정권
커뮤니케이션 코스트 최소화
불필요한 재작업률 낮춤
빠른 프로토타이핑 가능
빠르게 이터레이션 횟수 높임
퀄리티 및 재미 업
정보의 공유가 수평적
로드맵을 같이 공유
의도 오류를 최소화
스크럼
스크럼 진행
• 모두가 출근한 아침 9:30
• TF 별로 진행
• 15분 이내에
• 화이트 보드에 모여 포스트잇!
– 예측 시간 / 실제 소요 시간
– To do / Doing / Done
• 피처 테스트 항목도 1인분 추가
– 테스트 주도형 피처 개발!
SCRUM 효과 (1)
기민한 결정
뭘 했고 뭘 할지를 빠르게 파악
할 일이 떠오르면 고민 없이 To Do에 추가
구체적 업무 명시
일 단위 일정 예측, 체크, 반성, 우선순위 설정
구체적으로 일을 구분해서 나누는 습관!
 가용할 수 있는 스펙 단위가 산정됨
일 단위가 너무 큰 경우 가시적으로 보이기 때문에 쉽게
업무 분리를 독려 가능
SCRUM 효과 (2)
동기 부여 및 부스트 효과
아침의 나태한 시간대에!
커뮤니케이션 코스트 낮춤
누가 뭐 하는지 한 눈에 다 보임
일 시키기 / 떠넘기기 좋은 구조
 포스트잇 떼서 붙이면 끝
말보다 확실한 글로 대화
 글 커뮤니케이션을 선호 하는 팀원에게도 효과적(!)
몰라주면 곤란한 서로의 의도를 맞추는 방법
의도를 맞추는 방법
- 니 말이 맞아? 내 말이 맞아?
콘텐츠 산업의 고뇌
기획 의도가
작업자 개개인 에서부터
팀 전체, 고객에까지
제대로 전달 되어야 함
들려?안 들려...
의도의 공유
비전 얼라인
테스트 주도형 피쳐 개발
QA 주도형 개발
비전 얼라인
두 말 없게 작업자간 의도 맞추기
비전 제시
일단 뭐든 보여라
유에서 유를 개선하는 것을 잘함!
실제로 보고 나면 아이디어 샘솟다 못해 폭발함
다양한 매체를 이용
영상, PPT, 종이 프로토타입, 소프트웨어 등등...
입 기획도 좋고
이심전심의 기반
같은 방향을 바라볼 수 있게 하는 효과
비저닝 – 프로토타입이 리테일로
갈고리로 끌고
다니는 거
재밌어보인다!
비저닝 - 영상 기획
건물 짓고
울타리만 치면
우리땅!?
비저닝 - 입 기획
가죽 장화도 먹게 해줘...
테스트 주도형 피처 개발(TDFD)
오해 없이 나의 의도를 명시하는 방법
테스트 주도형 피쳐개발? TDFD? TDD?
테스트 주도형 개발(TDD) 아님
하지만 TDD의 장점을 차용
TDD를 전 직군, 전 팀에 확대하는 것
Beyond Code!!!
팀 커뮤니케이션의 핵심은 의도 전달
의도를 빠르게 전달하는 게 경쟁력
테스트 시트가 바로 의도
내가 원하는 결과가 무엇인가 명시
내 의도에 모순은 없나 자체 검증
내 의도에 오해를 할 여지를 줄여줌
What? TDFD
의도의 공유 수단
테스트 시트만 보면
뭘 작업해야 할 지가 명확해짐
원 소스 멀티 유즈!
기획서 자체 검증용 : 논리적, 절차적 오류는 없나?
구현 후 자체 테스트로 활용
QA 테스트 시트로 활용
디렉터는 얼마나 일이 진행됐는가 앎
TDFD의 창궐 배경
바야흐로 랩터 빌드 조립 단계에…
A1 – A3
D1 – D3
Z3 – Z5
A4 – A5
랩터빌드
tinyA6
P6
W6
A6
게임 실제로 보이게
모바일 멀티 터치 조작계
시스템 검증
모바일 클라이언트
플레이 검증
MMO 서버와 게임 연동,
캐릭터, UI 조립
Bronto
MMO 서버 프레임워크 구현
모바일 사냥, 동물 AI
식생, 자연, 인공물 표현
물 표현 연구
완전체!!!
B1 – B5
하이엔드 표현 연구
랩터 빌드 조립 단계
길 고 긴 보릿고개
통합 기간이 너무 길어짐
게다가,
품질이 너무 떨어진다
특단의 조치! 테스트 주도형 피처 개발
현 상태:
• 의도의 혼재
– 작업자 마다 의도가 다름!
– 잘못 돌아가는 게 어딘지 잘 모
르겠다.
• 정상적인 테스트가 안 된다.
– 작업자 PC에서만 정상 작동?
• 어디까지 작동 하는지 범위도 불명확
특단의 조치! 테스트 주도형 피처 개발
조치:
• 주 2회 전체 피쳐 테스트
– 실제 테스트로 눈 앞에 보여라
– 그 전엔 작업을 해도 한 게 아님!
• 전 개발자 의도 전달 명확히
– 테스트 시트가 바로 의도
– 무엇 무엇이 돼야 하냐
• 프로그래밍 뿐만 아니라
기획 단계에서도 테스트 작성 병행
실제 테스트 풍경(주2회)
테스트 주제를 정하고
주제에 관련된 내기 이벤트도 진행
관심도 + 참여도 높임
이 터
레 이 션
• 더 이상 프로그래머 자리에서만 돌아가는 피처는 노노!
• 항상 작동하는 클라/서버를 확보
• 게임의 허점들이 가시화!  품질 업 가속화
그 결과… 게임 퀄리티 급속도로 증가
QA 주도형 개발
유저에게 전달된 의도는 무엇일까?
What? QA 주도형 개발
QA 인력?
유저와 개발자의 중간 교량 역할
업무상 유저와도 소통
업무상 개발자와도 소통
유저 경험(UX) 중시 디자인
유저에게 전달된 의도는 무엇일까?
유저의 마음도, 개발자의 마음도 아는 제 3자의 역할
사내 테스트 전에…
유저 경험이 매끄럽지 못함
기능성 테스트(QA)가 아닌 유저경험(UX) 테스트
 UX 불편을 많이 해소
자매품 : 아티스트 주도형 테스트
아티스트는 시스템에 익숙지 않음
아티스트가 안 헷갈리고
재미가 있다고 느껴지면
UX에 최소한의 객관성이 생겼다고 볼 수 있다
마무리
Divide
And
Conquer
Due 모드
모듈화
그리디
휴리스틱
타임
콤플렉시티
객체
디자인
키워질
정리 프로그래머의 미덕, 프로그래머의 미흡
일정을 맞추는 방법
Divide And Conquer
일을 쪼개라 - 단계적 프로토타이핑
시간을 쪼개라 - 각종 스케줄링 방법들
인력을 쪼개라 – TF제안, 스크럼
의도를 맞추는 방법
비전 얼라인  개발자 부터
테스트 주도형 피처 개발  동료
QA 주도형 개발  유저까지의 의도 전달 검증
제 의도는 이겁니다
좋은 아이디어가 좋은 품질의 게임으로 출시되고
전 팀원 모두의 의도가 하나의 작품으로 완성되고
예측 가능한 일정이 있어
오늘 쓴 휴가가 다음날의 야근으로 이어지지 않는
진정 성숙한 개발 문화를 만들어보는 것
변화 부적응?
전체 조직을 변화시키기엔 어려움
당장 지금 같이 일하는 기획자, 아티스트,
프로그래머와 함께 시도해보자
모범을 보이고 문화를 확산시킴
 비저닝, 단계적 수행
이것만이 답이 아닙니다.
아티스트, 디자이너 등 다양한 직군의 식견도 필요!
보다 나은 개발 문화를 만들려는
이러한 고민과 고민들이 모여서 쌓이고 발전하면
점차 성숙한 게임 개발 문화가 뿌리내리지 않을까요?
콘텐츠의 개발의 최종 목표는 문화의 창조
더불어 양질의 개발 문화도 창조해봅시다
우리 모두 성숙한 개발 문화를 프로그래밍해 보아요
일정의 끝에서 퇴근을 외치다!
이러한 고민을 나눌
동 료 를 구 합 니 다 !
전 구성원들이 한 몸처럼 유기적으로 기능할 때
그 과정은 예술이 되고 결과물은 작품이 된다.

Más contenido relacionado

La actualidad más candente

AAA게임_UI_최적화_및_빌드하기.pptx
AAA게임_UI_최적화_및_빌드하기.pptxAAA게임_UI_최적화_및_빌드하기.pptx
AAA게임_UI_최적화_및_빌드하기.pptxTonyCms
 
[ NDC 14 ] 가죽 장화를 먹게 해주세요 - [ 야생의 땅 : 듀랑고 ] 의 자유도 높은 아이템 시스템 디자인
[ NDC 14 ] 가죽 장화를 먹게 해주세요 - [ 야생의 땅 : 듀랑고 ] 의 자유도 높은 아이템 시스템 디자인 [ NDC 14 ] 가죽 장화를 먹게 해주세요 - [ 야생의 땅 : 듀랑고 ] 의 자유도 높은 아이템 시스템 디자인
[ NDC 14 ] 가죽 장화를 먹게 해주세요 - [ 야생의 땅 : 듀랑고 ] 의 자유도 높은 아이템 시스템 디자인 Jungsoo Lee
 
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019devCAT Studio, NEXON
 
[IGC 2017] 넥슨코리아 오현근 - 평생 게임 기획자 하기
[IGC 2017] 넥슨코리아 오현근 - 평생 게임 기획자 하기[IGC 2017] 넥슨코리아 오현근 - 평생 게임 기획자 하기
[IGC 2017] 넥슨코리아 오현근 - 평생 게임 기획자 하기강 민우
 
Umg ,이벤트 바인딩, Invaidation Box
Umg ,이벤트 바인딩, Invaidation BoxUmg ,이벤트 바인딩, Invaidation Box
Umg ,이벤트 바인딩, Invaidation Box대영 노
 
이승재, 일정대로 출시하기 왜 & 어떻게: 개발자를 위한 제작진행개론, NDC2017
이승재, 일정대로 출시하기 왜 & 어떻게: 개발자를 위한 제작진행개론, NDC2017이승재, 일정대로 출시하기 왜 & 어떻게: 개발자를 위한 제작진행개론, NDC2017
이승재, 일정대로 출시하기 왜 & 어떻게: 개발자를 위한 제작진행개론, NDC2017devCAT Studio, NEXON
 
그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기Yongha Kim
 
스토리텔링과 비주얼 내러티브: 놀 치프틴은 어떻게 형님이 되었나
스토리텔링과 비주얼 내러티브: 놀 치프틴은 어떻게 형님이 되었나스토리텔링과 비주얼 내러티브: 놀 치프틴은 어떻게 형님이 되었나
스토리텔링과 비주얼 내러티브: 놀 치프틴은 어떻게 형님이 되었나Lee Sangkyoon (Kay)
 
NDC 2010 이은석 - 마비노기 영웅전 포스트모템 2부
NDC 2010 이은석 - 마비노기 영웅전 포스트모템 2부NDC 2010 이은석 - 마비노기 영웅전 포스트모템 2부
NDC 2010 이은석 - 마비노기 영웅전 포스트모템 2부Eunseok Yi
 
프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법Lee Sangkyoon (Kay)
 
조정훈, 게임 프로그래머를 위한 클래스 설계, NDC2012
조정훈, 게임 프로그래머를 위한 클래스 설계, NDC2012조정훈, 게임 프로그래머를 위한 클래스 설계, NDC2012
조정훈, 게임 프로그래머를 위한 클래스 설계, NDC2012devCAT Studio, NEXON
 
전형규, 프로젝트DH의 절차적 애니메이션 시스템, NDC2017
전형규, 프로젝트DH의 절차적 애니메이션 시스템, NDC2017전형규, 프로젝트DH의 절차적 애니메이션 시스템, NDC2017
전형규, 프로젝트DH의 절차적 애니메이션 시스템, NDC2017devCAT Studio, NEXON
 
이승재, 사례로 배우는 디스어셈블리 디버깅, NDC2014
이승재, 사례로 배우는 디스어셈블리 디버깅, NDC2014이승재, 사례로 배우는 디스어셈블리 디버깅, NDC2014
이승재, 사례로 배우는 디스어셈블리 디버깅, NDC2014devCAT Studio, NEXON
 
[NDC 2010] 그럴듯한 랜덤 생성 컨텐츠 만들기
[NDC 2010] 그럴듯한 랜덤 생성 컨텐츠 만들기[NDC 2010] 그럴듯한 랜덤 생성 컨텐츠 만들기
[NDC 2010] 그럴듯한 랜덤 생성 컨텐츠 만들기Yongha Kim
 
게임 기획 튜토리얼 (2015 개정판)
게임 기획 튜토리얼 (2015 개정판)게임 기획 튜토리얼 (2015 개정판)
게임 기획 튜토리얼 (2015 개정판)Lee Sangkyoon (Kay)
 
[NDC 2014] 시나리오라이터의 과거와 현재, 그리고 미래
[NDC 2014] 시나리오라이터의 과거와 현재, 그리고 미래 [NDC 2014] 시나리오라이터의 과거와 현재, 그리고 미래
[NDC 2014] 시나리오라이터의 과거와 현재, 그리고 미래 Hwang Sang Hun
 
업적,칭호,타이틀 그게 뭐든간에...
업적,칭호,타이틀 그게 뭐든간에...업적,칭호,타이틀 그게 뭐든간에...
업적,칭호,타이틀 그게 뭐든간에...SeungYeon Jeong
 
Recast Detour.pptx
Recast Detour.pptxRecast Detour.pptx
Recast Detour.pptxMUUMUMUMU
 
게임 기획자의 생존 전략
게임 기획자의 생존 전략게임 기획자의 생존 전략
게임 기획자의 생존 전략태성 이
 
이무림, Enum의 Boxing을 어찌할꼬? 편리하고 성능좋게 Enum 사용하기, NDC2019
이무림, Enum의 Boxing을 어찌할꼬? 편리하고 성능좋게 Enum 사용하기, NDC2019이무림, Enum의 Boxing을 어찌할꼬? 편리하고 성능좋게 Enum 사용하기, NDC2019
이무림, Enum의 Boxing을 어찌할꼬? 편리하고 성능좋게 Enum 사용하기, NDC2019devCAT Studio, NEXON
 

La actualidad más candente (20)

AAA게임_UI_최적화_및_빌드하기.pptx
AAA게임_UI_최적화_및_빌드하기.pptxAAA게임_UI_최적화_및_빌드하기.pptx
AAA게임_UI_최적화_및_빌드하기.pptx
 
[ NDC 14 ] 가죽 장화를 먹게 해주세요 - [ 야생의 땅 : 듀랑고 ] 의 자유도 높은 아이템 시스템 디자인
[ NDC 14 ] 가죽 장화를 먹게 해주세요 - [ 야생의 땅 : 듀랑고 ] 의 자유도 높은 아이템 시스템 디자인 [ NDC 14 ] 가죽 장화를 먹게 해주세요 - [ 야생의 땅 : 듀랑고 ] 의 자유도 높은 아이템 시스템 디자인
[ NDC 14 ] 가죽 장화를 먹게 해주세요 - [ 야생의 땅 : 듀랑고 ] 의 자유도 높은 아이템 시스템 디자인
 
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
 
[IGC 2017] 넥슨코리아 오현근 - 평생 게임 기획자 하기
[IGC 2017] 넥슨코리아 오현근 - 평생 게임 기획자 하기[IGC 2017] 넥슨코리아 오현근 - 평생 게임 기획자 하기
[IGC 2017] 넥슨코리아 오현근 - 평생 게임 기획자 하기
 
Umg ,이벤트 바인딩, Invaidation Box
Umg ,이벤트 바인딩, Invaidation BoxUmg ,이벤트 바인딩, Invaidation Box
Umg ,이벤트 바인딩, Invaidation Box
 
이승재, 일정대로 출시하기 왜 & 어떻게: 개발자를 위한 제작진행개론, NDC2017
이승재, 일정대로 출시하기 왜 & 어떻게: 개발자를 위한 제작진행개론, NDC2017이승재, 일정대로 출시하기 왜 & 어떻게: 개발자를 위한 제작진행개론, NDC2017
이승재, 일정대로 출시하기 왜 & 어떻게: 개발자를 위한 제작진행개론, NDC2017
 
그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기
 
스토리텔링과 비주얼 내러티브: 놀 치프틴은 어떻게 형님이 되었나
스토리텔링과 비주얼 내러티브: 놀 치프틴은 어떻게 형님이 되었나스토리텔링과 비주얼 내러티브: 놀 치프틴은 어떻게 형님이 되었나
스토리텔링과 비주얼 내러티브: 놀 치프틴은 어떻게 형님이 되었나
 
NDC 2010 이은석 - 마비노기 영웅전 포스트모템 2부
NDC 2010 이은석 - 마비노기 영웅전 포스트모템 2부NDC 2010 이은석 - 마비노기 영웅전 포스트모템 2부
NDC 2010 이은석 - 마비노기 영웅전 포스트모템 2부
 
프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법
 
조정훈, 게임 프로그래머를 위한 클래스 설계, NDC2012
조정훈, 게임 프로그래머를 위한 클래스 설계, NDC2012조정훈, 게임 프로그래머를 위한 클래스 설계, NDC2012
조정훈, 게임 프로그래머를 위한 클래스 설계, NDC2012
 
전형규, 프로젝트DH의 절차적 애니메이션 시스템, NDC2017
전형규, 프로젝트DH의 절차적 애니메이션 시스템, NDC2017전형규, 프로젝트DH의 절차적 애니메이션 시스템, NDC2017
전형규, 프로젝트DH의 절차적 애니메이션 시스템, NDC2017
 
이승재, 사례로 배우는 디스어셈블리 디버깅, NDC2014
이승재, 사례로 배우는 디스어셈블리 디버깅, NDC2014이승재, 사례로 배우는 디스어셈블리 디버깅, NDC2014
이승재, 사례로 배우는 디스어셈블리 디버깅, NDC2014
 
[NDC 2010] 그럴듯한 랜덤 생성 컨텐츠 만들기
[NDC 2010] 그럴듯한 랜덤 생성 컨텐츠 만들기[NDC 2010] 그럴듯한 랜덤 생성 컨텐츠 만들기
[NDC 2010] 그럴듯한 랜덤 생성 컨텐츠 만들기
 
게임 기획 튜토리얼 (2015 개정판)
게임 기획 튜토리얼 (2015 개정판)게임 기획 튜토리얼 (2015 개정판)
게임 기획 튜토리얼 (2015 개정판)
 
[NDC 2014] 시나리오라이터의 과거와 현재, 그리고 미래
[NDC 2014] 시나리오라이터의 과거와 현재, 그리고 미래 [NDC 2014] 시나리오라이터의 과거와 현재, 그리고 미래
[NDC 2014] 시나리오라이터의 과거와 현재, 그리고 미래
 
업적,칭호,타이틀 그게 뭐든간에...
업적,칭호,타이틀 그게 뭐든간에...업적,칭호,타이틀 그게 뭐든간에...
업적,칭호,타이틀 그게 뭐든간에...
 
Recast Detour.pptx
Recast Detour.pptxRecast Detour.pptx
Recast Detour.pptx
 
게임 기획자의 생존 전략
게임 기획자의 생존 전략게임 기획자의 생존 전략
게임 기획자의 생존 전략
 
이무림, Enum의 Boxing을 어찌할꼬? 편리하고 성능좋게 Enum 사용하기, NDC2019
이무림, Enum의 Boxing을 어찌할꼬? 편리하고 성능좋게 Enum 사용하기, NDC2019이무림, Enum의 Boxing을 어찌할꼬? 편리하고 성능좋게 Enum 사용하기, NDC2019
이무림, Enum의 Boxing을 어찌할꼬? 편리하고 성능좋게 Enum 사용하기, NDC2019
 

Similar a NDC 2014 Beyond Code: <야생의 땅:듀랑고>의 좌충우돌 개발 과정 - 프로그래머가 챙겨주는 또 다른 개발자 사용 설명서

[GDC] Perry_POCBasedDesign_KOR
[GDC] Perry_POCBasedDesign_KOR[GDC] Perry_POCBasedDesign_KOR
[GDC] Perry_POCBasedDesign_KORJisang Yoon
 
NDC2013 - 인디게임 프로젝트 중도에 포기하지 않는 방법
NDC2013 - 인디게임 프로젝트 중도에 포기하지 않는 방법NDC2013 - 인디게임 프로젝트 중도에 포기하지 않는 방법
NDC2013 - 인디게임 프로젝트 중도에 포기하지 않는 방법ChangHyun Won
 
[IGC 2016] 드럭하이 최영윤 - 인디출신개발사로서의 후속작, 톤톤해적단 포스트모텀
[IGC 2016] 드럭하이 최영윤 - 인디출신개발사로서의 후속작, 톤톤해적단 포스트모텀[IGC 2016] 드럭하이 최영윤 - 인디출신개발사로서의 후속작, 톤톤해적단 포스트모텀
[IGC 2016] 드럭하이 최영윤 - 인디출신개발사로서의 후속작, 톤톤해적단 포스트모텀강 민우
 
레이더즈 기술 사례
레이더즈 기술 사례레이더즈 기술 사례
레이더즈 기술 사례기룡 남
 
Agile의 의미와 Agile 계획 수립(Gdc2007)
Agile의 의미와 Agile 계획 수립(Gdc2007)Agile의 의미와 Agile 계획 수립(Gdc2007)
Agile의 의미와 Agile 계획 수립(Gdc2007)Kay Kim
 
NDC17. "솔리테어: 덱다웃" 유니티 모바일 테스팅 기법들
NDC17. "솔리테어: 덱다웃" 유니티 모바일 테스팅 기법들NDC17. "솔리테어: 덱다웃" 유니티 모바일 테스팅 기법들
NDC17. "솔리테어: 덱다웃" 유니티 모바일 테스팅 기법들대원 김
 
NDC17 장창완(최종)
NDC17 장창완(최종)NDC17 장창완(최종)
NDC17 장창완(최종)창완 장
 
NDC 2011 영웅전 런칭팀 박영준
NDC 2011 영웅전 런칭팀 박영준NDC 2011 영웅전 런칭팀 박영준
NDC 2011 영웅전 런칭팀 박영준영준 박
 
온라인 게임 처음부터 끝까지 동적언어로 만들기
온라인 게임 처음부터 끝까지 동적언어로 만들기온라인 게임 처음부터 끝까지 동적언어로 만들기
온라인 게임 처음부터 끝까지 동적언어로 만들기Seungjae Lee
 
[NDC2019] 전소현&장기은 - 시나리오 기획자는 대사만 잘쓰면 되는 거 아닌가요? ㅇㅅㅇ
[NDC2019] 전소현&장기은 - 시나리오 기획자는 대사만 잘쓰면 되는 거 아닌가요? ㅇㅅㅇ[NDC2019] 전소현&장기은 - 시나리오 기획자는 대사만 잘쓰면 되는 거 아닌가요? ㅇㅅㅇ
[NDC2019] 전소현&장기은 - 시나리오 기획자는 대사만 잘쓰면 되는 거 아닌가요? ㅇㅅㅇKieun Jang
 
Sw교육 이야기 연구학교연수
Sw교육 이야기 연구학교연수Sw교육 이야기 연구학교연수
Sw교육 이야기 연구학교연수Sangsu Song
 
명나리, 에버플래닛 만들던 이야기, 2013
명나리, 에버플래닛 만들던 이야기, 2013명나리, 에버플래닛 만들던 이야기, 2013
명나리, 에버플래닛 만들던 이야기, 2013나리 명
 
그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기drandom
 
[RLKorea] Unity ML-agents 발표
[RLKorea] Unity ML-agents 발표[RLKorea] Unity ML-agents 발표
[RLKorea] Unity ML-agents 발표Kyushik Min
 
위대한 게임개발팀의 공통점
위대한 게임개발팀의 공통점위대한 게임개발팀의 공통점
위대한 게임개발팀의 공통점Ryan Park
 
유니티로 해보는 게임 프로토타이핑
유니티로 해보는 게임 프로토타이핑유니티로 해보는 게임 프로토타이핑
유니티로 해보는 게임 프로토타이핑Kiyoung Moon
 
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기Wonha Ryu
 
인디게임 "The kitty story - 아기 고양이의 실종" 개발 포스트모템
인디게임 "The kitty story - 아기 고양이의 실종" 개발 포스트모템인디게임 "The kitty story - 아기 고양이의 실종" 개발 포스트모템
인디게임 "The kitty story - 아기 고양이의 실종" 개발 포스트모템ChangHyun Won
 
Unite 2015 Seoul : 인디에게 어디가 한계인지는 해봐야 알잖아?
Unite 2015 Seoul : 인디에게 어디가 한계인지는 해봐야 알잖아?Unite 2015 Seoul : 인디에게 어디가 한계인지는 해봐야 알잖아?
Unite 2015 Seoul : 인디에게 어디가 한계인지는 해봐야 알잖아?KwangSam Kim
 
[NHN NEXT]실전프로젝트 밴드 게임 만들기 후기
[NHN NEXT]실전프로젝트 밴드 게임 만들기 후기[NHN NEXT]실전프로젝트 밴드 게임 만들기 후기
[NHN NEXT]실전프로젝트 밴드 게임 만들기 후기flashscope
 

Similar a NDC 2014 Beyond Code: <야생의 땅:듀랑고>의 좌충우돌 개발 과정 - 프로그래머가 챙겨주는 또 다른 개발자 사용 설명서 (20)

[GDC] Perry_POCBasedDesign_KOR
[GDC] Perry_POCBasedDesign_KOR[GDC] Perry_POCBasedDesign_KOR
[GDC] Perry_POCBasedDesign_KOR
 
NDC2013 - 인디게임 프로젝트 중도에 포기하지 않는 방법
NDC2013 - 인디게임 프로젝트 중도에 포기하지 않는 방법NDC2013 - 인디게임 프로젝트 중도에 포기하지 않는 방법
NDC2013 - 인디게임 프로젝트 중도에 포기하지 않는 방법
 
[IGC 2016] 드럭하이 최영윤 - 인디출신개발사로서의 후속작, 톤톤해적단 포스트모텀
[IGC 2016] 드럭하이 최영윤 - 인디출신개발사로서의 후속작, 톤톤해적단 포스트모텀[IGC 2016] 드럭하이 최영윤 - 인디출신개발사로서의 후속작, 톤톤해적단 포스트모텀
[IGC 2016] 드럭하이 최영윤 - 인디출신개발사로서의 후속작, 톤톤해적단 포스트모텀
 
레이더즈 기술 사례
레이더즈 기술 사례레이더즈 기술 사례
레이더즈 기술 사례
 
Agile의 의미와 Agile 계획 수립(Gdc2007)
Agile의 의미와 Agile 계획 수립(Gdc2007)Agile의 의미와 Agile 계획 수립(Gdc2007)
Agile의 의미와 Agile 계획 수립(Gdc2007)
 
NDC17. "솔리테어: 덱다웃" 유니티 모바일 테스팅 기법들
NDC17. "솔리테어: 덱다웃" 유니티 모바일 테스팅 기법들NDC17. "솔리테어: 덱다웃" 유니티 모바일 테스팅 기법들
NDC17. "솔리테어: 덱다웃" 유니티 모바일 테스팅 기법들
 
NDC17 장창완(최종)
NDC17 장창완(최종)NDC17 장창완(최종)
NDC17 장창완(최종)
 
NDC 2011 영웅전 런칭팀 박영준
NDC 2011 영웅전 런칭팀 박영준NDC 2011 영웅전 런칭팀 박영준
NDC 2011 영웅전 런칭팀 박영준
 
온라인 게임 처음부터 끝까지 동적언어로 만들기
온라인 게임 처음부터 끝까지 동적언어로 만들기온라인 게임 처음부터 끝까지 동적언어로 만들기
온라인 게임 처음부터 끝까지 동적언어로 만들기
 
[NDC2019] 전소현&장기은 - 시나리오 기획자는 대사만 잘쓰면 되는 거 아닌가요? ㅇㅅㅇ
[NDC2019] 전소현&장기은 - 시나리오 기획자는 대사만 잘쓰면 되는 거 아닌가요? ㅇㅅㅇ[NDC2019] 전소현&장기은 - 시나리오 기획자는 대사만 잘쓰면 되는 거 아닌가요? ㅇㅅㅇ
[NDC2019] 전소현&장기은 - 시나리오 기획자는 대사만 잘쓰면 되는 거 아닌가요? ㅇㅅㅇ
 
Sw교육 이야기 연구학교연수
Sw교육 이야기 연구학교연수Sw교육 이야기 연구학교연수
Sw교육 이야기 연구학교연수
 
명나리, 에버플래닛 만들던 이야기, 2013
명나리, 에버플래닛 만들던 이야기, 2013명나리, 에버플래닛 만들던 이야기, 2013
명나리, 에버플래닛 만들던 이야기, 2013
 
그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기
 
[RLKorea] Unity ML-agents 발표
[RLKorea] Unity ML-agents 발표[RLKorea] Unity ML-agents 발표
[RLKorea] Unity ML-agents 발표
 
위대한 게임개발팀의 공통점
위대한 게임개발팀의 공통점위대한 게임개발팀의 공통점
위대한 게임개발팀의 공통점
 
유니티로 해보는 게임 프로토타이핑
유니티로 해보는 게임 프로토타이핑유니티로 해보는 게임 프로토타이핑
유니티로 해보는 게임 프로토타이핑
 
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
 
인디게임 "The kitty story - 아기 고양이의 실종" 개발 포스트모템
인디게임 "The kitty story - 아기 고양이의 실종" 개발 포스트모템인디게임 "The kitty story - 아기 고양이의 실종" 개발 포스트모템
인디게임 "The kitty story - 아기 고양이의 실종" 개발 포스트모템
 
Unite 2015 Seoul : 인디에게 어디가 한계인지는 해봐야 알잖아?
Unite 2015 Seoul : 인디에게 어디가 한계인지는 해봐야 알잖아?Unite 2015 Seoul : 인디에게 어디가 한계인지는 해봐야 알잖아?
Unite 2015 Seoul : 인디에게 어디가 한계인지는 해봐야 알잖아?
 
[NHN NEXT]실전프로젝트 밴드 게임 만들기 후기
[NHN NEXT]실전프로젝트 밴드 게임 만들기 후기[NHN NEXT]실전프로젝트 밴드 게임 만들기 후기
[NHN NEXT]실전프로젝트 밴드 게임 만들기 후기
 

Último

공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화JMP Korea
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP Korea
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석JMP Korea
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP Korea
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP Korea
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법JMP Korea
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP Korea
 

Último (7)

공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 

NDC 2014 Beyond Code: <야생의 땅:듀랑고>의 좌충우돌 개발 과정 - 프로그래머가 챙겨주는 또 다른 개발자 사용 설명서

  • 1. What ! Studio / 넥슨코리아 박영준 Beyond Code <야생의 땅:듀랑고>의 좌충우돌 개발 과정 프로그래머가 챙겨주는 또 다른 개발자 사용 설명서
  • 2. 제 소개 박영준 (gp2k@nexon.co.kr) 프로젝트 이력  넥슨, 왓 스튜디오, 프로그래머, 파트장, PM – 야생의 땅: 듀랑고 – 전투, 애니메이션 시스템, AI 서버, 클라이언트  넥슨, 마비노기 영웅전 프로젝트 강연 내역  2013년: 신입사원 교육 - 손맛이 사는 액션게임 만들기  2012년: NDC, 마비노기 영웅전 카이 포스트모템 - 시선 을 사로잡는 캐릭터 카이 그 시도와 성공의 구현 일지  2011년: NDC, 마비노기 영웅전 액션 시스템 - 기민하고 다채로운 액션 프로토타이핑 비결
  • 3. 목차 프로그래머의 미덕, 프로그래머의 미흡 불법 야근러를 막아라 – 일정을 맞추는 방법 Divide And Conquer 일을 쪼개라 시간을 쪼개라 인력을 쪼개라 니 말이 맞아? 내 말이 맞아? - 의도를 맞추는 방법 비전 얼라인 테스트 주도형 피처 개발 QA 주도형 개발 결론
  • 4. “공룡시대 야생 환경에 던져진 현대인이 되어, 사실적 풍취의 탐험, 사냥, 개척, 사회 건설을 플레이하는 새로운 체험의 모바일 MMORPG” 게임의 소개 야생 환경 현대인 원주민공룡 공룡 창발성 사회 건설 개척 탐험 사냥
  • 5. 왓 스튜디오의 개발 과정? Agile ? XP ? • Yes and No • 이론적으로 완벽한 개발 방법론을 설명하는 게 아님 사례 중심 소개 • 100% 저희 스튜디오가 실제로 경험하고 삽질하며 개선 했던 살아있는 개발 방법론입니다 • 정교함은 떨어지지만 내 몸에 맞는… 이런 논쟁이 발현할 수 있었던 문화 소개? • 이정수 : <가죽 장화를 먹게 해주세요> • 최호영 : <가죽 장화를 먹게 해달라니>
  • 6. Beyond Code! Why not!? 우리 스튜디오의 작업 과정을 코딩 한다면!? 논리적 데이터 흐름을 제어 : 프로그래밍 저작 작업의 흐름을 제어 : 게임 개발 프로세스 프로그래머는 시스템을 설계하고 구현합니다. • 시스템 : 프로세스 프로그래머는 객체 사이의 디자인에 관심이 많습니다. • 객체 : 사람 혹은 소그룹 • 사이 : 관계 • 디자인 : 파이프라이닝
  • 7. 디렉터가 창발성을 외치면 개발자들은 어떤 대비를 해야? • 심플한 룰과 관계 속에서 예상치 못한 새로움 • 계(System)의 안정성? • 나비효과? • 스펙은 갈대와 같이… • 어떻게 일정을 맞출까!?
  • 8. 나를 알고 적을 알면 백전무퇴 프로그래머의 미덕 프로그래머의 미흡
  • 9. 프로그래머의 미덕?! 키보드 워리어 보통은 말 보단 글(또는 코드)이 편하다? 설계 덕후 객체를 디자인하고 관계를 코드로 설계한다 타임 컬플렉시티 타임 컴플렉시티에 대한 본능적 반응 Geek 별의 별 곳에 공돌이 개그. Gamification 종특 Due Mode Due 직전의 빛나는 창의력 + 집중력
  • 10. 프로그래머의 미흡!? 난 내 일만 코딩만 열심히 한다. 항상 쫓기며 일한다. 부정적(?) 낙천주의 이 기획 아마 안 될꺼야… 하지만 이 스펙은 1주일이면 될겨~ HGI 소홀(Human-Geek Interface) 너무 독특한 자신만의 세계가 있다거나… 자연언어 커뮤니케이션 힘듦?
  • 11. 미덕과 미흡을 잘 짬뽕 해보면 블루 오션?! 미흡 흡수 내 일만  작업 프로세스 전반에 관심을 가짐 HGI를 향상 키워질 양성화: 스크럼! 의 또 다른 사용 설명서!? 정량 가능한 일정 예측법 고안 미덕력 업! Beyond Code! 공돌이 개그의 건설적인 활용 방안! 시스템 설계를 확장해서 개발 프로세스 설계 객체 디자인을 확장해서 조직 설계
  • 12. 프로그래머의 뇌구조 이것들이 어떻게 작용하는지 보시죠! Divide And Conquer Due 모드 모듈화 그리디 휴리스틱 타임 콤플렉시티 객체 디자인 키워질
  • 13. 변화무쌍한 스펙 속에서 일정을 맞추는 방법 일정을 맞추는 방법 - 불법 야근러*를 막아라 *불법 야근러 : 칼퇴근의 미덕을 거부하는 하드워커 *자매품 : 불법 출근러
  • 15. 오랜 주문… Divide And Conquer – 알고리즘 단골 Divide And Conquer Due 모드 모듈화 그리디 휴리스틱 타임 콤플렉시티 객체 디자인 키워질
  • 16. 작업 공정의 Divide And Conquer 일을 쪼개라 시간을 쪼개라 인력을 쪼개라
  • 18. 일을 쪼개기? 프로그래머는 코드가 길어지면 본능적으로 모듈로 쪼갠다  큰 업무는 쪼갠다? Divide And Conquer Due 모드 모듈화 그리디 휴리스틱 타임 콤플렉시티 객체 디자인 키워질
  • 19. 큰 업무 쪼개는 방법? 모듈화! 단계적으로 쪼개기!
  • 21. 단계적 업무 쪼개기 – 단계적 프로토타이핑 모듈화 더 이상 쪼갤 가치가 없을 때까지 쪼갬(같은 목적 단위) 독립적으로 돌아가야 함 • 단일 책임 원칙(SRP) – 한가지 목적으로만 변경되어야 • 개방 폐쇄 원칙(OCP) – 확장에 열려있고 수정엔 닫힌 XP 원칙에 따라 항상 돌아가는 소프트웨어 유지 조금씩 개선 - 재미있으면 더하고 재미 없으면 뺀다 현재가 다음 단계의 비전이 됨 Divide And Conquer Due 모드 모듈화 그리디 휴리스틱 타임 콤플렉시티 객체 디자인 키워질
  • 22. (예) <야생의 땅:듀랑고> 에서 가죽장화를 만들려면? 네트워킹 테스트 가죽 장화를 만들 수 있도록 원활한 모바일 MMO 네트워킹 제공 채집 시스템 가죽 장화를 만들려면 어떤 재료를 어디서 구하나? 사냥 시스템 동물을 잡아야 가죽을 얻지! 생산 시스템 가죽 장화 재료가 모였는데 어떻게 조합하지? 건설 시스템 가죽 장화를 만들라는데 작업대는 어떻게 만들지? UI 가죽 장화 제작 UI는 어떻게 생겼나? 렌더링 가죽 장화를 때깔을 어떻게 살릴까? 생태계 화폐 …
  • 23. (예) <야생의 땅:듀랑고> 에서 가죽장화를 만들려면? 네트워킹 테스트 가죽 장화를 만들 수 있도록 원활한 모바일 MMO 네트워킹 제공 채집 시스템 가죽 장화를 만들려면 어떤 재료를 어디서 구하나? 사냥 시스템 동물을 잡아야 가죽을 얻지! 생산 시스템 가죽 장화 재료가 모였는데 어떻게 조합하지? 건설 시스템 가죽 장화를 만들라는데 작업대는 어떻게 만들지? UI 가죽 장화 제작 UI는 어떻게 생겼나? 렌더링 가죽 장화를 때깔을 어떻게 살릴까? 생태계 화폐 …
  • 24. (예) <야생의 땅:듀랑고> 에서 가죽장화를 만들려면? 네트워킹 테스트 가죽 장화를 만들 수 있도록 원활한 모바일 MMO 네트워킹 제공 채집 시스템 가죽 장화를 만들려면 어떤 재료를 어디서 구하나? 사냥 시스템 동물을 잡아야 가죽을 얻지! 생산 시스템 가죽 장화 재료가 모였는데 어떻게 조합하지? 건설 시스템 가죽 장화를 만들라는데 작업대는 어떻게 만들지? UI 가죽 장화 제작 UI는 어떻게 생겼나? 렌더링 가죽 장화를 때깔을 어떻게 살릴까? 생태계 화폐 …
  • 25. 단계적 프로토타이핑 A1 – A3 게임 실제로 보이게 • HTML5 웹 기반 • 지형 생성 • 지형 스트리밍 • 단순한 인터랙션
  • 26. 단계적 프로토타이핑 A1 – A3 D1 – D3 게임 실제로 보이게 모듈화! 모바일 멀티 터치 조작계 • 모바일 터치에 맞게 • 독립적 프로토타이핑
  • 27. 단계적 프로토타이핑 A1 – A3 D1 – D3 Z3 – Z5 게임 실제로 보이게 모바일 멀티 터치 조작계 시스템에 특화 • 그래픽 요소 최소화 • 시스템만 검증 – 아이템 – 채집 – 생산 – 건축 – 사냥 • 게릴라 사내 테스트 • 레트로한 풍의 매력 – 사내 팬덤 확보
  • 28. 단계적 프로토타이핑 A1 – A3 D1 – D3 Z3 – Z5 A4 – A5 게임 실제로 보이게 모바일 멀티 터치 조작계 시스템 검증 모바일 클라이언트 플레이 검증 • 시스템은 제외 • 조작성, 표현 위주 검증 – 멀티터치 적용 – 사냥의 표현 – 간단한 자연 표현
  • 29. 단계적 프로토타이핑 A1 – A3 D1 – D3 Z3 – Z5 A4 – A5 게임 실제로 보이게 모바일 멀티 터치 조작계 시스템 검증 모바일 클라이언트 플레이 검증 서버 기능 독립적 모듈화 그래픽(X) 클라이언트 일단 되게 서버(X)
  • 30. 단계적 프로토타이핑 A1 – A3 D1 – D3 Z3 – Z5 A4 – A5 tinyA6 P6 W6 A6 게임 실제로 보이게 모바일 멀티 터치 조작계 시스템 검증 모바일 클라이언트 플레이 검증 MMO 서버와 게임 연동, 캐릭터, UI 조립 Bronto MMO 서버 프레임워크 구현 모바일 사냥, 동물 AI 식생, 자연, 인공물 표현 물 표현 연구 각 각 기 능 단 위 로 모 듈 화
  • 31. 프로토타입 전국시대 A1 – A3 D1 – D3 Z3 – Z5 A4 – A5 랩터빌드 tinyA6 P6 W6 A6 게임 실제로 보이게 모바일 멀티 터치 조작계 시스템 검증 모바일 클라이언트 플레이 검증 MMO 서버와 게임 연동, 캐릭터, UI 조립 Bronto MMO 서버 프레임워크 구현 모바일 사냥, 동물 AI 식생, 자연, 인공물 표현 물 표현 연구 완전체!!! B1 – B5 하이엔드 표현 연구
  • 32. 단계적 프로토타이핑의 결과 • 각각의 목적, 재미 요소를 추구하며 독립적으로 발전해감 • 이전의 프로토타입이 다음 프로토타입의 비전을 제시 • 부분을 완성해서 전체를 조립해나가는 과정 • 단, 통합할 땐 좀 힘듦……  뒤에 얘기
  • 33. 시간을 쪼개라 신은 사람을 질투한다. 사람은 죽으니까. 죽으니까 늘 마지막처럼 산다. 그래서 아름답다. <트로이>
  • 34. 듀 데이트의 역설 • 듀가 많이 남으면 작업이 붕 뜸 – 어디 가서 진짜 시간 쪼개고 싶다 • 그것보다! 더 큰 문제 두려움! – 마일스톤 애매 • 내가 지금 어디쯤 왔나 몰라 불안 • 잘 하고 있나? 불안 – 로드맵 애매 • 앞으로 남은 일이 정확히 뭔지 몰라 불안 • 담 달부터 마라톤 야근하는 거 아냐? DUE
  • 35. 듀 데이트의 역설 시험 기간 <O시 내고향>이 왠지 재밌다… 마감 기간되면 하고픈 일들이 마구 생각나…  일부는 매우 생산적인 에너지 + 상상들  듀 데이트 되면 집중해서 코딩도 잘된다?! 듀데이트 임박 때의 창조적 생산성을 계속 끌고 갈 수 없을까? http://blog.sktworld.co.kr/3308 Divide And Conquer Due 모드 모듈화 그리디 휴리스틱 타임 콤플렉시티 객체 디자인 키워질
  • 36. 타이트한 듀 데이트? 시간 쪼개기 방법! 긴 일정은 쪼개라 핀포인트 스케줄링 그리디 스케줄링
  • 37. 긴 일정은 쪼개라 듀 모드의 탄력을 자주 경험
  • 38. Prototype A6 할때… 프로토타입 Z5에서 다 해봤지? 이번엔 모든 걸 모바일로 옮겨 주면 돼. 프로토타입 A6라고 명명하지 기간은 3개월이야. 3개월 만에요?! 근데 3개월은 어떻게 채워야 하나…;;; Divide And Conquer Due 모드 모듈화 그리디 휴리스틱 타임 콤플렉시티 객체 디자인 키워질 Due 모드가 아니면 생산성이 현저히 떨어진다
  • 40. 이 부분에 대한 작업 A1 – A3 D1 – D3 Z3 – Z5 A4 – A5 랩터빌드 tinyA6 P6 W6 A6 게임 실제로 보이게 모바일 멀티 터치 조작계 시스템 검증 모바일 클라이언트 플레이 검증 MMO 서버와 게임 연동, 캐릭터, UI 조립 Bronto MMO 서버 프레임워크 구현 모바일 사냥, 동물 AI 식생, 자연, 인공물 표현 물 표현 연구 완전체!!! B1 – B5 하이엔드 표현 연구
  • 41. A6 / tinyA6로 분리 3개월 • 모바일로 지형, 동물, 사냥 등을 모두 이식해야 • 1 : 1 : 1로 분리 일정 모듈화 - tinyA6 분리 • 동물 사냥 프로토타입만 하나 쪼갬 • 일정 중 3주만 따로 떼어냄 Divide And Conquer Due 모드 모듈화 그리디 휴리스틱 타임 콤플렉시티 객체 디자인 키워질 1주째: 입 기획 및 스펙 구상 2주째: 실제 작업 3주째: 실제 작업 3번째 금요일 : 배포
  • 42. tiny A6 분리 땅 이식 Z5의 지형을 필요한 만큼만 최소 이식 독립적 피쳐 사냥, 공룡 AI는 다른 피처에 독립적 스펙 공방 구현, 무기 구현, 애니메이션 연결, AI 튜닝 텐션 유지 스크럼 + 주당 2회 이터레이션으로 이 터 레 이 션
  • 43. tiny A6 – 동식물 + 사냥 + 조작계
  • 44. tiny A6 - 이 모든 것을 모바일에서
  • 46. 사냥 재미 검증 후 재빠른 머징 A1 – A3 D1 – D3 Z3 – Z5 A4 – A5 랩터빌드 tinyA6 P6 W6 A6 게임 실제로 보이게 모바일 멀티 터치 조작계 시스템 검증 모바일 클라이언트 플레이 검증 MMO 서버와 게임 연동, 캐릭터, UI 조립 Bronto MMO 서버 프레임워크 구현 모바일 사냥, 동물 AI 식생, 자연, 인공물 표현 물 표현 연구 완전체!!! B1 – B5 하이엔드 표현 연구
  • 48. 일정 쪼개기 효과 듀 모드 짧은 주기로 마일스톤을 갖게 하는 효과 – 텐션 상승 마일스톤 끝난후 공허함의 간극 줄임 – 업무의 리텐션! 로드맵 제시 현 단계가 진행 상황인 동시에 – ‘일정 1/3 지났네? ㅎㄷㄷ' 다음 단계의 구체적인 비전이 됨
  • 50. 301 다트!!! 301 점에서 시작 다트를 던져서 먼저 0점을 만들면 이기는 게임 전략:초반엔 다득점 후반엔 정교http://ko.wikipedia.org/wiki/%EB%8B%A4%ED%8A%B8
  • 51. What? 핀포인트 스케줄링 마감일을 딱 박아놓고 역순으로 스케줄링 마감 하려면 지금 뭘 해야 하는지 고민 전략:초반엔 다득점  과감한 도전 후반엔 정교  타임 크리티컬한 작업
  • 52. 프로토타입 B4의 사례 B4 - 덫 사냥 재미 검증! 멀티플레이 상태 자취 추적 – 발자국, 배설물 매복 – 매복 시야 처리 동물 무리 몰이 – 길들인 공룡에 타고 – 덫으로 몰이 덫 설치 및 사냥 – 동물이 덫에 걸림 하이엔드 표현형 프로토타입
  • 54. 타임 크리티컬  도전적인 작업 순으로 묶기
  • 55. 핀포인트 스케줄링 – 이제 역순으로 작업 계획 수립 1회차 : 동물 랜덤 스폰, 공룡 타기 2회차 : 동물 시선 처리, 도망 3회차 : 배설물, 발자국 추적 시스템 검증 4회차 : 추적 시스템, 동료 표시 5회차 : 매복, 동물 AI(몰이 되게) 6회차 : 몰이, 사냥 7회차 : 촬영, 최적화 주 2회 검증 이 터 레 이 션
  • 56. 일정 저격 성공! 핀포인트 스케줄링 효과 • 배수의 진을 치고 • 거꾸로 생각해보면 • 오늘 뭘 할지 알게 됨 • 도전적인 새로운 작업을 빠르게 프로토타이핑 할 때 * 내부 사정상 공개하기 힘든 장면이라 다른 이미지로 대체하였습니다.
  • 58. 그리디 스케줄링 Greedy 알고리즘 매 순간 가장 먹음직스런(Greedy) 방향으로 진행, 최적해를 구함 최적해를 찾지는 못할 수도 어느 정도 근사해는 구함 타임아웃 발생하면 그 때까지 최선 보장 Divide And Conquer Due 모드 모듈화 그리디 휴리스틱 타임 콤플렉시티 객체 디자인 키워질
  • 59. What? 그리디 스케줄링 타임 아웃 기간을 정해 놓고 타임아웃! 피처 작업 셧다운! 작동 보장 항상 작동하는 상태로 유지 우선순위 스펙들을 우선 순위 별로(중요도/난이도) 나열 스펙 하나 완료시 그리디 하게 “딱 하나” 다음 스펙을 결정
  • 60. 사냥 – 피처가 넘쳐남 • 공방 구현 – 동물 공격 구현 – 동물 피격 구현 – 플레이어 공격 구현 – 플레이어 피격 구현 – 타격감 – PvE 밸런싱 – PvP 밸런싱 • 무기 구현 – 근거리 무기 – 원거리 무기 – 무기 외형 변경 • 애니메이션 연결 – 플레이어 모션 연결 – 동물 모션 연결 – 무기 모션 연결 • AI 튜닝 – EvE AI 튜닝 – PvE AI 튜닝 – 최적화 • … • … • …
  • 61. 우선순위 정해서 나열 • 플레이어 모션 연결 • 동물 모션 연결 • 플레이어 공격 구현 • 동물 공격 구현 • 플레이어 피격 구현 • 동물 피격 구현 • PvE 밸런싱 • 무기 외형 변경 • 근거리 무기 • 원거리 무기 • PvE AI 튜닝 • EvE AI 튜닝 • 무기 모션 연결 • 타격감 • 최적화 • PvP 밸런싱 • … • … • …
  • 62. 타임 아웃 나면 더 이상 미루지 말고 정지 • 플레이어 모션 연결 • 동물 모션 연결 • 플레이어 공격 구현 • 동물 공격 구현 • 플레이어 피격 구현 • 동물 피격 구현 • PvE 밸런싱 • 무기 외형 변경 • 근거리 무기 • 원거리 무기 • PvE AI 튜닝 • EvE AI 튜닝 • 무기 모션 연결 • 타격감 • 최적화 • PvP 밸런싱 • … • … • … 타임오버 꽝 다 음 기 회 에 … <똑바로 일하라 中> h ttp://elephantcookie.tistory.com/7
  • 63. 인력을 쪼개라 – 프로세스 정비
  • 64. 타임 콤플렉시티에 대해 얘기해 볼게요 중첩된 루프 본능적 거부감 빠른 CPU조차 바보로  다른 알고리즘? Divide And Conquer Due 모드 모듈화 그리디 휴리스틱 타임 콤플렉시티 객체 디자인 키워질
  • 65. 일상다반사? 새로운 동물 구현 작업을 맡았다. 일단 최소한 심플하게 AI를 꾸리고 싶다. 포효하는 스테이트 따위 없어도 될 거 같다. 쳐낸다! 기반 코드를 작성한다. 동물 모델과 모션이 나왔다. 모델과 애니메이션을 조립한다. 대리님께 보여준다. 내가 빼버렸던 포효가 아군에게 도움을 요 청하는 동작이고 로드맵 상 전 동물에 추가될 예정 이었다.;; *실제 상황이 아닌 설명을 위한 픽션입니다.
  • 66. 일상다반사? 애니메이터가 포효 모션을 추가한다. 추가되고 바뀐 모션들을 코드에 적용한다. 대리님이 OK 한다. 팀장님께 보여준다. 기능이 초기 기획 의도에서 벗어났단다. 이빨 로 무는 게 아니라 발톱으로 할퀴어야 한단다. *실제 상황이 아닌 설명을 위한 픽션입니다.
  • 67. 일상다반사? 발톱 공격을 만들려다 보니 발톱이 너무 작아서 안 보인다. 모델러에게 발톱을 키워달라고 요청한다. 변경된 모델에 따른 자잘한 수정사항을 처리한다. 대리님께 보여준다. 모델 바꾸고 익셉션 처리가 덜 된 것을 한 번에 간파 하신다! 역시 실력 짱짱맨!!! 수정 후 자신 있게 팀장님께 보여준다. OK 싸인이 왔다! 두근두근. 처음으로 디렉터님께 선을 보이는 자리! 근데, 헐... 지금 초식 동물이 시급하댄다. 초식동물로 처음부터 새로 하란다!!! *실제 상황이 아닌 설명을 위한 픽션입니다.
  • 68. 이 상황을 코드로 표현해봅시다! - 다단계 루프(출시) { 루프(디렉터 OK 사인) { 루프(팀장 OK 사인) { 루프(리더 OK사인) { 루프(실 구현자 구현 완료) { 기반 구현 루프(UI 디자이너 리소스 제작 완료) { 리소스 제작 } 리소스 적용 } } } } } 프로그래밍을 몰라도 뭔가 잘못됐다는 것은 직감하시겠죠?
  • 69. 문제 파악1 – 비효율적 작업 총량 O(nk) 프로그래머가 가장 꺼리는 모델  더 나은 업무 진행 알고리즘? 비효율적 작업시간 디렉팅 총 횟수 / 실제 구현 횟수 ≒ 0 실제 구현 횟수 = 작업 시간 작업 시간은 많이 드는데 컨펌이 안 난다! 작업 시간 허비는 불 보듯 뻔하다
  • 70. 문제 파악2 – 의도 공유 실제 작업자: 난 몰랐어! 작업에 의도를 몰라서 헛되이 고생하다 리테이크! 작업량 정보량 리더 작업자
  • 71. 문제 파악3 – 재미 누구도 이게 재미가 있을지 모른다 그렇게나 많은 삽질작업을 했는데 재미 검증을 한 번도 못했다 보통 예상한 것보다 더 많이 실패…
  • 72. 재미? 재미는 스펙으로 표시가 안됨 유저의 ‘경험 자체’이기 때문 그래서 재미? 한 번 더 고민해 보는 게 답!? 낮은 품질은 재미를 박탈하는 요소 기본으로 챙겨야 하는 부분 이터레이션(반복 개선)을 높여볼까?
  • 74. 인력을 쪼개라 - TF 구조 끼리끼리 수직 구조 타파! 작업에 관련 있는 사람들 끼리 TF(Task Force) 를 꾸림 독립적 결정권 확보 유연한 인원 변동 관련 여부에 따라 (직급에 상관 없이) 자주 인원이 변경 된다. Ex> UI : 디렉팅 이슈가 많으면 [디렉터, 프로그래머, UI 디자이너] 텐션 유지 (권장) 스크럼으로 1일 15분 회의를 한다. (권장) 주 2회 피처 테스트 일정을 잡는다. Divide And Conquer Due 모드 모듈화 그리디 휴리스틱 타임 콤플렉시티 객체 디자인 키워질
  • 75. TF 구조로 일하는 법 1 입기획 먼저 브레인 스토밍! 스펙을 정한다
  • 76. TF 구조로 일하는 법 2 가지치기 단, 재미의 큰 줄기! <똑바로 일하라 中> h ttp://elephantcookie.tistory.com/7
  • 77. TF 구조로 일하는 법 3 스펙 리스트 로드맵
  • 78. TF 구조로 일하는 법 4 텐션 유지 정기적으로 모여서 • 현 상황 공유 • 문제점 공유 • 개선점 공유 SCRUM ( 뒤에 설명)
  • 79. TF 구조로 일하는 법 5 테스트 주도적 ( 뒤에 설명) 짧게 자주 테스트 과감하게 확장하고 과감하게 폐기 한다 • 인원이든 스펙이든 https://www.flickr.com/photos/mickaelfonjallaz/
  • 80. TF가 돌아가는 구조를 코드로 루프(로드맵에서 하나씩 꺼냄) { 스펙 회의 우선 순위 선정 일부 로드맵에 추가 TF루프(우선순위 스펙 리스트) { 매일 아침 스크럼 미팅 구현 리소스 작업 피처 테스트 발전 / 폐기 여부 결정 } 디렉터 컨펌 / 재작업 여부 결정 } 남은 스펙(로드맵)으로 끝을 명시 여력이 안 되는 중요 사항들은 로드맵에 다시 추가 할 일 명시, 업무 공유, 소단위 마일스톤 함께 피처 테스트: 개선점, 문제점 들을 공유 디렉팅이 많이 필요할 경우 TF루프 안으로
  • 81. 이러한 TF의 대표적 사례 – 전투 TF A6 결성 Tiny A6 결성 기본 전투 프레임웍 클라이언트 전투 구현 랩터 빌드 무기 구현 공룡 AI 구현 인원 (상대치) 시기 관련자 및 스펙 크기에 따라 유동적으로 인원 변경
  • 82. 전투 TF A1 – A3 D1 – D3 Z3 – Z5 A4 – A5 랩터빌드 tinyA6 P6 W6 A6 게임 실제로 보이게 모바일 멀티 터치 조작계 시스템 검증 모바일 클라이언트 플레이 검증 MMO 서버와 게임 연동, 캐릭터, UI 조립 Bronto MMO 서버 프레임워크 구현 모바일 사냥, 동물 AI 식생, 자연, 인공물 표현 물 표현 연구 완전체!!! B1 – B5 하이엔드 표현 연구 이 터 레 이 션
  • 83. 또다른 TF의 대표적 스타사례 <진구지사부로 – 이노센트 블랙> 가죽 장화 하나만을 위해 뭉쳐온 오랜 친구 Item TF
  • 84. 아이템 TF A1 – A3 D1 – D3 Z3 – Z5 A4 – A5 랩터빌드 tinyA6 P6 W6 A6 게임 실제로 보이게 모바일 멀티 터치 조작계 시스템 검증 모바일 클라이언트 플레이 검증 MMO 서버와 게임 연동, 캐릭터, UI 조립 Bronto MMO 서버 프레임워크 구현 모바일 사냥, 동물 AI 식생, 자연, 인공물 표현 물 표현 연구 완전체!!! B1 – B5 하이엔드 표현 연구 이 터 레 이 션
  • 85. 아이템 TF 밀도 높은 커뮤니케이션 입 기획을 통한 비전제시 프로그래머와 기획자 간의 멘탈 모델 동기화 3번의 메이져 이터레이션  게릴라 사내 테스트 (1.0)  사내 테스트 (2.0)  Next (3.0) 독창적인 아이템 시스템 구현 장화도 삶아 먹을 수 있는…
  • 86. TF 구조의 효과 독립적 결정권 커뮤니케이션 코스트 최소화 불필요한 재작업률 낮춤 빠른 프로토타이핑 가능 빠르게 이터레이션 횟수 높임 퀄리티 및 재미 업 정보의 공유가 수평적 로드맵을 같이 공유 의도 오류를 최소화
  • 88. 스크럼 진행 • 모두가 출근한 아침 9:30 • TF 별로 진행 • 15분 이내에 • 화이트 보드에 모여 포스트잇! – 예측 시간 / 실제 소요 시간 – To do / Doing / Done • 피처 테스트 항목도 1인분 추가 – 테스트 주도형 피처 개발!
  • 89.
  • 90.
  • 91. SCRUM 효과 (1) 기민한 결정 뭘 했고 뭘 할지를 빠르게 파악 할 일이 떠오르면 고민 없이 To Do에 추가 구체적 업무 명시 일 단위 일정 예측, 체크, 반성, 우선순위 설정 구체적으로 일을 구분해서 나누는 습관!  가용할 수 있는 스펙 단위가 산정됨 일 단위가 너무 큰 경우 가시적으로 보이기 때문에 쉽게 업무 분리를 독려 가능
  • 92. SCRUM 효과 (2) 동기 부여 및 부스트 효과 아침의 나태한 시간대에! 커뮤니케이션 코스트 낮춤 누가 뭐 하는지 한 눈에 다 보임 일 시키기 / 떠넘기기 좋은 구조  포스트잇 떼서 붙이면 끝 말보다 확실한 글로 대화  글 커뮤니케이션을 선호 하는 팀원에게도 효과적(!)
  • 93. 몰라주면 곤란한 서로의 의도를 맞추는 방법 의도를 맞추는 방법 - 니 말이 맞아? 내 말이 맞아?
  • 94. 콘텐츠 산업의 고뇌 기획 의도가 작업자 개개인 에서부터 팀 전체, 고객에까지 제대로 전달 되어야 함 들려?안 들려...
  • 95. 의도의 공유 비전 얼라인 테스트 주도형 피쳐 개발 QA 주도형 개발
  • 96. 비전 얼라인 두 말 없게 작업자간 의도 맞추기
  • 97. 비전 제시 일단 뭐든 보여라 유에서 유를 개선하는 것을 잘함! 실제로 보고 나면 아이디어 샘솟다 못해 폭발함 다양한 매체를 이용 영상, PPT, 종이 프로토타입, 소프트웨어 등등... 입 기획도 좋고 이심전심의 기반 같은 방향을 바라볼 수 있게 하는 효과
  • 98. 비저닝 – 프로토타입이 리테일로 갈고리로 끌고 다니는 거 재밌어보인다!
  • 99. 비저닝 - 영상 기획 건물 짓고 울타리만 치면 우리땅!?
  • 100. 비저닝 - 입 기획 가죽 장화도 먹게 해줘...
  • 101. 테스트 주도형 피처 개발(TDFD) 오해 없이 나의 의도를 명시하는 방법
  • 102. 테스트 주도형 피쳐개발? TDFD? TDD? 테스트 주도형 개발(TDD) 아님 하지만 TDD의 장점을 차용 TDD를 전 직군, 전 팀에 확대하는 것 Beyond Code!!!
  • 103. 팀 커뮤니케이션의 핵심은 의도 전달 의도를 빠르게 전달하는 게 경쟁력 테스트 시트가 바로 의도 내가 원하는 결과가 무엇인가 명시 내 의도에 모순은 없나 자체 검증 내 의도에 오해를 할 여지를 줄여줌
  • 104. What? TDFD 의도의 공유 수단 테스트 시트만 보면 뭘 작업해야 할 지가 명확해짐 원 소스 멀티 유즈! 기획서 자체 검증용 : 논리적, 절차적 오류는 없나? 구현 후 자체 테스트로 활용 QA 테스트 시트로 활용 디렉터는 얼마나 일이 진행됐는가 앎
  • 106. 바야흐로 랩터 빌드 조립 단계에… A1 – A3 D1 – D3 Z3 – Z5 A4 – A5 랩터빌드 tinyA6 P6 W6 A6 게임 실제로 보이게 모바일 멀티 터치 조작계 시스템 검증 모바일 클라이언트 플레이 검증 MMO 서버와 게임 연동, 캐릭터, UI 조립 Bronto MMO 서버 프레임워크 구현 모바일 사냥, 동물 AI 식생, 자연, 인공물 표현 물 표현 연구 완전체!!! B1 – B5 하이엔드 표현 연구
  • 107. 랩터 빌드 조립 단계 길 고 긴 보릿고개 통합 기간이 너무 길어짐 게다가, 품질이 너무 떨어진다
  • 108. 특단의 조치! 테스트 주도형 피처 개발 현 상태: • 의도의 혼재 – 작업자 마다 의도가 다름! – 잘못 돌아가는 게 어딘지 잘 모 르겠다. • 정상적인 테스트가 안 된다. – 작업자 PC에서만 정상 작동? • 어디까지 작동 하는지 범위도 불명확
  • 109. 특단의 조치! 테스트 주도형 피처 개발 조치: • 주 2회 전체 피쳐 테스트 – 실제 테스트로 눈 앞에 보여라 – 그 전엔 작업을 해도 한 게 아님! • 전 개발자 의도 전달 명확히 – 테스트 시트가 바로 의도 – 무엇 무엇이 돼야 하냐 • 프로그래밍 뿐만 아니라 기획 단계에서도 테스트 작성 병행
  • 110. 실제 테스트 풍경(주2회) 테스트 주제를 정하고 주제에 관련된 내기 이벤트도 진행 관심도 + 참여도 높임 이 터 레 이 션 • 더 이상 프로그래머 자리에서만 돌아가는 피처는 노노! • 항상 작동하는 클라/서버를 확보 • 게임의 허점들이 가시화!  품질 업 가속화
  • 111. 그 결과… 게임 퀄리티 급속도로 증가
  • 112. QA 주도형 개발 유저에게 전달된 의도는 무엇일까?
  • 113. What? QA 주도형 개발 QA 인력? 유저와 개발자의 중간 교량 역할 업무상 유저와도 소통 업무상 개발자와도 소통 유저 경험(UX) 중시 디자인 유저에게 전달된 의도는 무엇일까? 유저의 마음도, 개발자의 마음도 아는 제 3자의 역할
  • 114. 사내 테스트 전에… 유저 경험이 매끄럽지 못함 기능성 테스트(QA)가 아닌 유저경험(UX) 테스트  UX 불편을 많이 해소
  • 115. 자매품 : 아티스트 주도형 테스트 아티스트는 시스템에 익숙지 않음 아티스트가 안 헷갈리고 재미가 있다고 느껴지면 UX에 최소한의 객관성이 생겼다고 볼 수 있다
  • 117. Divide And Conquer Due 모드 모듈화 그리디 휴리스틱 타임 콤플렉시티 객체 디자인 키워질 정리 프로그래머의 미덕, 프로그래머의 미흡 일정을 맞추는 방법 Divide And Conquer 일을 쪼개라 - 단계적 프로토타이핑 시간을 쪼개라 - 각종 스케줄링 방법들 인력을 쪼개라 – TF제안, 스크럼 의도를 맞추는 방법 비전 얼라인  개발자 부터 테스트 주도형 피처 개발  동료 QA 주도형 개발  유저까지의 의도 전달 검증
  • 118. 제 의도는 이겁니다 좋은 아이디어가 좋은 품질의 게임으로 출시되고 전 팀원 모두의 의도가 하나의 작품으로 완성되고 예측 가능한 일정이 있어 오늘 쓴 휴가가 다음날의 야근으로 이어지지 않는 진정 성숙한 개발 문화를 만들어보는 것
  • 119. 변화 부적응? 전체 조직을 변화시키기엔 어려움 당장 지금 같이 일하는 기획자, 아티스트, 프로그래머와 함께 시도해보자 모범을 보이고 문화를 확산시킴  비저닝, 단계적 수행
  • 120. 이것만이 답이 아닙니다. 아티스트, 디자이너 등 다양한 직군의 식견도 필요! 보다 나은 개발 문화를 만들려는 이러한 고민과 고민들이 모여서 쌓이고 발전하면 점차 성숙한 게임 개발 문화가 뿌리내리지 않을까요?
  • 121. 콘텐츠의 개발의 최종 목표는 문화의 창조 더불어 양질의 개발 문화도 창조해봅시다 우리 모두 성숙한 개발 문화를 프로그래밍해 보아요 일정의 끝에서 퇴근을 외치다!
  • 122. 이러한 고민을 나눌 동 료 를 구 합 니 다 ! 전 구성원들이 한 몸처럼 유기적으로 기능할 때 그 과정은 예술이 되고 결과물은 작품이 된다.