안녕하세요! 저는 빅토리아 3의 시스템 설계자 중 한 명인 Alex이며, 1.6 이주에서 어떤 변화를 계획하고 있는지 말씀드리고자 이 자리에 섰습니다. 또한 징병된 자발적으로 지원한 프로그래머 중 한 명인 Konrad가 코드 지뢰밭에서 내려와, 현재 진행 중인 작업에 대한 핵심적인 세부 사항을 알려드리고자 합니다.


변화의 목표


먼저 이번 변경의 목표가 무엇인지, 그리고 (중요하게도) 무엇이 아닌지 명확히 하고 싶습니다. 군대 개편과 달리 이번 개편의 목표는 이주를 둘러싼 게임플레이를 완전히 바꾸는 것이 아닙니다. 사실, 게임플레이는 어느 정도 비슷하게 느껴질 것이며, 특히 이전 작동 방식에 대한 정확한 세부 사항을 모른다면 더욱 그렇습니다.


그렇다면 이 작업의 목적은 무엇일까요? 가장 큰 목적은 성능입니다. 저희는 게임 중반과 후반의 속도에 대한 여러분의 우려를 듣고 게임 실행 속도를 개선할 수 있는 가능성을 지속적으로 찾고 있습니다. 여기저기서 작은 최적화를 적용하고, 이 값이나 저 값을 캐싱하고, 병렬 실행 가능 범위를 늘리는 등의 작업을 하고 있습니다. 또 다른 측면은 우리가 내린 디자인 결정을 살펴보고 게임플레이는 여전히 작동하지만 메커니즘이 더 성능에 유리하도록 변경할 수 있는지 고려하는 것입니다.


이러한 변경 사항은 두 번째 범주에 속합니다. 현재 버전의 게임에서 이주는 정기적으로 팝을 분할하고 파편을 여기저기 이동하는 방식으로 이루어지므로 게임이 진행됨에 따라 당연히 팝의 수가 늘어나고 성능이 저하됩니다. 1.6에서는 이주를 위해 팝을 분할하는 것을 최대한 피하여 팝의 수를 줄일 수 있도록 했습니다.


성능 외에도 이러한 변경을 하는 또 다른 이유는 향후 시스템을 더 쉽게 유지 관리하고 작업하기 쉽게 만들기 위해서입니다. 새로운 구현은 작업할 때 더 쉽게 이해할 수 있어 저희에게는 큰 장점이며, 부수적으로 모더들의 작업도 더 쉬워질 것입니다!


마지막으로, 이 개발 일지 마지막 부분에서 확인할 수 있는 몇 가지 품질 및 UX 개선 사항도 살짝 소개해드리고자 합니다.


기본 개념


아래에서 자세히 설명하기 전에 여러 용어의 의미와 작동 방식에 대해 같은 맥락에서 이해하는 것이 중요합니다. 아시다시피 빅토리아 3의 이주는 크게 두 가지 형태로 이루어집니다: 시장 내 이주와 대규모 이주입니다.


저희는 또한 몇 가지 개념의 문구를 미세 조정하는 기회도 가졌습니다!

시장 내 이주는 해당 시장 내에서만 발생하며, 주로 팝 생활의 경제적 요인으로 인해 발생합니다. 반면에 대규모 이주는 팝이 서로 다른 시장 사이를 이동하고 더 강력한 문화적 초점을 갖는 메커니즘입니다.


사람들이 어디로 가는지, 얼마나 많은 사람들이 이동하는지 선택하는 방법은 주의 이주 매력도에 따라 크게 달라집니다. 이는 이용 가능한 일자리, 경작지, 무역 등과 같은 요인으로 인해 얼마나 많은 사람들이 그곳으로 이주하고 싶어하는지를 나타내는 지표입니다. 이주 매력도를 사용할 때 중요한 것은 진공 상태의 절대값이 아니라, 두 주 간의 이주 매력도 차이입니다. 또한 이주 매력도는 상당히 빠르게 변할 수 있으며, 특히 한 주에서 많은 이주를 받으면 이주 매력도가 낮아져, 다른 주가 이주자를 받을 수 있는 여지가 생긴다는 점에 유의할 필요가 있습니다.


마지막으로 "팝", "팝의 수", "인구" 등과 같은 용어에 대한 언급을 자주 볼 수 있는데, 이 용어의 차이점을 이해하는 것이 좋습니다. 팝(인구의 일부라고도 함)은 특정 직업, 문화, 종교를 가진 특정 주에 거주하고 특정 건물에서 일하는 인구의 일부분으로, 스톡홀름의 공구 공장에서 일하는 스웨덴 개신교 공학자를 예로 들 수 있습니다. 팝의 수는 한 건물, 주 또는 게임 전체에 얼마나 많은 고유한 팝이 있는지를 나타냅니다. 즉, 위의 공구 공장에 스웨덴과 노르웨이 공학자가 모두 고용되어 있다면, 해당 건물에 있는 공학자 팝의 수는 두 개입니다. 마지막으로 인구는 팝을 사용하여 모델링하는 개인 수입니다. 예를 들어 위의 스웨덴 공학자는 5000명이 될 수 있습니다.


이러한 일반적인 개념은 1.5와 1.6 사이에서 변하지 않습니다.


새로운 개념에 대한 언급이 눈에 띌 수 있습니다: 대규모 이주 매력도입니다. 이 개념이 무엇을 의미하는지 개발 일지에서 자세히 살펴보겠습니다.

그렇다면 무엇이 바뀌었나요?


팝 선정


아주 기본적인 수준에서 예전 시스템 작동 방식에 대해 알아야 할 것은 수많은 팝에서 작은 부분을 골라 여러 주 사이를 이동한다는 것입니다. 다시 말해, 시스템으로서의 이주는 통합된 큰 팝을 더 많은 수의 작은 팝으로 바꾸는 것이었는데, 이는 성능에 좋지 않은 방식이었습니다.


하지만 지금은 이주할 사람들을 선택할 때 가능한 한 많은 "전체" 팝을 선택하고, 가장 작은 것부터 가장 큰 것까지 정렬한 다음 새로운 주로 보내기 시작합니다. 그들이 도착하면 기존의 현지 팝에 병합하려고 시도합니다. 팝이 너무 큰 경우와 같이 팝을 분할해야 하는 경우도 있지만, 이 경우에는 좀 더 신중하게 분할하려고 노력합니다.


이주 목적지


이전에는 팝들이 기본적으로 충분히 매력적으로 보이고 이주 및 시민권법에 따라 이를 허용하는 모든 주로 이주했습니다. 이로 인해 다대다 이주 시스템이 매우 분산되어 있었고, 이는 다시 팝 선택 시스템과 결합되어 팝을 더욱 세분화시키는 결과를 낳았습니다.


새로운 시스템에서는 팝이 속한 문화에 대해 소위 문화 커뮤니티가 있는 주에만 팝의 이민을 허용합니다. 사용 가능한 문화 커뮤니티가 여러 개 있는 경우, 가장 많은 이민자를 유치한 주에서 일정 범위 내의 모든 주에 이민자를 보내며, 이주 매력도에 따라 그리고 실제로 그 많은 이민자를 받아들일 수 있는지에 따라 분배합니다.


이맘때면 미시간이 아름답다고 들었어요. 그곳에 스웨덴 문화 커뮤니티를 만들면 어떨까요?

문화 커뮤니티


1.5 오픈 베타를 플레이하신 분이라면 이러한 변경 사항 중 일부를 도입하려고 시도했을 때를 기억하실 것입니다(그리고 이주 법 등을 무시하는 팝과 같은 흥미로운 버그가 발생하기도 했죠). 변경 사항 중 하나는 문화 커뮤니티라는 개념이었습니다. 이 개념은 같은 문화권의 사람들이 이미 살고 있는 곳으로 이주할 가능성이 더 높다는 것을 모델링하기 위한 것입니다. 물론 완전히 새로운 곳으로 이주할 수도 있지만, 그런 경우는 흔하지 않습니다.


이와 같은 게임 내 개념을 자주 살펴보는 편인가요? 게임을 배울 때 도움이 되었나요? 여러분의 의견을 듣고 싶습니다!

문화 커뮤니티는 특정 문화가 하나 이상 존재하는 모든 곳에 존재합니다. 또한, 매달 한 번씩 여러분의 시장에 속한 문화에 속하는 새로운 문화 커뮤니티가 여러분의 주 중 한 곳에서 생성될 수 있는 기회가 있습니다. 해당 문화에 속한 사람이 해당 주로 이동하지 않으면 해당 문화 커뮤니티는 몇 주 후에 사라집니다.


성능과 관련된 요소는 인구의 규모가 아니라 팝의 수라는 점에 유의해야 합니다. 즉, 이주 메커니즘이 보다 균일한 결과를 만들어낸다면 시뮬레이션의 다른 측면(고용, 팝 소비, 인구 증가, 자격 등)의 충실도를 전혀 손상시키지 않고도 더 나은 성능의 게임을 만들 수 있다는 뜻입니다. 이전에 플레이어들로부터 들었던 우려는 시뮬레이션 결과가 너무 균일하다는 것이 아니라, 특정 주에 너무 많은 팝 문화가 혼합되어 몰입을 방해한다는 것이었기 때문에, 이 시스템을 통해 각 주에 존재하는 평균 문화 수를 축소할 수 있었습니다.


모딩에 관심이 있다면, 시장의 모든 주와 문화 조합에 대해 매달 실행되는 스크립트 값을 통해 문화 커뮤니티가 생성되는 가중치와 조건을 완전히 커스터마이징할 수 있습니다. 여러분이 어떤 것을 만들어낼지 기대가 됩니다!


대규모 이주


1.5에서는 대규모 이주가 시장 내 이주와 더 긴밀하게 연계되어 있었습니다. 1.6에서는 자체적인 제한과 조건이 있는 별개의 방식으로 더 많이 작동합니다. 기본적으로 대규모 이주를 생성할지 여부를 평가할 때는 다음 단계를 거칩니다:


1. 모든 문화에 대해 해당 문화의 본토가 있는 국가를 살펴보고 그곳에서 대규모 이주가 발생할 확률을 계산합니다. 여기에는 충분한 문화적 갈등이 있거나, 실제로 이주를 허용하는 등 대규모 이주 요건을 충족하지 않는 국가나 문화를 필터링하는 작업이 포함됩니다.

2. 위의 적격 국가 중 하나를 대규모 이주의 출발지로 선택합니다.

3. 해당 문화권에서 모든 다른 주로 이주할 수 있는 대규모 이주 매력을 계산합니다. 이것은 목표 국가에 있는 적격 주의 평균 이주 매력도입니다.

4. 모든 대규모 이주를 같은 장소로 보내지 않도록 작은 무작위 요인을 추가한 후, 대규모 이주 매력이 가장 높은 국가를 선택합니다.

5. 해당 국가의 적격 주를 살펴보고 (작은 무작위 요인을 추가한 후) 가장 높은 이주 매력도를 가진 주를 선택합니다.


이 모든 과정이 끝나면 2단계에서 선택한 문화와 주에 대해 5단계에서 선택한 주에 대한 대규모 이주가 생성됩니다.


이제 이주를 연간 값이 아닌 주 단위 값으로 표시하는 것을 눈치채셨을 수도 있습니다. 그 이유는 이주가 주 단위로 매우 빠르게 변화할 수 있기 때문에, 이전처럼 연간 값에 초점을 맞추면 혼란스럽거나 오해의 소지가 있었기 때문입니다.

이 시점에서는 시장 내 이주와 유사하게 이동하고자 하는 팝을 선택하여 소규모 전체 팝의 우선순위를 정하고 새로운 고향으로 보내려고 노력합니다. 한 주에서 너무 많은 인원을 한 주에 보내지 않도록 추적하여 대규모 이주 중에 인구가 감소하거나 주에 과부하가 걸리지 않도록 합니다.


결과


그렇다면 이 모든 변화의 결과는 어떻게 되었을까요? 현재로서는 자체 테스트 결과, 게임 종료 시점에 팝 수가 약 15~20% 감소하는 긍정적인 결과를 얻었습니다. 이는 단편적인 팝의 감소뿐만 아니라 팝이 특정 주에 집중되어 전체적으로 건물 수가 다소 줄어든 결과이기도 합니다.


경제학자 게이머 여러분, 이 경우에는 라인이 내려가는 것이 좋습니다!

새롭게 빛나는 UX 개선


"그래서 말씀하신 UX 개선 사항은 어떻게 되나요? 빨리 알려주세요!" 라고 생각하실 겁니다. 또한 자세한 내용을 건너뛰고 스크린샷과 UX 변경 사항으로 바로 넘어가신 참을성 없는 독자 여러분께도 인사드립니다. 앞서 말씀드린 바와 같이 이주 변경을 통해 UX 관점에서 시스템에 좀 더 쉽게 접근할 수 있도록 하고자 했습니다. 개발 과정에서 중요한 정보임에도 불구하고 접근과 이해가 너무 어렵게 느껴지는 정보가 많다는 것을 알게 되었기 때문입니다.


개인적으로 가장 마음에 드는 변화 중 하나는 이제 주에서 실제로 대규모 이주를 받을 수 있는지 여부를 명확하게 표시한다는 점입니다:


누가 로드아일랜드에 가고 싶어 하겠어요?

대규모 이주의 요건이 무엇인지 궁금하신 분들은 이제 대규모 이주 대상에 대한 업데이트된 콘셉트에 해당 요건이 표시되어 있습니다:

이러한 요구 사항은 새로운 것이 아니라 이전에 제대로 노출되지 않았을 뿐입니다. 물론 대규모 이주 대상에 해당하는 주를 일일이 확인하는 것은 지루할 수 있으므로 이를 표시하는 지도 모드도 추가했습니다:


대규모 이주를 원한다면 주를 편입하는 것을 잊지 마세요! 또한, 시장에 제대로 연결되어 있는지 확인하는 것도 좋은 방법입니다.

지도 모드에 대한 이야기가 나온 김에, 어느 국가가 대규모 이주를 받을 가능성이 가장 높은지 대략적으로 알려주는 지도 모드도 추가했습니다:


밝은 녹색으로 위대함을 약속하는 신세계!

이 지도 모드에는 새로운 개념의 대규모 이주 매력도도 포함되어 있습니다:


너무 작아서 사람들이 지도에서 발견하지 못하면, 대규모 이주를 받을 수 없습니다.

오랫동안 게임에서 부족하다고 느꼈던 것은 사람들이 많이 모이는 곳이 아니라 실제로 사람들이 이동하는 곳을 보여주는 지도 모드였습니다. 이제 그 기능이 생겼습니다!


아이다호에는 무슨 일이 생긴 건가요?

마지막으로, 전 세계가 아닌 시장의 주만 표시되도록 기존 이주 매력도 지도 모드를 개편했습니다. 이렇게 하면 시장과 이주 매력도의 차이를 더 잘 전달할 수 있을 뿐만 아니라, 사람들이 시장에서 어디로 이동하고 어디로 이동할 가능성이 높은지 알 수 있습니다:


이제 다른 국가에서도 시장의 이주 흐름을 보다 명확하게 이해할 수 있습니다.

모드 제작자 여러분을 위해 여러 define의 구조와 이름을 변경하고 제거했습니다(1.6 버전이 출시되면 모드를 업데이트하라는 알림입니다):

다음 시간


오늘은 여기까지입니다! 이주 작업 과정에 대해 재미있게 읽어주셨기를 바라며, 3월 6일 무료 업데이트 1.6이 출시되면 새로운 맵 모드와 기타 개선 사항으로 플레이할 수 있기를 기대합니다! 그때까지 기다리실 수 없다면 다음 개발일지(2주 후)에 1.6의 전체 변경 로그가 공개될 예정이며, 여기에는 이주 및 UX 개선 사항 외의 다른 모든 사항이 포함될 예정입니다. 그때 만나요!





https://m.dcinside.com/board/rome/1141328

빅토 붐은 온다...!