More Related Content
PDF
PDF
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018 PPTX
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019 PDF
PPTX
PPTX
PDF
조정훈, 게임 프로그래머를 위한 클래스 설계, NDC2012 PDF
임태현, 게임 서버 디자인 가이드, NDC2013 What's hot
PDF
장재화, Replay system, NDC2011 PDF
NDC 2017 키노트: 이은석 - 다가오는 4차 산업혁명 시대의 게임개발 PDF
PDF
임태현, MMO 서버 개발 포스트 모템, NDC2012 PDF
MMOG Server-Side 충돌 및 이동처리 설계와 구현 PDF
PDF
Ndc2014 시즌 2 : 멀티쓰레드 프로그래밍이 왜 이리 힘드나요? (Lock-free에서 Transactional Memory까지) PPTX
PDF
PPTX
TA가 뭐예요? (What is a Technical Artist? 블루홀스튜디오) PDF
게임제작개론 : #6 게임 시스템 구조에 대한 이해 PPTX
ndc 2017 어쩌다 신입 - 초보 게임 개발자 2년 간의 포스트모템 PPTX
PDF
이무림, Enum의 Boxing을 어찌할꼬? 편리하고 성능좋게 Enum 사용하기, NDC2019 PDF
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막) PPTX
PDF
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규 PDF
[IGC 2017] 아마존 구승모 - 게임 엔진으로 서버 제작 및 운영까지 PDF
김동건, 구세대 개발자의 신세대 플레이어를 위한 게임 만들기, NDC2011 PPTX
GPGPU(CUDA)를 이용한 MMOG 캐릭터 충돌처리 Viewers also liked
PDF
NDC 2010 이은석 - 마비노기 영웅전 포스트모템 2부 PDF
NDC 2010 이은석 - 마비노기 영웅전 포스트모템 1부 PDF
NDC 2012 이은석 - 고전게임 화이트데이 디렉터 포스트모템 PDF
NDC 2011 이은석 - 마비노기 영웅전 아트 디렉팅 PDF
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술 PPTX
NDC2012_마비노기 영웅전 카이 포스트모템_시선을 사로잡는 캐릭터 카이 그 시도와 성공의 구현 일지 PDF
KGC2010 김주복, 김충효 - M2 프로젝트의 절차적 리깅 시스템 PDF
NDC 2014, 피할 수 없는 문자열의 세계 PDF
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술 PDF
NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출 PDF
한상원, 친아티스트 3D 캐릭터 리깅, NDC2010 PPTX
게임 캐릭터의 실시간 렌더링을 위한 리깅 테크닉 공개용 PDF
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기 PPTX
NDC 2011, 네트워크 비동기 통신, 합의점의 길목에서 PDF
PDF
[GAMENEXT] 클랜워즈 포스트모템 (큐빅스튜디오) PDF
월간 마이크로소프트웨어 창간 28주년 기념 C++ 개발자를 위한 게임 프로그래밍 실전 기법 세미나, C++ 게임 개발자를 위한 C# 활용기법 PPTX
PDF
NDC 2012, Gamification 001: 실전 감량 사례로 알아보는 메카닉 PPT
Similar to NDC 2013, 마비노기 영웅전 개발 테크니컬 포스트-모템
PDF
PDF
Ndc2010 김주복, v3. 마비노기2아키텍처리뷰 PDF
이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018 PDF
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019 PDF
NDC2013 - 인디게임 프로젝트 중도에 포기하지 않는 방법 PDF
PDF
PDF
[NDC17] Protocol:hyperspace Diver 개발 포스트모템 PPT
[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트 PPTX
대규모 프로젝트 개발이야기 - 이승헌, 유나이트 코리아 2014 PPTX
PPTX
PPTX
유나이트2015서울 - 큰규모의 MMORPG - 주세영 PDF
임태현, 서버점검 제로에의 도전, NDC2011 PPTX
[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발 PPTX
PDF
PDF
PPTX
PPTX
[Dev rookie] 무엇을 하고 있습니까(13.05.11) NDC 2013, 마비노기 영웅전 개발 테크니컬 포스트-모템
- 1.
- 2.
개발 TD 개인의관점
• 개발 프로듀서/디렉터/팀,
라이브 프로듀서/디렉터/팀,
회사 공식 견해와는 일치하지 않습니다.
• 발표를 승인해주신 책임자 분들께 감사드립니다.
프로젝트 참여 기간 : 2006-01-02/2009-12-31
- 3.
- 4.
목적
• 시작할 때알았으면 좋았을 경험 공유
• 부검 (post-mortem) 양식을 지키려고 함
• 서비스 중이므로 오해를 살 수 있어 이제야 발표
• 3년은 라이브 게임이 환골탈태할 기간
- 5.
목적
• 시작할 때알았으면 좋았을 경험 공유
• 부검 (post-mortem) 양식을 지키려고 함
• 서비스 중이므로 오해를 살 수 있어 이제야 발표
• 3년은 라이브 게임이 환골탈태할 기간
개요
양적 분석
질적 분석
잘 된 점 5가지
잘 안 된 점 5가지
결론
- 6.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 15.
- 16.
- 17.
- 18.
- 20.
- 21.
개발 도중
빌드머신 디스크
2회고장
(HDD/SSD 각 1회)
개발 도중
저장소 디스크
1회 고장
(RAID 1+0 모두 동시)
데이터 손실이 있었으나
사후 복구
- 22.
- 23.
- 24.
- 25.
- 26.
채용 잘 하는법
회사 시스템에만 의존하지 말 것
프로젝트 초중반 인력 수급은
자원 관리 중 가장 어려운 과제
시간과 비용을 써야 좋은 결과
© CJ E&M
- 27.
- 28.
- 29.
아웃 소싱
이은석, 마비노기영웅전 포스트모템 2부, NDC2010
게임 피처
개발에 집중
가져올 수 있는
비개발적 이득도
가급적 모두 취함
심지어 포트번호까지
- 30.
- 31.
사용자 인터페이스
스튜디오 내다른 프로젝트에서 먼저 검증
Source Engine의VGUI를 사용해서는
얻을수 없는 시간대비 품질로 제작 가능해짐
- 32.
- 33.
- 34.
자잘한 빌드 최적화를통해
일반적인 경우 5분 이내에 빌드가 끝나도록
리소스도 종속성 검사를 최대한 강하게
지속적인 통합
© http://xkcd.com
- 35.
빌드를 깨지 않도록강력하게 압박
© http://totheno1.egloos.com
처음에는
실행 가능한 상태로
유지되지 않아
빌드 넘버를 정해놓고
공포 분위기 조성
- 36.
빌드를 깨지 않도록강력하게 압박
© http://totheno1.egloos.com
처음에는
실행 가능한 상태로
유지되지 않아
빌드 넘버를 정해놓고
공포 분위기 조성
조건 달성 시
사비 털어서 파티
실제로는
매번 털렸음
- 37.
루프백 서버 사용금지
© http://www.thinkgeek.com/product/6806/
- 38.
루프백 서버 사용금지
이터레이션 속도를 떨어트릴 수 있지만
내부 개발용 서버에서 통합되는 것을
작업 기준으로 놓고 작업
© http://www.thinkgeek.com/product/6806/
- 39.
루프백 서버 사용금지
이터레이션 속도를 떨어트릴 수 있지만
내부 개발용 서버에서 통합되는 것을
작업 기준으로 놓고 작업
제 자리에서는 괜찮은데요?
리파지터리에
제출된 데이터는
서버에 자동 적용
© http://www.thinkgeek.com/product/6806/
- 40.
- 41.
- 42.
- 43.
핵심 기능에만 집중
노리진않았지만
Wizards of the Coast, Magic:The Gathering, and their logos are trademark of Wizards of the Coast LLC in the United States and other countries.
© 1995-2013 Wizards of the Coast LLC, a subsidiary of Hasbro, Inc.All Rights Reserved
This presentation is not affiliated with, endorsed, sponsored, or specifically approved by Wizards of the Coast LLC.
- 44.
핵심 기능에만 집중
노리진않았지만
라이브에서는
기적이 일어난다
Wizards of the Coast, Magic:The Gathering, and their logos are trademark of Wizards of the Coast LLC in the United States and other countries.
© 1995-2013 Wizards of the Coast LLC, a subsidiary of Hasbro, Inc.All Rights Reserved
This presentation is not affiliated with, endorsed, sponsored, or specifically approved by Wizards of the Coast LLC.
- 45.
잘 안 된점
5가지
© http://ramboruiz.com/what-happens-if-your-va-do-it-wrong/
- 46.
1년에
한 번
전력으로
승부
매 3개월의전력질주
© http://joynews.inews24.com/php/news_view.php?
g_menu=702500&g_serial=598811
© 전병헌 블로그
- 47.
허들=단거리 단기목표를 넘어야다음 기회
1년에
한 번
전력으로
승부
매 3개월의 전력질주
© http://joynews.inews24.com/php/news_view.php?
g_menu=702500&g_serial=598811
© 전병헌 블로그
- 48.
허들=단거리 단기목표를 넘어야다음 기회
1년에
한 번
전력으로
승부
매 3개월의 전력질주
© http://joynews.inews24.com/php/news_view.php?
g_menu=702500&g_serial=598811
© 전병헌 블로그
Deadline Driven Development
- 49.
목조 건물을 의도하고만들었으면 상관 없지만
거푸집은?
© http://www.scaffoldformwork.com© Peter Eckert
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
.NET Framework &C#
네이티브 코드에서 발생하는 관리 이슈는 사라졌지만
매니지드 코드 특유의 문제를 다루기 위해 별도의 학습이 필요
- 56.
자이언트 서버
하드웨어 발전속도를 과신한 아키텍처
부하가 집중됐을 때 사내의 구형 서버들을
동원해서 스케일-아웃에 성공했지만
평균 성능이 기대에 많이 못미침
양승명, 마비노기 영웅전 자이언트 서버의 비밀, NDC11
- 57.
섀도우 채널
P2P 오버레이네트워크 위에서 채널을 구성
자이언트 서버와 마찬가지로 단일 서버를 최대한 크게
유지하기 위한 목적으로 고안됐지만,
핸드오버 처리에서 난항을 겪었음
- 58.
- 59.
- 60.
- 61.
- 62.
- 63.
- 64.
코딩 기준
엔진 코드에역사와 전통을 자랑하는
다양한 코딩 기준이 이미 혼재
Quake logo is a registered trademark of Id Software Inc.
- 65.
코딩 기준
엔진 코드에역사와 전통을 자랑하는
다양한 코딩 기준이 이미 혼재
C# 서버와 연결되는 부분은
.NET 스타일로 작성된 C++
Quake logo is a registered trademark of Id Software Inc.
- 66.
품질 기준
문서 및테스트 기준
단언문을 깨는 결과물이
마감 기간에 발생하면
복구하기 어렵다
코드 검토를 강제했으면 하는 아쉬움
© http://insureblog.blogspot.com/2012/07/dominos-part-deux.html
- 67.
아웃 소싱의 한계
©http://seekingalpha.com/article/453921-sirius-xm-there-s-no-such-thing-as-a-free-lunch
- 68.
- 69.
- 70.
- 71.
공용 라이브러리
C# 서버라외부 라이브러리를
(HackShield, ProudNet 등)
바로 붙이기 번거로움
라이브러리에 깔린 가정들이
개별 프로젝트와 일치하지 않음
파편화
- 72.
공용 라이브러리
C# 서버라외부 라이브러리를
(HackShield, ProudNet 등)
바로 붙이기 번거로움
라이브러리에 깔린 가정들이
개별 프로젝트와 일치하지 않음
파편화
.NET 경험이 불충분해서 생기는 문제
- 73.
공용 라이브러리
담당자 퇴사
C#서버라 외부 라이브러리를
(HackShield, ProudNet 등)
바로 붙이기 번거로움
라이브러리에 깔린 가정들이
개별 프로젝트와 일치하지 않음
파편화
.NET 경험이 불충분해서 생기는 문제
- 74.
- 75.
- 76.
넥슨 플러그
많은 기능이카트라이더와 함께 만들어졌다
분산 다운로드를 지원하지 않아 CDN 비용 감수
차분 생성을 빠르게 하기 위해서는 많은 튜닝이 필요
넥슨 정기 점검 시간에는 내부 개발 서버도 점검
- 77.
- 78.
- 79.