
건축물리학: 가상 세계 설계에서의 실질적 고려사항
글: bytes
번역: MetaCat

가상 세계의 창조자로서 우리의 목표는 사용자에게 몰입감 있고 흥미로운 환경을 제공하는 것이다. 이를 위해서는 복잡하고 예기치 못한 행동이 나타날 수 있도록 허용하는 디지털 물리 법칙과 동시에 이러한 행동을 지원할 수 있는 인프라를 보장하는 것 사이에서 균형을 잡아야 한다. 이를 달성하기 위해 우리는 디지털 물리 법칙의 세 가지 주요 차원을 고려해야 한다. 즉, 시간, 그 법칙의 형태, 그리고 이 법칙들이 적용되는 범위이다.
가상 세계 내 시간의 흐름은 물리 법칙이 스스로 반복적으로 적용되는 과정으로 정의할 수 있다. 각각의 개별적인 적용은 세계의 시간 흐름 속에서 하나의 '순간'을 의미한다. 시간을 설계하는 한 가지 방법은 외부 시간과 함께 지속적으로 전진하도록 만드는 것이다. 블록체인 상에 구현된 가상 세계에서는 각 블록이 세계 내 일정한 수의 순간이 경과했음을 나타내며, 블록 내에 포함된 트랜잭션의 내용과 무관하다. 이를 '동기화된(synchronized) 시간'이라고 부른다. 이러한 방식은 사용자가 자신의 행동 결과(영향)를 실시간으로 확인할 수 있게 해주므로, 사용자의 관심을 더 끌 수 있다. 또한 세계 내 시간이 계속해서 업데이트되면서 흥미로운 행동들이 자연스럽게 발생하도록 유도한다.
그러나 이 방식에도 단점이 존재한다. 더 긴 시간 간격은 일반적으로 더 많은 컴퓨팅 자원을 필요로 하며, 이는 곧 체인 또는 서버의 처리 용량을 초과하게 된다. 일반적인 블록체인에서 이러한 시스템을 구현하는 것은 어려울 수 있는데, 모든 체인 상의 변경 사항은 외부 사용자의 트랜잭션에 의해 시작되어야 하기 때문이다.
동기화된 시간의 대안은 비동기화된(unsynced) 시간이다. 이 방식에서는 외부 시간의 진행과 함께 세계의 시간이 반드시 진행되는 것은 아니다. 대신, 시간은 특정 사건(대개는 사용자 조작)에 따라 앞으로 나아간다. 타이머를 사용하지 않는 전통적인 보드게임이 이와 유사한 범주에 속한다. 비동기화된 시간은 블록체인 설계가 지지하는 모델과 잘 맞기 때문에 체인 상에서 구현하기가 더 쉽다. 그러나 이는 세계를 더욱 흥미롭게 만들 수 있는 일부 기능을 포기해야 한다는 단점이 있다.
월드 빌더는 또한 가상 세계를 제어하는 수학적 법칙이 개방형(open-form)인지 폐쇄형(closed-form)인지 결정해야 한다. 폐쇄형 표현식은 고정된 수의 연산을 갖는다. 반면, 개방형(또는 재귀형) 표현식은 주어진 변수에 따라 연산 횟수가 증가한다. 개방형 표현식 하에서는 세계 법칙을 알려진 상태에 반복적으로 적용함으로써 미래 상태를 계산할 수 있다. '드워프 포티지(Dwarf Fortress)'와 같은 복잡한 실시간 환경은 일반적으로 이 범주에 속한다. 반면에 폐쇄형 표현식은 과거 상태와 그 사이 경과한 시간만으로도 일정한 시간 안에 어떤 미래 상태든 계산할 수 있게 해준다(미래의 사용자 조작이 상태를 바꾸지 않는다는 가정 하에), 마치 테트리스 게임에서 떨어지는 블록처럼 말이다.
개방형 표현식은 현실 세계처럼 제한적으로만 예측 가능하기 때문에 가상 세계를 더욱 흥미롭게 만들 수 있다. 세계의 미래 상태를 예측하려면 점점 더 많은 시간과 컴퓨팅 자원이 필요하다. 또한, 간단한 미시적 상호작용에서 예상치 못한 거시적 행동이 나타날 수 있다. 반면, 폐쇄형 표현식으로 제어되는 세계에서는 이러한 돌발 행동이 일반적으로 외부에서, 즉 사용자의 행동(사용자 자신의 행동 자체가 개방형 표현식처럼 작용함)을 통해 발생하며, 세계 자체의 물리 법칙 내부에서는 드물게 발생한다.
이러한 개방형과 폐쇄형 표현식 사이의 균형은 시간과 관련된 균형과 유사한 문제를 다룬다. 폐쇄형 표현식은 세계의 잠재적 흥미를 줄일 수 있지만, 계산적으로는 더 효율적이다. 폐쇄형 표현식은 동기화된 시간이나 비동기화된 시간 모두와 함께 사용할 수 있다. 블록체인 상에서 구현할 때, 특히 시간이 동기화된 경우 폐쇄형 표현식은 개방형 표현식보다 상당한 이점을 갖는다. 시간의 길이에 관계없이 계산 비용이 일정하기 때문에, 사용자가 트랜잭션을 보낼 때만 체인 상 상태를 업데이트하면서도, 마지막 업데이트 이후 경과한 시간만큼 진행된 상태로 설정할 수 있도록 세계를 설계할 수 있다.
현실 세계에서는 시간이 무한할 수도 있는 우주 전체에서 동시에 흐른다(일부 상대론적 복잡성이 있긴 하지만). 그러나 가상 세계에서는 그렇지 않다.
첫째, 가상 세계는 명백히 유한할 수 있다. 규모가 커질수록 흥미로운 가능성은 일반적으로 증가한다. 두 개의 원자로 구성된 세계보다 20억 개의 은하계로 이루어진 세계에서 더 많은 흥미로운 일이 발생할 것이지만, 계산 비용 역시 증가한다. 이 두 관계는 앞서 언급한 두 가지 균형 — 시간의 흐름과 물리 법칙의 형태 — 와 밀접하게 관련되어 있다.
둘째, 가상 세계의 시간은 어디에서나 동일하게 흘러야 할 필요가 없다. 세계의 계산 부담을 줄이기 위해 세계를 서로 다른 시간 흐름을 갖는 개별 영역들로 나눌 수 있다. 예를 들어, 사용자 활동이 있는 영역에는 더 복잡하고 비용이 큰 물리 법칙을 적용하고, 활동이 없는 영역에는 더 단순한 법칙을 적용할 수 있다. 이 방법의 단점은 두 가지다. 세계가 일관되지 않고 불완전해 보일 수 있으며, 이는 법칙 설계의 자유도를 제한하고 사용자를 혼란스럽게 하지 않도록 월드 빌더에게 부담을 준다. 또한 한 영역과 다른 영역 사이의 공간이 시간상으로 정지하면, 서로에게 영향을 미칠 수 없기 때문에 인과관계의 전파 방식도 제한된다. 물리 법칙이 적용되는 영역의 크기는 중요한 설계 요소이며, 이는 세계가 필요로 하는 자원과 도달할 수 있는 흥미 수준 모두에 영향을 미친다.
흥미롭고 몰입감 있는 가상 세계를 만들기 위해서는 계산 효율성과 흥미성 사이의 신중한 균형이 필요하다. 여기에는 사용할 시간 유형(동기화 또는 비동기화) 결정과 세계를 제어할 물리 법칙의 형태 평가가 포함된다. 물리 법칙이 적용되는 영역의 크기도 또 다른 핵심 요소이다. 이러한 선택들을 신중하게 함으로써 월드 빌더는 계산 부담을 통제 가능한 수준으로 유지하면서 흥미를 실현할 수 있을 뿐 아니라, 다른 개발자들에게도 매우 풍부한 창의적 기반을 제공할 수 있다.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News











