ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Paper Tasting] RL로 게임 콘텐츠를 만들수 있을까
    Paper Tasting 2023. 11. 26. 23:00
    • Motive
      • 무한히 다양한 컨텐츠를 자동으로 만드는 것은 게임을 만드는 사람의 영원한 꿈과도 같다. 사실 Rogue를 시작으로 문명 시리즈에 이르기까지 "랜덤"과 약간의 규칙을 기반으로 한 랜덤 컨텐츠 생성 방식이 있어 왔지만, 컨텐츠의 난이도나 속성은 휴리스틱하게 제어할 수 밖에 없었다. 강화학습을 이용하여 기획의도를 충족하는 다양한 컨텐츠를 무한히 만들 수 있는 방법은 없을까?
    • Paper Title: [2021] Learning Controllable Content Generators
    • Arxiv Address: https://arxiv.org/abs/2105.02993
    • 주요 내용 및 평가
      • 만약 당신이 강화학습을 이용하여 게임 Contents를 생성하는 일에 관심이 있다면, 이 논문은 필수적으로 읽어봐야 논문이라고 생각한다. 이 논문이 제안하는 방법이 완전해서가 아니라 RL로 콘텐츠를 기획 의도에 맞게 생성한다는 것이 호락호락한 일이 아니라는 것을 이 논문으로부터 배울 수 있기 때문이다.
      • 이 논문이 실험적으로 생성한 콘텐츠는 미로 생성, 캐릭터/적/보상의 배치와 같은 map 생성 및 배치 문제이다. 따라서 현대의 게임처럼 복잡도 높은 게임에 적용하기에는 무리는 있다. 이정도 수준의 문제도 그럴싸하게 콘텐츠를 생성하는 것이 쉽지 않다는 것, 그리고 이만큼이라도 하기 위해서도 학습 기교가 필요하다는 것을 배울 수 있을 것이다.
      • Controllable Content Generator를 학습하기 위해 제안 논문에서는 맵의 특성과 같은 Level feature를 policy에 입력으로 주도록 제안한다. 그리고 Level feature가 지시하는 목표에 근접한 Contents를 만들 때 generator policy에 보상이 주어지도록 설계한다. Level feature는 episode 마다 radnom하게 주는데, 학습 효율을 위해 Learning Progress에 따른 Sampling을 수행한다.
      • Controllable Content Generator 학습은 RL이 활용될 수 있는 가치있는 application이지만, 난이도나 계산량 측면에 있어 player agent보다 훨씬 큰 학습 비용이 든다. Controllable Content Genrator를 만들고자 한다면 이런 이슈를 신중하게 검토해 봐야 할 것이다.
    • 기타 참고 사항
      • 컨텐츠 생성시 다양성을 강화하기 위해 random initialization, 생성 step수(episode길이) 제한을 적용하였다. naive하게 생성하면 optimal contents가 비슷하므로 매번 비슷한 contents만 생성한다.
      • 제안된 level 생성 방식은 agent가 블럭을 하나 하나 놓는 방식으로 생성하므로 사람과의 협업도 가능하다. 개발자의 개입도 가능할 뿐 아니라 플레이어와의 공동작업을 컨텐츠로 승화 시킬 수도 있을 것이다.
      • Level feature는 다음과 같은 feature 들이 가능하다
        • 미로: 골과의 경로 길이, 분리된 영역 개수
        • 젤다: 가장 가까운 적과의 거리, 클리어에 필요한 이동 거리
        • Sokoban: 상자의 개수, 클리어에 필요한 이동 거리
        • 롤로코스터 타이쿤: 손님의 행복도
        • 심시티: 인구수
      • 요구 조건에 따라 다양성에 한계가 있는 경우도 있다. 예를 들어 한정된 크기의 맵에서 매우 긴 경로의 미로를 만들고자 하면 생성되는 미로 모양의 자유도가 크게 제한될 것이다.
      • 컨텐츠 생성은 그 자체도 게임 제작에 도움이 되지만, Play Agent의 커리큘럼 제공 수단으로써도 활용될 수 있다.
Designed by Tistory.