GDC 유럽에서 연설한 위쳐 3의 선임 게임플레이 디자이너 매튜 스타인케는 출시 몇 달 전까지 게임의 핵심 시스템 중 하나가 거의 존재하지 않았다고 밝혔다. 경제, 제작, 인벤토리는 '파편화되고 불완전'하여 '마감 기한까지 모든 것을 완성할 시간이 프로젝트에 남아 있지 않을' 지경이었다.

스타인케는 '소비의 순환' 상태 다이어그램에서 출발했다. 전리품이 더 좋은 장비에 자금을 대고, 더 좋은 장비가 더 어려운 전투와 더 많은 전리품을 열어준다. 약초, 잡동사니, 책의 가격을 손으로 추측하는 방식은 금방 실패했기에, 그는 각 아이템의 전투 속성을 점수화하여 전체 등급으로 산출하는 공식을 만들고, 아이템을 아홉 개의 일반화된 범주로 조직한 뒤, 다항식 최소제곱법을 사용하여 각 범주의 품질 대비 가격 진행을 도표화했다.

첫 곡선들은 게임의 현실적인 분위기에 맞지 않았다. 낮은 쪽에서 작은 품질 향상이 가격을 급등시켰다. 그는 곡선을 다시 조정하여 엔드게임까지 천천히 성장하도록 했고, 그래서 최종 유물 검은 진짜 재산처럼 느껴졌다. 그다음 실용적인 묘수가 나왔다. 계수를 미리 계산하여 표에 저장함으로써 가격을 런타임에 절차적으로 생성할 수 있었다. 곡선에 정확히 맞는 무한한 점들의 집합이었고, 하드코딩된 값이 제거되었으며, 한 부류의 버그 전체가 없어졌다.

각 아이템 범주의 가격 진행을 다항식 최소제곱법으로 도표화한 뒤, 계수를 표에 저장하여 런타임에 가격이 스스로 생성되게 했다.

거대한 오픈 월드 전반의 수천 개 아이템 가격을 손으로 책정할 시간이 남아 있지 않았다.

추측한 가격은 아이템 범주 간에 일관성 없는 관계를 만들어냈다.

곡선은 디자인 의도를 직접 표현했다. 초반의 희소성, 후반의 부유함.

런타임 생성 덕분에 새 아이템이나 모드 아이템이 일관되게 가격이 책정되었다.

시스템을 제때 손으로 조정할 수 없을 때는, 그것을 곡선으로 모델링하고 계수를 출시하라. 수학이 무한한 콘텐츠를 생성하고 버그를 일으키는 하드코딩된 값을 삭제한다.

위쳐 3는 2015년 5월에 출시되었으며, 곡선 기반 경제가 제작, 인벤토리, 전리품 시스템을 하나로 묶었고, 스타인케의 GDC 유럽 연설은 마감 압박의 공포가 어떻게 이 방법을 낳았는지에 대한 공개적인 기록이 되었다.

근거 확인하기

출처

  1. How The Witcher 3's economy was saved by polynomial least squares Ars Technica · arstechnica.com ·