NDC 2013, 마비노기 영웅전 개발 테크니컬 포스트-모템

2,994 views
2,483 views

Published on

0 Comments
9 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,994
On SlideShare
0
From Embeds
0
Number of Embeds
34
Actions
Shares
0
Downloads
0
Comments
0
Likes
9
Embeds 0
No embeds

No notes for slide

NDC 2013, 마비노기 영웅전 개발 테크니컬 포스트-모템

  1. 1. 테크니컬 포스트-모템㈜넥슨코리아 N스퀘어 개발본부 개발1실 GTR팀 엔진유닛김 재석
  2. 2. 개발 TD 개인의 관점• 개발 프로듀서/디렉터/팀,라이브 프로듀서/디렉터/팀,회사 공식 견해와는 일치하지 않습니다.• 발표를 승인해주신 책임자 분들께 감사드립니다.프로젝트 참여 기간 : 2006-01-02/2009-12-31
  3. 3. 대상• 프로그래머 기반 프로젝트 이해 관계자• 게임을 만들어내야 하는 사람
  4. 4. 목적• 시작할 때 알았으면 좋았을 경험 공유• 부검 (post-mortem) 양식을 지키려고 함• 서비스 중이므로 오해를 살 수 있어 이제야 발표• 3년은 라이브 게임이 환골탈태할 기간
  5. 5. 목적• 시작할 때 알았으면 좋았을 경험 공유• 부검 (post-mortem) 양식을 지키려고 함• 서비스 중이므로 오해를 살 수 있어 이제야 발표• 3년은 라이브 게임이 환골탈태할 기간개요양적 분석질적 분석잘 된 점 5가지잘 안 된 점 5가지결론
  6. 6. 김 재석수석연구원마비노기2:아레나마비노기 영웅전 테크니컬 디렉터마비노기프로젝트 T2오즈
  7. 7. 라이브로 전환신규개발을 다시시작하던 시기
  8. 8. http://thisisgame.com/board/?board=116&n=586312005년 12월
  9. 9. http://thisisgame.com/board/?board=116&n=586312005년 12월개인적으로도전환기
  10. 10. 2007 하반기 출시 목표같이 만들 사람을찾던 개발디렉터 (30)
  11. 11. 2007 하반기 출시 목표전세계 단일 서버MMO 마을 없는 MO
  12. 12. 온라인 액션 RPG
  13. 13. © http://game.donga.com/37002/G-STAR 2007지스타 어워드 장려상
  14. 14. MORPG 빅3G-STAR 2008
  15. 15. 오픈 첫날 PC방 RPG 순위6위 진입
  16. 16. 단일 서버로 동시접속자수 5만 돌파
  17. 17. 개발 도중빌드머신 디스크2회 고장(HDD/SSD 각 1회)
  18. 18. 개발 도중빌드머신 디스크2회 고장(HDD/SSD 각 1회)개발 도중저장소 디스크1회 고장(RAID 1+0 모두 동시)데이터 손실이 있었으나사후 복구
  19. 19. 2010 대한민국 게임대상 대상
  20. 20. 동시접속자수 5만5천 상회
  21. 21. 잘 된 점5가지© http://www.wpclipart.com
  22. 22. 채용
  23. 23. 채용 잘 하는 법회사 시스템에만 의존하지 말 것프로젝트 초중반 인력 수급은자원 관리 중 가장 어려운 과제시간과 비용을 써야 좋은 결과© CJ E&M
  24. 24. 아웃 소싱이은석, 마비노기 영웅전 포스트모템 2부, NDC2010
  25. 25. 아웃 소싱이은석, 마비노기 영웅전 포스트모템 2부, NDC2010게임 피처개발에 집중
  26. 26. 아웃 소싱이은석, 마비노기 영웅전 포스트모템 2부, NDC2010게임 피처개발에 집중가져올 수 있는비개발적 이득도가급적 모두 취함심지어 포트번호까지
  27. 27. P2P 네트워크“모든 종류의 공유기 테스트”와 같은 사례야말로경험을 돈으로 구매해야 하는 경우
  28. 28. 사용자 인터페이스스튜디오 내 다른 프로젝트에서 먼저 검증Source Engine의VGUI를 사용해서는얻을수 없는 시간대비 품질로 제작 가능해짐
  29. 29. 게임 메신저/패치 에이전트배포나 패치 방법에 대한 고민을 줄여줌
  30. 30. 공용 라이브러리신규 프로젝트들이 겪는공통적인 문제 및 해결책을 공유
  31. 31. 자잘한 빌드 최적화를 통해일반적인 경우 5분 이내에 빌드가 끝나도록리소스도 종속성 검사를 최대한 강하게지속적인 통합© http://xkcd.com
  32. 32. 빌드를 깨지 않도록 강력하게 압박© http://totheno1.egloos.com처음에는실행 가능한 상태로유지되지 않아빌드 넘버를 정해놓고공포 분위기 조성
  33. 33. 빌드를 깨지 않도록 강력하게 압박© http://totheno1.egloos.com처음에는실행 가능한 상태로유지되지 않아빌드 넘버를 정해놓고공포 분위기 조성조건 달성 시사비 털어서 파티실제로는매번 털렸음
  34. 34. 루프백 서버 사용 금지© http://www.thinkgeek.com/product/6806/
  35. 35. 루프백 서버 사용 금지이터레이션 속도를 떨어트릴 수 있지만내부 개발용 서버에서 통합되는 것을작업 기준으로 놓고 작업© http://www.thinkgeek.com/product/6806/
  36. 36. 루프백 서버 사용 금지이터레이션 속도를 떨어트릴 수 있지만내부 개발용 서버에서 통합되는 것을작업 기준으로 놓고 작업제 자리에서는 괜찮은데요?리파지터리에제출된 데이터는서버에 자동 적용© http://www.thinkgeek.com/product/6806/
  37. 37. © http://heroes.nexon.com/news/devstory.aspx?no=22&mode=view개발자의도전과제
  38. 38. © http://heroes.nexon.com/news/devstory.aspx?no=22&mode=view개발자의도전과제작업자에게고양감
  39. 39. © http://heroes.nexon.com/news/devstory.aspx?no=22&mode=view개발자의도전과제시장 진입기폭제작업자에게고양감시장에서생존하려면안 하는 것을해야 한다
  40. 40. 핵심 기능에만 집중노리진 않았지만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 ReservedThis presentation is not affiliated with, endorsed, sponsored, or specifically approved by Wizards of the Coast LLC.
  41. 41. 핵심 기능에만 집중노리진 않았지만라이브에서는기적이 일어난다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 ReservedThis presentation is not affiliated with, endorsed, sponsored, or specifically approved by Wizards of the Coast LLC.
  42. 42. 잘 안 된 점5가지© http://ramboruiz.com/what-happens-if-your-va-do-it-wrong/
  43. 43. 1년에한 번전력으로승부매 3개월의 전력질주© http://joynews.inews24.com/php/news_view.php?g_menu=702500&g_serial=598811© 전병헌 블로그
  44. 44. 허들=단거리 단기목표를 넘어야 다음 기회1년에한 번전력으로승부매 3개월의 전력질주© http://joynews.inews24.com/php/news_view.php?g_menu=702500&g_serial=598811© 전병헌 블로그
  45. 45. 허들=단거리 단기목표를 넘어야 다음 기회1년에한 번전력으로승부매 3개월의 전력질주© http://joynews.inews24.com/php/news_view.php?g_menu=702500&g_serial=598811© 전병헌 블로그Deadline Driven Development
  46. 46. 목조 건물을 의도하고 만들었으면 상관 없지만거푸집은?© http://www.scaffoldformwork.com© Peter Eckert
  47. 47. © http://michaelwoodside.blogspot.com/2011/03/animation-mentor-dump.html정말 필요할 때스태미너가바닥난다
  48. 48. © http://michaelwoodside.blogspot.com/2011/03/animation-mentor-dump.html정말 필요할 때스태미너가바닥난다photograph by 김동건1차 테스트 한 달여 전
  49. 49. 낙관적 예측© http://www.wallpaperdev.com/wallpaper/1600x1200/emotions-smile-hd-wallpapers-49479.html
  50. 50. 온라인 물리의 구현
  51. 51. 온라인 물리의 구현2000년에 구입한 Ipion기대했던 최신 물리 엔진 아님
  52. 52. .NET Framework & C#네이티브 코드에서 발생하는 관리 이슈는 사라졌지만매니지드 코드 특유의 문제를 다루기 위해 별도의 학습이 필요
  53. 53. 자이언트 서버하드웨어 발전 속도를 과신한 아키텍처부하가 집중됐을 때 사내의 구형 서버들을동원해서 스케일-아웃에 성공했지만평균 성능이 기대에 많이 못미침양승명, 마비노기 영웅전 자이언트 서버의 비밀, NDC11
  54. 54. 섀도우 채널P2P 오버레이 네트워크 위에서 채널을 구성자이언트 서버와 마찬가지로 단일 서버를 최대한 크게유지하기 위한 목적으로 고안됐지만,핸드오버 처리에서 난항을 겪었음
  55. 55. © http://tppnotforprofit.blogspot.com/2010/12/writing-effective-job-descriptions-and.html직무 분석
  56. 56. © http://tppnotforprofit.blogspot.com/2010/12/writing-effective-job-descriptions-and.html일정 산정의 근거직무 분석
  57. 57. © http://tppnotforprofit.blogspot.com/2010/12/writing-effective-job-descriptions-and.html업무 위임의 근거일정 산정의 근거직무 분석
  58. 58. © http://tppnotforprofit.blogspot.com/2010/12/writing-effective-job-descriptions-and.html신입 교육의 근거업무 분장의 근거업무 위임의 근거일정 산정의 근거직무 분석
  59. 59. © http://tppnotforprofit.blogspot.com/2010/12/writing-effective-job-descriptions-and.html신입 교육의 근거업무 분장의 근거업무 위임의 근거일정 산정의 근거직무 분석따라서만능형 인재가 필요
  60. 60. © http://uccommunity.org.au/isa/referral-process기준
  61. 61. 코딩 기준엔진 코드에 역사와 전통을 자랑하는다양한 코딩 기준이 이미 혼재Quake logo is a registered trademark of Id Software Inc.
  62. 62. 코딩 기준엔진 코드에 역사와 전통을 자랑하는다양한 코딩 기준이 이미 혼재C# 서버와 연결되는 부분은.NET 스타일로 작성된 C++Quake logo is a registered trademark of Id Software Inc.
  63. 63. 품질 기준문서 및 테스트 기준단언문을 깨는 결과물이마감 기간에 발생하면복구하기 어렵다코드 검토를 강제했으면 하는 아쉬움© http://insureblog.blogspot.com/2012/07/dominos-part-deux.html
  64. 64. 아웃 소싱의 한계© http://seekingalpha.com/article/453921-sirius-xm-there-s-no-such-thing-as-a-free-lunch
  65. 65. 소스코드 자체가 엔진엔진사업이 주력이 아님근래에는 게임 개발도
  66. 66. 공용 라이브러리
  67. 67. 공용 라이브러리C# 서버라 외부 라이브러리를(HackShield, ProudNet 등)바로 붙이기 번거로움
  68. 68. 공용 라이브러리C# 서버라 외부 라이브러리를(HackShield, ProudNet 등)바로 붙이기 번거로움라이브러리에 깔린 가정들이개별 프로젝트와 일치하지 않음파편화
  69. 69. 공용 라이브러리C# 서버라 외부 라이브러리를(HackShield, ProudNet 등)바로 붙이기 번거로움라이브러리에 깔린 가정들이개별 프로젝트와 일치하지 않음파편화.NET 경험이 불충분해서 생기는 문제
  70. 70. 공용 라이브러리담당자 퇴사C# 서버라 외부 라이브러리를(HackShield, ProudNet 등)바로 붙이기 번거로움라이브러리에 깔린 가정들이개별 프로젝트와 일치하지 않음파편화.NET 경험이 불충분해서 생기는 문제
  71. 71. 최초로 제공됐던.NET 라이브러리는프레임워크 디자인 가이드라인문서를 따르지 않음초기 버전에는 .NET라이브러리를 제공하지 않음
  72. 72. 사용자 인터페이스자유도가 지나치게 높음클라이언트에 부하를 심각하게 걸어시스템 재기동을 유발한 사례도 있음
  73. 73. 넥슨 플러그많은 기능이 카트라이더와 함께 만들어졌다분산 다운로드를 지원하지 않아 CDN 비용 감수차분 생성을 빠르게 하기 위해서는 많은 튜닝이 필요넥슨 정기 점검 시간에는 내부 개발 서버도 점검
  74. 74. 결론
  75. 75. 긴 개발 기간동안예상 밖의 문제는계속 발생한다
  76. 76. 불확실한 위험 예측보다이미 발생한 위기 응답으로생존하는 경험을 늘려갑시다제가 이걸 잘 했다는 것은 아니고EOF

×