알라딘MGG와이드바


NDC 2010 김용하(넥슨) - 그럴듯한 랜덤 생성 컨텐츠 만들기 개발 이야기



김용하(넥슨) - 그럴듯한 랜덤 생성 컨텐츠 만들기 #

  • [http]김용하님은 면접볼 때 꼭 랜점 문제를 낸다고 하니 참고하시길
  • 랜덤 컨텐츠가 필요한 이유 : 컨텐츠 소모 속도가 너무 빠르다
  • Diablo 정도로만 만들 수 있어도 선방 : 랜덤 던전, 랜덤 몹, 랜덤 아이템
  • 창발성은 목표 아님, 10개 만들 노력으로 100개 처럼 보이는 게 목표
  • 랜덤 생성 예시 : 이름 생성기
  • variation 늘리려면 파트 재료를 늘리고, 파트 갯수를 늘린다
  • 하지만 파트를 너무 쪼개면 이상해진다
    • 파트 반복이 드러나고, 어색한 조합 생기고, 감흥이 없다(재미가 없음)
  • 그럴싸하게 보이기 -> 반복 숨기기
    • 파트 자료 늘리기 : 무식하지만 가장 확실하고 품질도 좋다
    • 반복 느끼기 힘들게 순서 조작
      • 동전 20 번 던질 때 14 번 정도 앞뒤가 바뀌어야 랜덤하다고 느낀다
      • 인지적 기억단위(working set) 7 개라고 가정하고, 이전 7 번 이내 나왔던 값은 filtering 하자
    • 비주얼에는 왕도가 있다
      • 전체 맥락 깨지지 않도록, 컬러 베리에이션, 데칼은 오프셋 변경
  • 어색한 조합 없애기
    • 완결성 있는 파트 사용
    • 조합 Rule 만들기(묵음 되에는 뭐가 나와야 한다) : 지속적 튜닝 필요
    • 기각 Rule 만들기(이상한 놈 배제)
  • "다양"함 만으로는 부족 -> "대박" 났다는 느낌을 줄 수 있어야 한다
  • 특별한 능력치, 더 이쁜 아이템(마비노기의 리블-리얼블랙, 리화-리얼화이트), 희소성 있는 아이템, 적당한 꽝!
    • 랜덤 조합 결과가 평등하면 안 된다
  • 확률 테이블을 정의
    • 모든 재료에 출현 확률 지정, filtering 에 따라 영향 받지 않도록 주의(전체 N 이 크면 괜찮다)
  • 실제 생성기 예 : 캐릭터 생성기
    • 파트 파라메타 : 캐릭터를 정의하는 다섯 성격 축(츤데레가 포함되어 있었음)
    • 각 축은 직교해야 한다
    • 각 파트별로 각 축에 대한 점수가 있다.
    • 이 파트 set 을 fuzzy 하게 추려내어 set 으로 조합한다
  • 랜덤 퀘스트 생성기
    • 문제점
      • 단계가 멀어질수록 인과관계가 없다. 맥락이 없음
      • 대사 넣기가 어렵다
  • 던전 생성기
    • 이런 저런 방법 설명 -> 손으로 만든만큼 이쁘지는 않더라, 역시 맥락이 없다.
  • 결과
    • 약간 실망스러움. 중간에 drop 된 프로젝트에서 주로 했기 때문에 제대로 평가를 못 받아본 것도 아쉽다.
    • 랜덤 생성기에 초반 개발 비용을 너무 많이 쓴 게 아닌가 하는 아쉬움도 있다.
  • 교훈
    • 역시 손으로 만든 게 짱
    • 하지만 랜덤도 꽤 쓸만하더라
    • 손으로 만들되 그 가치를 보존하면서 파츠 조합할 방법 고민 필요

핑백

덧글

  • jacking 2010/05/31 00:16 # 삭제 답글

    NDC에 못가본 사람들도 어떤 강연이 있었는지 알수 있듯이 잘 정리해 주셔서 고맙습니다.^^
    정리하는 것도 꽤 힘들텐데 수고많으셨습니다.
  • storm 2010/05/31 00:31 # 답글

    •Diablo 정도로만 만들 수 있어도 선방 !!!!
  • 박PD 2010/05/31 07:36 #

    물론 발표자가 Diablo 를 별거 아니라는 듯이 한 얘기는 아니었습니다.
    오래된 게임인데도 불구하고 지금 봐도 대단하다는 뜻이었지요 ㅎㅎ
  • storm 2010/06/01 16:09 #

    네 저도 그런 뜻으로 댓글 단거에요 ㅎㅎ
  • summerligh 2010/05/31 01:17 # 삭제 답글

    강연 정리 감사합니다.

    일전에 비슷한 일을 해본 경험으로, 랜덤 컨텐츠를 만드는데 있어서 컨텐츠들을 원자적으로 쪼개어 그럴듯하게 조합하는 방법도 중요하지만, 그러한 컨텐츠 성질(property)들의 집합인 피쳐셋을 어떻게 설계하는가도 무척 중요한 것 같습니다. 이 부분이 핵심적인 게임 디자인에도 반영이 되어야 한다고 보고요. 이 설계가 잘 이루어진다면 컨텐츠 생성 과정이 비교적 수월해지지 않을까 예상해봅니다.

    이를테면 디아블로는 개발자에 의한 정교한 아이템 설계를 포기한 대신 대단히 정교한 밸런싱이 필요하지 않도록 게임 플레이를 설계했죠. (물론 와우 같은 게임에 비해 상대적으로 덜 정교하다는 이야기지만요) 더 나아가 아이템 자체를 구하기 쉽게 만들어 반복적인 플레이를 통해 최고의 아이템을 구하는 것까지 게임 목적의 한 축으로 만들기도 했고요. 이런 점을 볼 때 디아블로에 비해 디자인 자체가 타이트해지는 MMO에서는 약간 다른 접근이 필요하지 않을까요.
  • 박PD 2010/05/31 07:39 #

    지형이나 아이템같이 context 가 필요없는 분야에서는 랜덤 컨텐츠 생성기가 괜찮을거 같습니다.
    하지만 퀘스트 같이 문맥이 필요한 곳에서는 부족해 보이더군요.
    토치라이트도 해 보시면 아시겠지만, 랜덤 생성 던전 역시 아무리 잘 만들어도 사람 손을 탄 던전과는 다른 느낌이 바로 들기도 하고요. 그래도 이런 새로운 시도를 해 본 다는 점에서 대단하다고 생각합나디.
  • 도달 2010/05/31 10:43 # 답글

    관심있으신 분들은 게임 개발 수학적 테크닉이라는 책을 보시면 좋을 듯 합니다. (우리나라에서는 절판 된듯하지만) 강연 정리 감사드립니다. 담번에는 꼭 갈 수 있으면 좋겠네요.
  • 박PD 2010/05/31 11:08 #

    좋은 책 추천 감사합니다. 어딘가 책꽂이에 꽂혀 있을 거 같은데 살펴봐야겠네요.
  • jazzcake 2010/05/31 10:50 # 답글

    랜덤 생성이라는 범주를 넘어 procedural generation 에 관련된 강의길 기대했는데 아직 틀에 갇혔나보네요.

    한국 게임 특성상 잘 쓰진 않지만 배경 쪽, 예를 들어 GTA의 도시나 레이싱 게임 등의 자연물에 대해서는 이미 많은 연구가 행해진 것으로 알고 있습니다. 도시배경은 미들웨어도 있는걸로 알고요. 비싼 컨텐츠인 만큼 대치되면 그 효과가 대단할 것 같습니다. 여력있는 회사들은 관련 시도를 하면 어떨까 싶네요.
  • 박PD 2010/05/31 11:08 #

    도시배경용 미들웨어도 있나요? 어떤 게 어디에 쓰였는지 궁금하네요. 좋은 정보 감사합니다.
  • Nara 2010/06/01 16:43 #

    city engine 이란거 있다능... 구글신에게 물어보삼.
  • 매운맛나리 2010/06/02 00:41 #

    언리얼 3에서는 시티엔진 맘에 안들어서 자체 개발한 -_- 절차적 건물 생성 기능이 들어있는 모양입니다.
    이런 잉여로운 양키들 같으니.
    http://udn.epicgames.com/Three/ProceduralBuildings.html
  • 박PD 2010/06/02 10:05 #

    Nara : 왠지 옛날 생각 나는 걸요 :)
    매운맛나리 : 멋지네요. 감사합니다.
  • ysoya 2010/06/03 08:51 # 삭제 답글

    관심 가져주셔서 감사합니다
    http://www.slideshare.net/ysoya/ss-4373449
    발표 자료 업했어요.
  • 박PD 2010/06/03 09:34 #

    오옷.. 많은 걸 배울 수 있는 강연이었습니다. 감사합니다.
댓글 입력 영역


Yes24위대한게임의탄생3

위대한 게임의 탄생 3
예스24 | 애드온2