Sortis: 계산 가능 축소성을 활용한 펜‑앤‑페이퍼 제국 게임

Sortis는 컴퓨터 없이도 Minecraft나 OGame과 같은 절차적·자동화된 자원 개발 게임의 경험을 제공하도록 설계된 펜‑앤‑페이퍼 제국 게임입니다. 게임의 핵심 설계 철학은 "계산 가능 축소성"에 기반하며, 이를 통해 플레이어는 모든 개별 턴을 시뮬레이션하지 않고도 제국의 미래 상태를 계산할 수 있습니다.

LFSR을 이용한 절차적 지도 생성

Sortis는 단일 바이트에서 동작하는 선형 피드백 시프트 레지스터(LFSR)를 사용해 256×256 격자 세계를 생성합니다. 이 방법을 통해 주사위나 계산기 없이도 펜과 종이만으로 절차적으로 생성된 지도를 만들 수 있습니다.

생성 알고리즘

지도를 생성하려면 플레이어는 0~255(0x0–0xFF) 사이의 두 시드($s_x$와 $s_y$)를 선택합니다. 각 축에 대한 시퀀스는 다음 수식을 사용해 생성됩니다:

$$\text{step}(s) = ((s \ll 1) & \text{0xFF}) \mid (b_8 \oplus b_7 \oplus b_2 \oplus b_1)$$

임의의 정사각형 $(x, y)$에 대해 지형 값 $v$는 X 시퀀스의 $x$번째 숫자와 Y 시퀀스의 $y$번째 숫자의 XOR 결과입니다:

$$v(x, y) = \text{LFSR}^x(s_x) \oplus \text{LFSR}^y(s_y)$$

지형 및 광석 티어

지형은 $v$ 값에 따라 결정됩니다:

Value Terrain
$v < \text{0x75}$ Water
$\text{0x75} \leq v < \text{0xE0}$ Forest
$v \geq \text{0xE0}$ Mountain

산악 타일의 경우, 광석 티어는 해당 값의 이진 표현에서 뒤쪽에 연속된 0의 개수에 따라 정해집니다. 예를 들어 0xE0(이진 11100000)은 뒤쪽에 5개의 0이 있으므로 ore(5)로 간주됩니다. 이는 ore(n+1)이 평균적으로 ore(n)보다 두 배 더 희귀하게 배포된다는 의미입니다.

게임 메커니즘 및 자원 진행

플레이어는 에이전트를 조정해 탐험, 토지 정리, 건물 건설을 수행하며 워크숍 레벨을 올리는 것이 게임의 주요 목표입니다.

건물 종류와 비용

건물 비용은 지수 곡선($2^n$)을 따르며, 여기서 $n$은 건물의 레벨을 의미합니다.

  • House: $2^n$ 목재 비용. 레벨당 에이전트 수용량이 1씩 증가합니다.
  • Workshop: $2^n$ ore(n) 비용. 다른 건물을 레벨 $n$까지 건설하거나 업그레이드하려면 필요합니다.
  • Extractor (Sawmill/Mine): $2^n$ 목재(제재소) 또는 $2^n$ ore(0)(광산) 비용. 턴당 $n+1$ 단위 생산합니다.
  • Smelter: $2^n$ ore(n) 비용. $2^n$ ore(n)와 $2^{n+1}$ 목재를 사용해 1 ore(n+1)으로 변환합니다.
  • Road Segment: ore(d) 비용. 육지에서는 $d=0$. 다리의 경우 $d = \text{shore로부터의 거리} + 5$.

에이전트 규칙 및 물류

에이전트는 게임의 주요 행위자이며, 행동을 수행하려면 해당 정사각형에 물리적으로 있어야 합니다.

  • Locality: 건설이 이루어지려면 자원이 목표 정사각형에 있어야 합니다.
  • Action Economy: 에이전트는 턴당 하나의 행동(이동, 정리, 건설, 작동)만 수행합니다.
  • Authorization: 레벨 $\geq n$인 워크숍을 방문한 에이전트만 레벨 $n$ 건설 권한을 가집니다.
  • Movement: 지형에 따라 이동 비용이 달라집니다: 정리된 땅/도로는 1턴, 숲은 2턴, 산은 3턴. 물은 도보로 통과할 수 없습니다.

턴 관리와 계산 가능 축소성

모든 턴을 시뮬레이션하는 대신, Sortis는 폐쇄형 공식들을 사용해 자원 축적과 에이전트 이동을 예측하도록 장려합니다.

턴 로그

플레이어는 중요한 사건(예: 건물 업그레이드, 에이전트 행동 변화)만 기록하는 턴 로그를 유지합니다. 생산량이 일정하므로, 특정 자원 목표가 달성되는 시점까지 수백 턴을 건너뛸 수 있습니다.

에이전트 예측

두 지점 사이에 자원을 운반하는 등 순환적으로 움직이는 에이전트에 대해서는, 모듈러 연산을 이용해 중간 단계를 시뮬레이션하지 않고도 미래 턴 $t$에서의 위치를 계산할 수 있습니다.

커뮤니티 인사이트와 명확화

초기 사용자들 간의 토론을 통해 원래 규칙에서 모호했던 몇 가지 점이 밝혀졌습니다:

"규칙에는 산이 '헥스 값의 뒤쪽 0 개수와 같은 광석 레벨'을 가진다고 적혀 있습니다. 하지만 예시에서는 E0가 ore(5)로 표시되는데, 이는 이진수에서 뒤쪽 0을 세어야만 성립합니다."

또한, 시작 시 ore(0) 획득 방법, 차량 수용량 공식($2N$로 명시) 및 자원을 줍거나 버리는 행위가 턴을 소모하는 행동에 해당하는지 등에 대한 질문도 제기되었습니다.


요약:

Sortis는 선형 피드백 시프트 레지스터(LFSR)를 이용한 절차적 지도 생성과 폐쇄형 공식을 활용해 플레이어가 턴을 건너뛰고 자원 축적을 예측할 수 있게 하는, 종이 위에서 진행되는 자원 개발 게임입니다.

제목:

Sortis: 계산 가능 축소성을 활용한 펜‑앤‑페이퍼 제국 게임

Sources