(번역)게임 디자인 심화: 빅토리아3의 글로벌 경제 모델링

원문: https://www.gamedeveloper.com/design/deep-dive-modeling-the-global-economy-in-victoria-3

저는 스웨덴 스톡홀름에 있는 Paradox Development Studios의 <빅토리아3> 리드 디자이너 Mikael입니다. 대전략 게임인 빅토리아 시리즈는 1836년부터 1936년까지 1세기에 걸친 빅토리아 시대의 경제적, 정치적 격변을 통해 국가를 인도하는 게임입니다. Paradox가 만드는 모든 대전략 게임은 복잡한 게임 경제를 다루지만, <빅토리아3>에서는 실제 경제를 모델링 했고, 인구 구성, 정치 성향, 국제 관계를 포함한 그 밖의 모든 것이 그 영향을 받게 만들었습니다.

우리는 시리즈 속편을 만들기 시작하면서 경제 시스템을 확실한 장점으로 내세우려면, 현실 세계의 역사적 모델 만큼이나 현실적이면서 동시에 게임 메커닉으로서도 매력적으로 만들어야 한다는 것을 깨달았습니다. 우리 목표는 글로벌 경제의 모든 측면을 모델링하는 것이었습니다: 인프라와 관료 제도, 국제 무역과 관세, 임금과 세금, 그리고 무엇보다도, 700개 이상의 지리적 구역과 10만 명 이상의 인구 그룹으로 나뉜 전 세계 인구의 소비 수요였습니다.

<빅토리아3>의 프로토타이핑을 시작한 건 2편이 나온 지 6년이나 지난 후였기 때문에, 전작들에서 잘 동작한 것과 그렇지 않은 메커닉에 대한 파악이 잘 되어 있었고, 플레이어의 기대 때문에 같은 메커닉을 그대로 다시 써야 할 부담도 없었습니다. <빅토리아>의 새로운 10년을 위해 새롭게 재구성 된 공식을 찾아야 했고, 핵심 정의부터 시작해서 모든 것에 대해 다시 질문하고 새로 디자인할 백지 위임장을 받았다고 생각했습니다. 우리는 정치부터 무역, 군사까지 여러 버전을 만들었지만, 가장 근본적인 변화는 폐쇄 경제에서 개방 경제 모델로의 전환이었습니다.

이전 <빅토리아> 시리즈를 포함한 자원 생산 및 공급망 관리를 중심으로 하는 대부분의 게임에서, 생산 시설은 무에서 또는 노동력 만으로(자원 산업) 또는 노동에 한 두 가지 상품을 더해 건설됩니다(제조 산업).

이런 상품은 비축된 후 소비할 주체(agent)에게 분배 됩니다. 상품을 현재 필요로 하는 소비자에게 공급하는 능력은 경제 엔진을 구축하고 최적화하는데 얼마나 효과적인지를 나타내는 척도입니다. 이를 잘 알려진 수도꼭지-하수구로 비유하면, 자원 산업은 수도꼭지(tap, faucet), 제조 산업은 전환기(converter), 소비자는 하수구(sink, drain)라고 할 수 있습니다. 많은 경영 게임에서, 소비자의 수요가 발생한 바로 그 시기에 상품을 공급 받지 못하면 시스템 내 다른 곳에 페널티가 발생하기 때문에, 플레이어는 부족 상황이 발생하기 전에 먼저 최적화를 해야 하는 비효율의 악순환에 빠지게 됩니다.

전형적인 경영 게임(예: 식민지 건설 게임)에서 상품 기반 경제의 흐름

<빅토리아2>는 이런 식의 경영 게임들과 다르게 경제 주체가 자신이 전환하거나 소비할 자원을 얻기 위해 다른 주체와 거래를 합니다. 이는 수요와 공급 변동량에 따라 상품 가격을 결정하는 글로벌 시장 메커닉을 통해 이루어 집니다. 그 결과 의류의 공급이 부족해지면 소비자는 평소보다 더 많은 비용을 지불해야 하고 생산자는 의류를 판매하여 막대한 이익을 얻습니다.

글로벌 통화 공급은 한정적이며, 주로 금광으로 확장되고(수도꼭지) 주로 국채 이자 지불로 축소됩니다.(하수구) 이는 실제로 소비자가 옷을 구매할 수 있는지 여부를 두 가지 요소가 결정하는 것을 의미합니다. 국가 비축분의 보유 여부, 그리고 소비자의 구매 자금 보유 여부입니다. 소비자가 자금을 보유하고 있지 않다면, 수요를 만들지 않을 것이고, 그 결과 비축분으로 남은 옷은 가격 하락을 발생 시킵니다.

그렇게 가격이 소비자가 지불할 수 있을 정도로 낮아지면 수요는 복구 됩니다. 소비자가 공급 부족이나 자금 부족으로 원하는 상품을 얻지 못하면 능력과 수요가 줄어드는 하위 등급 소비자로 강등될 수 있습니다.

<빅토리아2>에서 통화 거래에 따른 경제 흐름

이 시스템은 완벽하게 폐쇄적이거나 순환적이지는 않지만 대부분의 게임 경제 모델보다는 훨씬 상세합니다. 수도꼭지는 실제 노동 전환 작업(상품)과 금광(화폐)로 한정되고, 하수구는 실제 소비 또는 비효율성이며, 반고정된 화폐 공급은 시스템 내 경제 주체들 사이를 순환하며 부의 분배를 보여줍니다.

그렇다면 왜 이 모델을 버렸을까요? 순환 경제를 시물레이션하는데는 3가지의 풀기 어려운 근본적인 디자인 문제가 있기 때문이었습니다.

  1. 분배 모델링
  2. 대체제 모델링
  3. 반복 시행에 의한 불균형

자원의 양이 충분하지 않을 때, 이 제한된 수량을 여러 수요 주체에 어떻게 배분할까요? 여러가지 해법이 있지만 대부분 플레이어 입장에서 상당한 마이크로매니징이 필요합니다.

공장 건설 게임에서는 일반적으로 플레이어가 직접 컨베이어 벨트를 만들고 연결하여 분배 메커니즘을 상세하게 조정해야 합니다. 보다 자동화된 게임에서는 보통 선착순으로 자원이 분배 되는데, 단 한 주체라도 자원을 기다리며 놀게 되면 병목이 발생하기 때문에, 플레이어는 반드시 입력과 출력을 정확하게 맞춰줘야 합니다. <빅토리아>의 경제 시스템은 첫 번째 접근법으로 가기에는 너무 방대했고, 완벽한 자급자족을 만들기 위해 생산 공정을 세부 조정하는 것 역시 우리가 플레이어의 시간을 쓰게 만들고 싶은 방식은 아니었습니다.

이 문제를 해결하기 위해 전임자 <빅토리아2>에서는 국내 시장에서 사용되지 않은 모든 상품이 모이는 글로벌 시장이라는 개념을 사용했습니다. 충족되지 못한 국내 수요는 글로벌 시장에서 상쇄될 수 있었습니다. 공급이 모든 소비자에게 돌아가기 부족하다면, 공급에 접근할 수 있는 순서는 각 국가의 명성에 따라 결정되었고, 따라서 명성이 더 높은 국가의 주체들은 다음 순번 국가가 살 기회를 얻기 전에 모든 상품을 구매해 버릴 수 있었습니다.

반대로 모든 국내 생산은 글로벌 시장과 거래가 발생하기 전 국내 수요를 충족시키는데 먼저 쓰였습니다. 이는 한 국가가 어느 상품을 독점 생산 하고 있다면, 이 상품은 글로벌 시장에서 거래될 수 없고 다른 국가들은 그 상품을 얻을 기회가 전혀 없는 상황을 만들었습니다. 보다 일반적인 상황은 명성이 높은 국가들 사이에서 상품의 수요가 높을 때, 명성이 낮은 국가들은 자국 내에서 생산하지 않는 한 그 상품을 얻을 방법이 없는 것이었습니다.

현실에서는 여기에서 가격 경쟁이 개입됩니다. 명성이 낮은 국가가 소량의 핵심 자원이 절실히 필요하고, 프리미엄을 지불할 의향이 있다면, 획득할 방법이 없지 않습니다. 하지만 이를 위해서는 서로 영향 받아 변화하는 공급, 수요, 가격 사이의 균형을 찾아야 하는 매우 까다로운 삼체 문제(three-body-type problem) 디자인을 풀어야 합니다.

그래서 우리는 가용 상품이 희망 소비자들의 지불 능력에 따라 분배되는, 그리고 가능한 플레이어 PC의 CPU를 녹이지 않는 시스템을 만들어야 했습니다. 우리는 또한 국가가 수입품보다 “국산품을 구매”하도록 강요하는 “완전히 공정한” 시스템을 만들어 무역 불균형 자체가 무마되어 버리는 방향도 원하지 않았습니다. 19세기 무역 정책은 때로 (몇 개만 예를 들어도) 곡물법에서 아편 전쟁에 이르기까지 심각한 정치적 외교적 반향을 일으켰으며, 무역을 모든 참여 주체에 객관적으로 유익하게 표현하는 것은 잘못된 묘사입니다. 플레이어의 무역 우선 순위는 자국의 인구와 산업의 각 분야 뿐 아니라 상대 국가의 인구와 산업에도 영향을 주어야 합니다.

<빅토리아3>에서 해결해야 했던 다른 문제는 대체제입니다. 2편에서는 지역의 자원 생산이 오로지 과일 만으로 구성되어 있으면 그 곳에 사는 주민들은 곡물이 부족해 굶어 죽을 수 있었습니다. 표면적으로 이 문제는 풀기 그리 어렵지 않습니다. 교환 가능한 상품 간의 교환비를 정하고 가용한 상품을 구매하게 하면 됩니다.

하지만 즉시 분배 모델링과 비슷한 문제에 빠지게 됩니다. 곡물이 부족하고 과일이 풍족하다면, 누가 어느 정도의 곡물을 얻게 해야 할까요? 곡물과 과일이 가격이 비슷하고, 각각 일정량이 필요하다면, 얼마나 구매해야 할까요? 모든 참여 주체가 같은 구매 패턴을 따른다면, 가격과 가용성 때문에 모든 사람이 하루는 곡물을 선호하고 다음 날은 과일을 선호하는 플립플롭 효과를 어떻게 방지할 수 있을까요? 우리는 <빅토리아3>에 음식에서 뿐만 아니라 전화가 업무나 친구나 가족과 만나기 위해 먼 거리를 이동해야 하는 필요를 줄여 결국 운송 수단을 대신하게 하는 것과 같은 탄탄한 대체제 시스템을 만들고자 했습니다.

마지막으로 반복 시행에 의한 불균형이란 순환 경제의 패턴이 시간이 지남에 따라 극단적인 결과를 초래하는 경향을 의미합니다. 매우 작은 잉여 또는 부족이 비축분에 계속해서 반영되면, 상식적이지 않고 게임 경제에 큰 문제를 야기할 수 있는 엄청난 불균형으로 이어지게 됩니다.

비상식적 배분 문제 같은 이런 기능 오류는 게임 붕괴로 이어질 수 있습니다. 예를 들어, 작고 가난한 나라가 주로 과일을 생산한다고 가정해 봅시다. 자체적으로 소비하는 것보다 훨씬 더 많은 것을 생산하여 결국 대부분을 글로벌 시장에 수출하여 현금 유입으로 이어집니다. 곡물을 과일로 대체할 수 없다면 지역 주민들은 곡물을 요구하지만 낮은 명성과 낮은 글로벌 공급으로 인해 수입이 되지 않을 것입니다. 그 국가가 그 현금을 글로벌 유통망으로 되돌려 놓지 못하면, 그 효과가 너무 작아서 단일 거래에서 알아차릴 수 없더라도, 수천 번 반복되면서, 글로벌 경제의 유동성을 빨아들이기 시작할 것입니다. 이는 결국 아주 약간의 플레이어 부주의나 조작 실수가 글로벌 경제의 붕괴로 이어질 수 있음을 의미합니다.

근본적인 경제 로직 문제이든 AI 행동 문제이든 이런 현상은 대부분 버그로 간주되기는 하지만 추적하기 어렵고 캠페인을 망가뜨릴 수 있습니다. 2편에서는 게임 종반부가 되면 이런 분배 문제, 하수구를 통해 나가는 돈과 수도꼭지를 통해 들어오는 금 사이의 불일치, 또는 작은 경제적 의존성이 수세기 동안 쌓이며 생기는 문제 등의 현상이 자주 발생했습니다. 누적되는 미미한 불균형에 대해 견고한 경제 구조 – 이것이 <빅토리아3>의 경제 모델을 고를 때 우리의 가장 큰 관심이었습니다. 10만 회 반복 후에야 확인 가능한 버그는 수정하는데 많은 시간이 걸리니까요.

우리의 해법은, 수도 꼭지에서 조금씩 하수구에서 꾸준히 배출하면서 내부 주체들 사이에서 통화를 순환시켜보는 대신, 수도꼭지를 최대 출력으로 틀어 순식간에 모든 자원이 넘치게 한 뒤, 그 수량을 기준으로 가격을 설정하고, 그 가격에 따라 모든 상품을 화폐로 전환하는 것이었습니다.

그런 다음 각 주체의 보유 재화를 기준으로 재고 가치를 플러스 또는 마이너스로 조정합니다. 재고 가치는 재화로, 좀 더 추상적으로는 1~99 사이의 “재력”으로 측정 될 수 있습니다. 그리고 나서 판을 싹 지우고, 수정된 재고 가치 외에 이전 시행의 모든 기록을 지우고 다시 시작합니다. 이 방식으로 모든 생산, 소비, 전환 주체들이 포함된 전 세계의 경제는 특정 “잠재력” 또는 “상태”를 갖는 것으로 볼 수 있고, 변화가 발생하면 그 주체의 경제적 지위를 수정하기만 하면 이를 통해 다른 모든 주체에 영향을 줄 수 있었습니다.

<빅토리아3>에서 독립 가치를 지닌 상품이 순환하는 경제 흐름
  1. 밀 농장은 도구를 소비하고 인구 노동력을 사용하여 곡물을 생산합니다.
  2. 국내 시장에 올라오는 도구 구매 주문과 곡물 판매 주문의 수는 농장이 위치한 지역의 인프라 등급에 따라 결정됩니다.
  3. 동시에 시장에 나온 곡물과 도구의 수량을 고려하지 않고, 식품 산업은 곡물을 식료품으로 바꾸고, 도구 제작 산업은 나무와 철을 도구로 전환하며 이 과정에서 인구 노동력을 사용합니다. 밀 농장과 마찬가지로 얼마나 많은 구매 판매 주문이 올라올지는 인프라가 결정합니다.
  4. 국내 산업의 생산과 소비량이 정해졌으므로, 인구는 재력 레벨, 문화, 지역 공급이 원활한 대체제를 고려해 일정 종류와 수량의 상품을 소비하는데, 이 역시 인프라를 고려하여 시장에 구매 주문으로 올라옵니다. 예를 들어 식품 산업이 곡물을 입력 받아 많은 식료품을 생산한 상태라면, 곡물 대신 식료품을 주문하여, 식품 산업의 수익성을 지키면서 동시에 밀 농장의 수익성도 지킬 수 있습니다.
  5. 이제 매수 및 매도 주문 측면에서 시장의 총 공급과 수요를 알게 되었으므로, 예비 시장 가격을 계산할 수 있습니다. 이 시장 가격은 국내 구매 및 판매 주문과 함께 전 세계적으로 확립된 모든 시장 간 무역 경로를 통해 이동할 상품 단위 수를 결정하는 데 사용되며, 이 역시 구매 및 판매 주문으로 생성됩니다. 이 과정에서 무역에 종사하는 인구의 이익이 발생하며, 여기서 각 무역 국가의 수출입 관세가 각 국가의 국고로 들어갑니다.
  6. 이제 최종 거래 후 시장 잔고를 알게 되었으므로 모든 상품의 시장 가격을 설정하고 국가 전체에서 생산되고 소비된 상품의 가격을 계산합니다. 이 역시 교통이 낙후된 국가는 지역 경제에서 생산한 상품에 더 의존하는 방식으로 인프라에 조정을 받습니다. 시장에서 상품을 구매하거나 판매한 모든 주체는 이제 그 가치를 플러스 또는 마이너스의 파운드로 전환하여 보유 자산 가치(산업의 경우 현금 보유고, 공공 건물의 경우 국고)에 반영합니다. 곡식을 많이 생산했다면 식품 산업에 좋고, 도구를 많이 생산했다면 밀 농장에 좋습니다. 곡물에 대한 수요가 높다면 밀 농장에는 좋지만 다른 대체제가 없다면 전체 인구에는 좋지 않습니다.
  7. 인구에 의해 수행된 모든 노동력은 직종과 수익성, 노동 수요, 현금 보유고에 따라 조정되는 임금 수준에 따라 산업(또는 공공 건물)으로부터 받는 임금으로 보상됩니다.
  8. 세금은 국가의 법에 따라, 예를 들면 소득세율, 국채 이자율, 상품 구매 이력, 직업 등등을 고려하여 차감됩니다. 이 금액은 국가의 국고에 반영되며 흑자(금 보유고) 또는 적자(국가의 현금 부족분에 대한 국내 채권 발행)로 이어질 수 있습니다.
  9. 국가의 인구 구성원은 이제 임금, 정부 지원, 세금, 상품 구매 이후 자신에게 얼마의 현금이 남았는지 (부족한지) 알게 되고, 재력을 이에 따라 조정하며, 다음 경제 틱에서는 약간 다른 상품으로 장바구니를 구성하고 행동에 변화를 보이게 됩니다.
  10. 이제 판을 모두 지우고, 각 건물, 국고, 인구에 저장된 파운드로 환산된 재력을 제외하고 모든 경제 데이터가 시스템에서 삭제됩니다.

각 주체는 생산과 소비에서 상품의 공급과 통화의 가용 여부를 고려하지 않으므로, 분배 문제를 겪지 않습니다. 두 시장 간의 거래에서도 시장의 공급량과 수요량을 계산해서 충분한 수의 구매 및 판매 주문을 적절한 가격에 각 시장에 올리기만 하면 됩니다.

상품의 수요와 공급은 가격 결정에서 매우 중요한 부분으로 인구 구성원 사이의 부의 분배와 시장 사이의 거래량을 결정합니다. 이는 매 틱 시장에서 팔리는 것보다 더 많은 제품을 구매할 수 있다는 것을 의미합니다. 실제 재고는 없으므로, 이는 추상화로 볼 수 있습니다. 우리는 제조에 사용되는 상품의 공급이 수요에 비해 매우 제한적인 경우를 고려해 산업의 잠재 산출량(또는 무기를 사용하는 군사력 또는 행정 건물의 행정력)을 제한하기도 하는데, 이는 예외적인 경우로, 대부분의 경우 공급 부족은 수익 감소를 의미하며, 급여 지불 능력의 제한과 실직 및 효율 저하로 이어집니다.

인구가 소모하는 상품에 대해 임금 인상 없이 수요 충족을 위해 과다하게 지출을 하는 것은 점차 부를 감소시키는 적자를 의미하며, 이는 상품에 대한 수요 감소로 이어집니다. (그리고 국민의 불만과 급진주의, 정치 제도 변화에 대한 요구, 범죄와 혼란, 그리고 이민으로 이어집니다)

대체제도 이 시스템으로 아주 쉽게 관리할 수 있는데, 상품의 생산/가용성이 수요와 독립적으로 계산될 수 있다면 이 가치를 바로 사용해 어느 상품이 어느 상품과 어떤 비율로 대체될 수 있는지 정할 수 있습니다. <빅토리아3>에서 우리는 이 모델을 과일과 곡식의 대체제에 적용하여 가난한 인구 구성원은 기본 욕구 충족을 위해 둘 중에서 자유롭게 대체제를 선택하는 반면, 보다 부유한 구성원은 둘 다 일정한 최소 수량을 필요로 합니다. 차와 커피에서도 영국인은 차를 요구하고 스웨덴인은 대부분 반대쪽의 검은 황금을 필요로 합니다. 주류가 부족한 시장에 풍족한 아편을 공급하면, 대다수 인구는 쉽게 구할 수 있는 중독 물질 쪽으로 돌아설 것입니다.

마지막으로, 이 모델을 사용하면 핵심 자원이나 유동성이 어떤 구석에 격리된 재고로 쌓여 경제 순환 시스템에서 자취를 감추는 현상을 두려워할 필요가 없습니다. 생산 수단 + 노동력은 상품 공급을 만들며, 수입을 창출하여 재료 상품과 급여를 지급할 수 있게 되고, 상품 수요를 만들고, 이에 따라 가격이 결정됩니다. 경제의 점진적 변화는 현금 보유고, 국고, 인구의 재력과 같은 가치 저장량에 주 단위로 반영됩니다.

이와 같이 동적 경제의 “스냅샷”을 찍을 수 있음으로서 얻을 수 있는 또 다른 주요한 이점은 변화가 발생하기 전에 영향을 예측하고 가격 변동의 결과를 즉시, 심지어 일시 정지 상태에서도 확인할 수 있다는 것입니다.

플레이어가 방직 공장을 하나 더 짓는다면 – 가격 결정 로직을 캡슐화 한 임시 오브젝트에 값을 더하는 것 만으로 – 늘어난 생산력과 상품 소비가 시장의 가격에, 그리고 곧 산업의 이윤에 어떤 영향을 미칠 지 예측하는 것이 가능합니다.

당연하지만 우리는 국가 인구의 재력 변화와 그에 따른 의류에 대한 수요 증가가 산업 수익에 미치는 영향이나, 인구가 갖춘 직업 요건과 새로운 일자리 창출로 유입되는 이민 인구에 따라 정해지는 방직 공장 근로자의 급여, 또는 섬유 및 염료의 거래량과 그에 따른 여러분 라이벌의 관세 수입 변화를 예측할 수는 없습니다. 하지만 이런 영향은 플레이어로서 여러분이 시간이 지나며 배워야 할 지식들인 반면, 새로운 공장을 짓는 것이 이득이 될 지 안될지는 돈과 시간을 들여 공장을 짓기 전에 당장 필요한 정보입니다.

그렇다고 해서 이 모델에 단점이 없는 것은 아닙니다. 시뮬레이션에 대한 경계선 장애적 집착을 가진 디자이너로서 저는 <빅토리아3>에 상품 비축이 없다는 것을 생각하면 마음이 아픕니다. (하지만 바로 이런 질문이 떠오릅니다. 재고 수명은? 계절 상품은? 상품 품질은? 재고 자산을 담보로 한 신용 거래는?)

또한 우리 모델은 수요가 지불 능력으로 바로 결정되지 않기 때문에 가격과 가치의 완전한 분리, 또는 그 측면에서 구매 가격과 판매 가격의 분리를 지원하지 않습니다 – 이는 엄청난 편법을 사용하지 않고서는 계획 경제에서 상품에 대한 고정 가격을 설정하는 것과 같은 기술이 불가능함을 의미합니다. 그럼에도 불구하고 이런 개방 경제가 제공하는 이점은 성능 한계에 도달하기 전에 모델링 해 볼 수 있는 복잡도 수준에서 단점을 쉽게 상쇄하며, 실질적으로 이런 추상화를 통해 플레이어가 직관적으로 이해하기도 더 쉬워집니다. 그래서 결국 중요한 것은 이겁니다. 경제적 상호작용을 이해 가능하고 플레이 해보고 싶게 만드는 방식으로 우리가 원하는 대로 모델링 할 수 있는가?

플레이어 관점에서 이런 시스템이 게임 내에서 어떻게 동작하는지 보다 실용적인 설명이 보고 싶으시다면 유튜브에서 빅토리아3 튜토리얼 시리즈나 Let’s Play 중 한 편을 보시길 추천합니다.

게임 자체는 스팀에서 찾을 수 있습니다. 읽어 주셔서 감사합니다!

Leave a comment