Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×

NDC 2011 영웅전 런칭팀 박영준

Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio

Eche un vistazo a continuación

1 de 87 Anuncio

Más Contenido Relacionado

Presentaciones para usted (20)

A los espectadores también les gustó (20)

Anuncio

Similares a NDC 2011 영웅전 런칭팀 박영준 (20)

Más reciente (20)

Anuncio

NDC 2011 영웅전 런칭팀 박영준

  1. 1. NDC 2011<br />마비노기 영웅전 액션 시스템<br />기민하고 다채로운 .액션 프로토타이핑 비결 .<br />영웅전 런칭팀<br />박영준 선임연구원<br />
  2. 2. 목차<br />제 소개<br />화두<br />개발자에게도구를<br />멍석깔기 - 액션스테이트, 자동빌드, 리로딩 시스템<br />춤사위 - 절차적 기술, 카록 힘겨루기의 비밀, 물리, 카메라 시스템<br />유저에게도구를<br />창발적재미요소 – 마나엠버, 중력역전, 프랍골렘의 비밀<br />독특한게임요소<br />정리<br />
  3. 3. 제 소개<br />박영준 선임 연구원 (gp2k@nexon.co.kr)<br />2006년 Tri-D<br />모바일 게임<br />2006년 넥슨, 영웅전 프로젝트<br />피오나, 리시타초기 액션 제작<br />카메라 시스템<br />액션 시스템 제작<br />이비<br />사이드 이비<br />변신 1차<br />카록<br />스태프 이비 개편<br />캐릭터 전문 개발자?<br />
  4. 4. 소개<br />요것 들을 어떻게 만들었나비밀얘기를 해드리겠습니다.<br />잠시 후에 만나뵈요~<br />
  5. 5. Coming Soon…<br />
  6. 6. 개발자에게 도구를<br />I. 멍석 깔기<br />기민하게!!!<br />
  7. 7. 화두?<br />멋지고 근사한 게임 만들기!?<br />다양하고 화려한 액션<br />타격감 차별화<br />다른 게임에서 없던 새로움을 창조하기<br />1.<br />2.<br />
  8. 8. 액션 게임 하면<br />화려하고, 다양한 액션즐길거리<br />타격감<br />그 중 액션 다양화가 기본이자 큰 관건<br />
  9. 9. 나는 병목이다<br />모든 공정이 프로그래머로…<br />흔한 실수…<br />문제가 뭐냐?<br />모션<br />병목 프로그래머<br />이펙트<br />사운드<br />밸런싱<br />스토리<br />
  10. 10. 파생되는 문제점<br />환…<br />나는 그냥 모션이 잘 붙나 안 어색한가 한번만 보면 되는데…<br />소리타이밍이 맞나 <br />크기는 적당한가 확인 하고파…<br />애니메이터<br />사운드 담당<br />최신의 데이터로 지속, 반복적으로 <br />밸런싱테스트를 좀 해야하는데…<br />악순환<br />기획자<br />병목 프로그래머<br />……<br />난 지금 디버깅 중이라 님들 못 도와줌.<br />No, I will not fix your …….<br />창의력을 쏟을 여력이 없다.<br />
  11. 11. 해결책<br />데이터 드리븐액션 스테이트 시스템<br />빌드 자동화 독립적인 빌드 머신<br />항상 최신의 실행 가능한 빌드 버전을 확보하자.<br />실시간 리로드<br />모션 하나 바꿨다고 재시작하면…<br />인생은 값지게, 코스트는 값싸게!<br />멍석 깔기…<br />잉여력을 보다 창의적인 곳에 투자<br />
  12. 12. 개발자에게 도구를<br />I. 멍석 깔기<br /> 액션 스테이트<br />빌드 머신<br /> 실시간 리로드<br />
  13. 13. 개발자에게 도구를 I. 멍석 깔기<br />1. 액션 스테이트<br />
  14. 14. 혹시 이러지 않나요?<br />숲을 보지 못한 채 나무만 만드는?<br />하루 종일 엑셀 보면서 데이터만 넣고 있나요?<br />작업 물이 게임에서 보일 날 만을 손꼽아…?<br />디자이너가 리소스 붙여 달라고 자꾸 조르나요?<br />모션 하나 늘어나는 게 부담스러우세요?<br />이런 분들은 주목!<br />
  15. 15. 액션 스테이트란?<br />본격 데이터 드리븐 모션 컨트롤링 시스템<br />스테이트 머신(FSM) 기반 <br />영웅전 액션의 기민한 프로토타이핑 초석<br />A 상태<br />특정 조건<br />B 상태<br />…<br />…<br />
  16. 16. 뭐가 필요할까요?<br />기본적인 요구조건은 간단<br />액션 게임이니만큼…<br />키 조작으로액션을 컨트롤 할 수 있으면 장땡<br />+α<br />자체적으로 기본적인 밸런싱을 할 수 있으면<br />각 파트에서 독립적으로 프로토타이핑 가능하게<br />
  17. 17. 이게 되면 이런게 좋습니다<br />누구에게나 게임 만드는 재미를<br />게임의 재미는?<br />조립!<br />숫자만 집어넣고,<br />툴만 보다 보면 의욕이 떨어짐<br />시너지<br />하나씩 조립해 가면서 내 작업물의<br />결과를 보는 것!<br />직접눈으로 봐야 시너지<br />직접 봐야<br />신나지<br />시너지!<br />
  18. 18. 액션 스테이트의 구성<br />숲<br />액션 스테이트 시스템<br />나무<br />액션 스테이트 스크립트 시스템<br />애니메이션 이벤트 시스템<br />수식 구문 시스템<br />
  19. 19. 숲?<br />액션 스테이트 시스템<br />애니메이션 이벤트 시스템<br />이펙트<br />…<br />공격판정on/off<br />유저 입력<br />모션 출력<br />액션 스테이트 스크립트 시스템<br />내,외부적 상태<br />수식구문 시스템<br />공격 대미지<br />…<br />각종 타이밍<br />
  20. 20. 어떻게 쓰나?<br />논리적인 단계로 작성<br />자세한 구현은 몰라도<br />유저의 어떤 입력에<br />어떻게 반응할 것인가를 논리적 단계로 작성<br />
  21. 21. 우리는 이렇게 써요…<br />4타 스매시<br />싸우전드니들 액션 구성<br />찌르기 시작 모션<br />오른쪽 찌르기<br />왼쪽 찌르기<br />왼쪽 마무리 모션<br />오른쪽 마무리 모션<br />기본 자세<br />
  22. 22. 우리는 이렇게 써요…<br />실제 액션 스테이트 구조 (뷰어 화면…)<br />
  23. 23. 나무?<br />애니메이션 이벤트 시스템<br />수식 구문 시스템<br />시작<br />사운드 출력<br />공격 시작<br />공격 끝<br />이펙트 출력<br />공격판정 타이밍 계산<br />공격 대미지 계산<br />
  24. 24. 실제 작업 환경<br />
  25. 25. 꿈같은…비하인드 스토리…<br />2008년 12월 기존의 액션 시스템 갈아 엎어서 시작!<br />얼마전G-Star 나갔었는데 새로 게임 만드는 느낌…<br />BUT…… 2009년 3월 20일 CBT!<br />피말리는마이그레이션<br />여태껏 잘 되던 게임이 지금엔 되는게 없다!<br />액션 시스템 갈아엎고 1개월 간 모션 복구, 3개월 뒤 출시<br />늦었다고 생각할 때가 이른 것!<br />이거 없었으면…<br />……<br />용사님…<br />
  26. 26. 개발자에게 도구를I. 멍석 깔기<br />2. 또 다른 도구, 자동 빌드<br />개발자의 또 다른 강력 도구<br />
  27. 27. 자동 빌드 시스템의 구성원<br />소스 컨트롤<br />Alienbrain<br />자동 빌드시스템<br />Cruise Control .Net<br />- 정기 빌드<br />- 파일 변화 감지  자동 빌드<br />빌드스크립트<br />Nant<br />
  28. 28. 빌드머신이 하는 일<br />클라이언트 풀 리빌드7분<br />컴파일타임 최적화<br />멀티 프로세스 컴파일 (VS2008)<br />그래픽 리소스 빌드– 모델링, 애니메이션 1~2분<br />데이터 빌드– 기획데이터, NPC 대사1분<br />
  29. 29. 좋은 점<br />항상 최신의 실행 가능한빌드 버전<br />특정 일자에 빌드된빌드 버전도 받을 수 있음<br />작업자가 작업물을 올리면 빌드가 되므로<br />버그 추적에 굿!<br />언제나 실행 가능!<br />단순 조립에 따로 시간을 들일 필요가 없음<br />약 10분만에 뚝딱!<br />
  30. 30. 나쁜 점<br />빌드 복구하는 시간..OTL…<br />빌드 복구하는 시간..OTL…<br />빌드 복구하는 시간..OTL…<br />빌드 복구하는 시간..OTL…<br />빌드 복구하는 시간..OTL…<br />빌드 복구하는 시간..OTL…<br />빌드 복구하는 시간..OTL……<br />
  31. 31. 개발자에게 도구를I. 멍석 깔기<br />3. 리로딩 시스템<br />
  32. 32. 리로딩…<br />설계 초반부터 리로딩 가능한 구조로 작업<br />개발 콘솔이 있다면 간단히 콘솔 명령어로…<br />솔직히 안 쉽습니다……<br />안 쉽죠잉~<br />
  33. 33. 그리하여…<br />요새는 스킬이나모션 만들 때 프로그래머가 관여 안 해요 <br /><ul><li>컨텐츠?
  34. 34. 그럼 뭐 하냐?
  35. 35. 프로그래머 입장에서 보다 창의적이고 기술 지향적인 </li></ul>도전을 수행할 시간이 생김<br /><ul><li>미래의 시간을 Save</li></ul>중력역전, 프랍골렘, 힘 겨루기, 단데기, …<br />이런 것들이 요래서 탄생할 수 있었습니다.<br />
  36. 36. 개발자에게 도구를<br />II. 춤사위<br />이제 멍석을 깔았으니까<br />그 위에서 마음껏 놀아보자~~~<br /> 절차적 애니메이션 기법<br /> 물리를 게임에 녹이기<br /> 똑똑한 카메라<br />
  37. 37. 개발자에게 도구를II. 춤사위<br />1. 절차적 애니메이션기법<br />IK 블렌딩 등 절차적 애니메이션 기법을<br /> 활용하여 작업의 노고를 덜어줌<br />
  38. 38. 절차적 애니메이션 기법?<br />최종 단계의 모션을 제작 X<br />각 단계별 모션재료를 모아<br />합성하여<br />최종 모션을 자동 생성하는 것.<br />인생은 값지게, 코스트는 값싸게<br />
  39. 39. 개발자에게 도구를II. 춤사위  1. 절차적 애니메이션기법<br />시퀀스 트랜지션<br />모션 A<br />모션 B<br />트랜지션 구간<br />비교적 간단하나 효과 큰 것 중 하나<br />없으면 아쉬움<br />애니메이터가 각 모션들의 이음매를 덜 고심 <br /> 보다 창의적이고 퀄리티 높은 액션 연출 가능<br />
  40. 40. 어떻게 하는 건데?<br />간단합니다<br />트랜지션 하려는 n (n >=2) 개의 모션을 큐잉<br />모든본에 대해 다음을 계산<br />Lerp(Q1, Q2, ratio)<br />모션 A<br />모션 B<br />Q2<br />Q1<br />
  41. 41. 개발자에게 도구를II. 춤사위  1. 절차적 애니메이션기법<br />Hand IK<br />손잡기…<br />
  42. 42. Hand IK가 뭐하는 건데?<br />Inverse Kinematics ( 역 운동학)<br />말단 관절(손, 발)로 특정 위치로 이동하게<br />중간 관절은 자동으로 계산되어 움직임<br />소위 손 갖다 대기<br />
  43. 43. 더 필요한 것<br />손이 못 박힌 것 처럼 움직임<br />손을 꽉 잡게 하고 싶다.<br />
  44. 44. IK 한 위치에서 BoneMerge Blending<br />다음 보간시에 위치 재조정<br />…<br />IK + Bone Merge<br />Bone Merge Blending<br />IK Blending<br />
  45. 45. Hand IK 결과1<br />단방향IK<br />
  46. 46. Hand IK 결과 2<br />쌍방향 IK<br />
  47. 47. 그래서 탄생!<br />카록 힘 겨루기의 탄생 비화!!!<br />
  48. 48. 카록!?<br />신 캐릭<br />온 몸이 무기 얼굴도….<br />핸드 액션특화!<br />손으로 잡고 때리고<br />칼 보다 정교해야<br />칼은 스치면 맞는가… 싶겠지만 <br />손은 잡아야 된다.<br />물리적움직임이 극대화  우리의 강점<br />
  49. 49. 필요한건 뭐?<br />정교한 손 액션!<br />
  50. 50. 본격! 절차적 모션 블렌딩<br />이것이 플레이의 핵심 기술!<br />
  51. 51. 절차적 모션 블렌딩<br />모션의 재료들을 만든 다음<br />그 재료를 적절히 합성<br />최종 모션을 자동 생성<br />
  52. 52. 왜 모션 블렌딩?<br />작업 시간 단축?  작업을 가능케!<br />다양한 환경, 다양한 몬스터에상호작용<br />모든모션 만들기 비쌈!<br />보다 정밀한 모션 연출<br />몬스터사이즈가 달라질 수도 있고…<br />물체가 움직일 수도 있고…<br />이걸 다 모션으로 만들 순 없다.<br />
  53. 53. Hand IK + 모션 블렌딩<br />카록 힘 겨루기!<br />
  54. 54. Hand IK + 모션 블렌딩<br />자매품~<br />
  55. 55. 개발자에게 도구를II. 춤사위<br />2. 물리를 게임에 녹이기<br />우리의 손에 물리 엔진이 있다.<br />어떻게 물리를 게임에 녹일까?<br />
  56. 56. 기본적인 접근<br />모든 엔티티가 물리 인스턴스를 가짐<br />모든 엔티티간의 물리 상호 작용이 가능<br />창발적인 요소를 섞어라.<br />물리 기반 플레이의 다양성<br />공은 어디로 튈지 모르기에 재미있다.<br />그냥 가지고 노는것만으로도 재미가 있게<br />
  57. 57. 모든 것이 물리?<br />모든 물체는 물리적 상호 작용을 할 수 있다<br />기술 실험<br />훗날,갈고리 사슬 액션의 모토가 되었다<br />
  58. 58. 물리로 놀거리<br />창발적인 요소를 섞어라<br />그냥 가지고 노는것만으로도 재미가 있게<br />다른 파티원을 기다릴 때의 지루함을<br />물리적 놀거리로 승화<br />
  59. 59. 3. 카메라 기법<br />개발자에게 도구를II. 춤사위<br />
  60. 60. 카메라 시도1<br />맵에 박힌 카메라 – G모 게임처럼…<br />너무손이많이갔다<br />맵재활용면이나물리적액션을다양화시키는면등에무리가있음<br />
  61. 61. 카메라 시도2<br />키보드 입력 방식 카메라<br />전투중에카메라 변경키 조작이 어렵다<br />충돌 문제<br />
  62. 62. 카메라 시도3<br />맵만 만들어 놓으면 카메라 워크는 신경 안 써도 되게.<br />착안! – S모 사의 L모게임<br />변형되는 원형체의 COM*을 따라서 카메라를 움직이면!?<br />맵이 어떻게 생겼든 부드러운 이동 가능?<br />*COM : 질량 중심(Center Of Mass)<br />
  63. 63. 오호! 좋은데?<br />인생이 값지나?<br />근데.. 사람들이 마우스 모드를 더 좋아해서...<br />
  64. 64. 이젠 그랬으면 좋겠네…<br />프로그래머<br />잡무에서 해방<br />가끔 빌드 머신 애먹임…OTL…<br />모델러<br />항상 리테일퀄리티의 게임 화면에서 자신의 모델을 감상 가능<br />애니메이터<br />모션 바로바로 볼 수 있음<br />모션 이음매 노이로제에서 해방  독창적인 액션 구상에 시간을 더 씀<br />월드 모델러<br />카메라 안 박아도 되니 살 것같다<br />하지만 예외 처리가… OTL…<br />기획자<br />기획 데이터를 바로 바로 테스트해 볼 수 있네<br />값진 인생 살 맛 나는 세상~<br />
  65. 65. 유저에게 도구를<br />창발적 재미 더하기<br /> 독특한 게임 요소<br />다채롭게!!!<br />
  66. 66. 유저에게 도구를<br />1. 창발적 재미 더하기<br />맵을200% 활용하기<br />
  67. 67. 중력역전<br />맵에 물리 프랍이 많다. 띄워 올리자!<br />유저에게 도구를 1. 창발적 재미 더하기<br />
  68. 68. 실제보다 더 리얼하게!<br />맵에 있는 물리 프랍을200% 활용!<br />실제 물리식에 근간한 움직임이 오히려 리얼해보이지 않는다.<br /><ul><li>헐리웃 물리가 필요
  69. 69. 몬스터랙돌화
  70. 70. 프랍이 떴을 때 자전을 해야 더욱 리얼
  71. 71. 거리에 따른 높이 변화</li></ul>높이<br />진원지에서의 거리<br />
  72. 72. 더 높이 더 리얼하게<br />
  73. 73. 프랍골렘<br />블랙홀 같은 느낌으로 맵에 있는 프랍을 흡입<br />물리 프랍을 보다 적극적으로 공격에 활용<br />유저에게 도구를 1. 창발적 재미 더하기<br />
  74. 74. 마나앰버<br />플레이어의 움직임 역시 물리적으로 해보자<br />유저에게 도구를 1. 창발적 재미 더하기<br />
  75. 75. 재미난 시도<br />마나앰버의모양에 따라 다른 물리 특성<br />
  76. 76. 유저에게 도구를<br />2. 독특한 게임 요소<br />지금껏 보지 못했던 것을 보여주자<br />
  77. 77. 그래플링<br />유저에게 도구를 2. 독특한 게임 요소<br />
  78. 78. 필요한거?<br />프레임 동기화 기술<br />손 발이 딱딱 맞는 찰진 그래플링 모션 연출<br />그래플링 모션 싱크<br />렉방에서도거뜬해야<br />
  79. 79. 완벽히 싱크 맞춤<br />
  80. 80. 무기 던지기<br />유저에게 도구를 2. 독특한 게임 요소<br />
  81. 81. 뭐하는거?<br />무기를 물리 오브젝트로 활용<br />집어 던져서 공격이 가능함<br />다시 가서 집어 들 수 있음<br />무기 전환<br />기둥 vs맨손 전환 (강하고 느림 vs빠르고 약함)<br />액션 타입을 전략적으로 선택 가능<br />
  82. 82. 무기 던지기 플레이<br />
  83. 83. 리프트<br />맵에 보이는 건 다 물리 프랍<br />들고 휘두르고 던지게 하자<br />크기, 종류에 따라 다른 모션, 다른 공격 패턴<br />유저에게 도구를 2. 독특한 게임 요소<br />
  84. 84. 유저에게 도구를 2. 독특한 게임 요소<br />보스 피니시스샷 카메라 AI<br />보스 피니시 순간정지하여<br />자동으로 간지나는 스샷을 마구 방출한다.<br />카메라의 위치, 각도는 모두 AI가 계산<br />팀 내 사진 전문가의 조언을…<br />T<br />
  85. 85. 보스 피니시스샷 카메라 AI<br />보스 피니시 순간 정지하여<br />간지나는 스샷을 마구 방출한다.<br />카메라의 위치, 각도는 팀 내 사진 전문가의 조언을…<br />
  86. 86. 물리기반 리액션<br />죽을 때 프랍으로 분해되는 몬스터<br />유저에게 도구를 2. 독특한 게임 요소<br />
  87. 87. 버그 지론?<br />뻔 히 보이는 것도 만들고 보면 버그가 생긴다<br />자라보고 놀란 가슴 솥뚜껑 보다 놀란다지만<br />버그 때문에 새로움에 시도를 못하랴?<br />버그는 또 다른 창의적 플레이의 요소<br />물론 버그 잡는 일은 참 힘들고 고된 의무<br />하이 리스크 하이 리턴<br />
  88. 88. 정리<br />기민하게<br />개발자에게 도구를 <br />멍석깔고- 액션 시스템<br />춤추고 - 절차적 기법, 물리<br />다채롭게<br />유저에게 도구를<br />창발적 재미 더하기<br />독특한 재미요소<br />보다 창의적인데 에너지 집중<br />
  89. 89. 게임 개발은 발상과 실현을 한곳에서 이루는 최고로 창의적인 행위입니다.<br />지속적으로 창의력을 키우시고<br />창의력을 키울 수 있는 여건을 스스로 개척해 보세요.<br />명심하세요<br />인생은 값지게, 코스트는 값싸게<br />
  90. 90. 감사합니다.<br />
  91. 91. Q&A<br />영웅전 관련 세션<br />5월 30일 월요일<br />5월 31일 화요일<br />6월 1일 수요일<br />6월 3일 금요일<br />
  92. 92. Reference<br />자동 빌드 관련<br />http://www.alienbrain.com/<br />http://nant.sourceforge.net/<br />http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET<br />이미지 출처<br />http://www.flickr.com/photos/codepo8/2051716273/<br />http://www.flickr.com/photos/andrewmaciejewski/3627890636/<br />http://www.flickr.com/photos/striatic/20181712/<br />http://www.flickr.com/photos/25559122@N06/4494862270/<br />http://www.flickr.com/photos/traitlinburke/3728905329/<br />http://www.flickr.com/photos/clearlyambiguous/165316414/<br />http://www.flickr.com/photos/cheekyneedle/201733816/<br />http://www.flickr.com/photos/joost-ijmuiden/3613829273/<br />http://www.flickr.com/photos/munaz/2483674584/<br />http://www.flickr.com/photos/nicmcphee/276227701/<br />http://www.flickr.com/photos/68489630@N00/99797066/<br />

×