저자: opnpc@Downstream; 메타캣에서 컴파일
원자 오브젝트 시스템은 월드의 전체적인 균형을 유지하면서 새롭고 구성 가능한 오브젝트를 만들 수 있게 해주는 디자인 패턴입니다. 월드의 각 오브젝트는 원자로부터 속성이나 통계가 상속되는 작은 기본 입자 집합으로 구성됩니다. 디자이너가 오브젝트를 지정하는 기존 게임 월드와 달리, 이 월드의 주민들은 새로운 속성을 가진 완전히 새로운 오브젝트를 만들 수 있습니다.
동기부여
게임 월드에는 일반적으로 디자이너가 플레이어의 재미를 우선시해야 하므로 정해진 오브젝트 세트가 있습니다. 플레이어의 자율성보다 우선시해야 하기 때문입니다. 플레이어에게 안정적으로 재미있는 경험을 제공하려면 플레이어가 적시에 적절한 아이템에 액세스할 수 있도록 다양한 시스템의 균형을 맞춰야 합니다. <강력하거나 가치 있는 아이템은 획득에 많은 비용이 들거나 스킬 트리와 업그레이드 경로에 제한이 있어 게임플레이의 불균형을 초래하는 경우가 많습니다. 게임 디자이너들은 플레이어 경험을 최적화하고 도전과 보상을 유지하기 위해 이러한 시스템을 신중하게 조정했습니다.
멀티플레이에서는 특히 어렵습니다. 싱글플레이어 게임에서는 플레이어 개인의 진행 상황과 실력에 맞춰 게임 세계의 규칙을 조용히 바꿀 수 있지만, 멀티플레이어 게임에서는 다른 플레이어를 좌절시키지 않으면서 한 플레이어의 현실을 쉽게 바꿀 수 없습니다. 플레이어가 능력 수준에 관계없이 상호 작용할 수 있는 공유 공간에는 경제 시스템에 가까운 무언가가 필요하지만, 지금까지는 이를 구현하기가 어려웠습니다. 플레이어가 적절한 제한 없이 새로운 아이템을 만들 수 있도록 허용하면 많은 수의 아이템이 다른 플레이어의 경험을 '망치거나' 심지어 자신의 경험을 망치는 결과를 초래할 수 있습니다.
자치 세계의 매력 중 하나는 주민들이 완전히 새로운 것을 공동 설계하고, 만들고, 디자인할 수 있다는 자유입니다. 이를 달성하기 위해서는 게임 디자이너가 월드에 새로운 오브젝트가 추가될 때마다 메커니즘을 세심하게 다듬어야 합니다. 수동으로 시스템 밸런스를 조정하려면 비용이 많이 들고, 새로운 오브젝트가 월드에 추가될 때마다 오브젝트 간의 상호작용을 테스트하는 데 드는 비용이 기하급수적으로 증가합니다. 대신 자율 월드는 물리 법칙에 따라 월드에서 일어날 수 있는 일을 제한하고 확장할 수 있는 조건을 정의하는 명시적인 내러티브 규칙 또는 디지털 물리학 법칙에 의존합니다. 좋은 디지털 물리 법칙은 게임 디자이너가 각 오브젝트의 밸런스를 수동으로 조정할 필요 없이 다양한 가능한 오브젝트를 제공할 수 있어야 합니다.
원자 오브젝트 시스템은 이해하기 쉽고 자체 밸런싱이 가능한 구성 가능성 메커니즘을 제공하는 디지털 물리학의 한 형태입니다. 플레이어는 원하는 파워 레벨의 새로운 물체를 자유롭게 발명할 수 있지만, 먼저 기존 물체를 파괴하여 필요한 원자를 획득해야 합니다. 기본 원자를 구성 요소로 취급함으로써 플레이어는 하드코딩된 제작 트리의 한계를 뛰어넘는 물체를 발명할 수 있습니다. 동시에 게임 세계에서 이러한 원자를 획득하는 데 필요한 노력은 생성되는 물체의 복잡성에 비례하는 비용을 부과하여 균형을 맞춥니다.
역학
다운스트림을 개발하면서 원자 오브젝트 시스템을 구상했습니다. 이 게임은 육각형 타일 맵에 플레이어가 제어하는 유닛으로 구성되며, 각 상태 변경은 연쇄적인 트랜잭션으로 이루어집니다. 유닛은 건물을 사용하여 아이템을 제작하며, 각 유닛은 다양한 색상의 끈적끈적한 물건으로 표현되는 특정 기본 입자 세트로 구성됩니다. 플레이어는 먼저 스티커를 수집하고, 건물을 사용해 스티커를 기반으로 새로운 아이템을 제작한 다음, 그 아이템을 사용해 유닛을 강화하고, 다른 플레이어와 거래하고, 새로운 게임 모드를 설계합니다.
기본 제작 과정은 다음과 같이 구성됩니다.
추출기에서 스티커 수집하기.
건물을 사용해 아이템을 제작합니다.
플레이어의 인벤토리에 아이템을 추가합니다.
추출기는 끈적한 물건을 붙이는 탭과 기능적으로 동일합니다. 기본 아이템인 순수한 빨강, 파랑, 초록 슬라임으로 구성된 물방울을 분배합니다.
건물은 여러 아이템을 입력으로 받아 슬라임으로 구성된 새로운 아이템을 출력하는 제작을 가능하게 합니다. 건물 유형에 따라 제작 레시피와 출력 아이템이 다릅니다. 일부 끈적끈적한 물질은 제작 중에 흡수제로 연소됩니다.
아이템의 가장 일반적인 용도는 유닛의 속성을 강화하는 것이며, 아이템에 있는 점착 원자의 수에 따라 속성 강화의 종류와 양이 결정됩니다. 빨간색 끈끈이는 힘, 파란색 끈끈이는 방어력, 녹색 끈끈이는 생명력을 증가시킵니다. 예를 들어, 좋은 무기는 빨간색 원자가 많습니다. 좋은 방패는 파란색 원자가 많아야 합니다. 균형 잡힌 아이템은 유닛에 필요한 자원이 있다면 세 가지 속성을 한 번에 모두 가질 수 있습니다.
플레이어는 건물 제작기를 사용해 새로운 건물을 건설할 수 있으며, 이를 통해 새로운 아이템을 생산할 수 있습니다:
새 건물을 사용하여 새로운 아이템을 만듭니다.
아이템은 원자로만 구성될 필요는 없습니다. 친구가 이미 100개의 빨간색 끈적끈적한 물질로 토르의 망치를 만드는 건물을 가지고 있을 수도 있습니다. 새 아이템인 성검을 생산하는 건물을 새로 짓는 것을 막을 수 없으며, 이 아이템 역시 붉은 끈적끈적한 물질 100유닛으로 만들어지며 전투에서 같은 용도로 사용됩니다.
제작 레시피에서는 플레이어가 만든 모든 아이템을 재료로 사용할 수 있습니다. 이를 통해 광범위한 기술 트리를 개발할 수 있습니다. 토르의 망치 10개와 신성한 검 10개를 가지고 있다면, 건물 종류를 재료로 사용해 새로운 망치-검을 만들어 강력한 망치-검을 뱉어낼 수 있습니다.
계약
다운스트림은 노드 그래프 아키텍처를 사용하여 모든 엔티티(플레이어, 건물 등)를 자체 주소를 가진 단일 엔티티로 표현합니다. 등)를 자체 주소가 있는 컨트랙트로 표현하고, 이러한 엔티티 주소에 할당할 수 있는 이름과 잔액이 있는 ERC-1155로 항목을 표현합니다. 각 객체의 기본 원자 구성은 메타데이터로 인코딩되어 컨트랙트를 생성할 때 필요한 구성 자료를 검토할 수 있습니다.
새 건물 건물 종류와 그에 수반되는 제작 레시피 및 출력 항목을 생성할 때 건물 제조업체는 세 개의 파일을 생성합니다.
NewBuilding.yaml: 건물과 아이템의 파라미터가 포함된 목록입니다.
NewBuilding.js: 게임 내 건물 인스턴스를 클릭하면 호출되는 건물 UI로, 표시되는 HTML과 버튼을 제어합니다.
NewBuilding.sol: 건물을 대신하여 작업을 디스패치하는 BuildingKind 인터페이스를 구현하는 체인 로직, 솔리디티 컨트랙트입니다.
기본 팩토리와 칵테일 헛은 아마도 다운스트림에서 가장 가독성이 높은 예시일 것입니다.
응용 분야
현재 가상 세계 구성 시스템이 가장 널리 사용되는 분야는 게임의 제작 메커니즘입니다. 자율 세계는 게임화 정도가 다양하며, 고정된 게임플레이 목표가 없는 세계에서도 주민들이 새로운 유형의 오브젝트를 제작할 수 있는 시스템을 활용할 수 있습니다. 그러나 제작 메커니즘이 있는 많은 게임에서 이미 게임플레이와 생활 세계를 구분하고 있다는 점에 주목할 필요가 있습니다.
유사한 기능을 제공하는 게임 유형의 주목할 만한 예는 다음과 같습니다.
Minecraft와 같은 서바이벌 샌드박스 게임과 테라리아 같은 서바이벌 샌드박스 게임
동물의 숲, 스타듀 밸리 같은 농업을 테마로 한 생활 시뮬레이션 게임
라이프 시뮬레이션 게임 팩토리오와 림월드의 공장 또는 식민지 경영 시뮬레이션
월드 오브 워크래프트와 EVE 온라인 같은 MMORPG
그 외에도 많은 게임을 이용할 수 있습니다. ">폴아웃이나 드래곤 에이지의 무기 제작, 젤다의 전설: 브레스 오브 더 와일드나 이스트워드 바운드의 요리 메커니즘처럼 특정 서브시스템의 일부로 제작을 하는 게임도 많습니다.
대안
이 디자인 패턴에는 여러 가지 대안이 있으며, 주요 차이점은 디지털 물리학 법칙을 처리하는 방식에 있습니다. 방식입니다. 전 세계의 디자이너는 디지털 물리학 법칙에 필요한 복잡성의 수준을 고려해야 합니다. 더 깊고 기본적인 수준 또는 '세분화된' 디지털 물리 법칙은 월드에 가깝기 때문에 그 위에 구축할 수 있는 콘텐츠의 다양성과 복잡성을 우선시하기 위해 사용성과 즉시성을 희생해야 합니다. 얕고 높은 수준 또는 '거친' 디지털 물리학은 게임과 비슷하며, 그 위에 구축할 수 있는 콘텐츠의 사용성과 즉각성을 우선시하기 위해 다양성과 복잡성을 희생합니다.
다른 한편으로, 월드에는 시뮬레이션을 통해 더 기본적이거나 세분화된 디지털 물리 법칙이 있을 수 있습니다. 예를 들어, 테넷의 주세 '월드 컴퓨터'는 오브젝트에 지역성을 부여하여 인과관계를 전파하는 시스템을 도입할 수 있게 해줍니다. 이러한 시스템은 더 복잡하고 접근하기 어렵지만 더 풍부한 시뮬레이션과 심도 있는 엔지니어링 기회를 제공합니다.
반면, 월드에 더 높거나 거친 디지털 피직스를 적용하여 사실감과 몰입감을 높일 수 있습니다. 예를 들어, 무빙 캐슬의 이 저주받은 기계에는 '조합 가능한 회로'로 구축하여 더 큰 월드를 위한 빌딩 블록으로 사용할 수 있는 입력 및 출력 컴포넌트 개념이 있습니다. 이 시스템은 더 주관적이고 잠재적으로 유연성이 떨어지지만, 더 풍부한 월드 구축과 게임플레이에 더 집중할 수 있습니다.
확장 및 향후 작업
시스템을 확장하는 한 가지 방법은 원자 유형을 추가하는 것입니다.다운스트림의 원자 오브젝트 시스템에는 현재 세 가지 원자 유형이 있습니다. 현재 다운스트림의 원자 오브젝트 시스템에는 3개의 원자 유형이 있지만 최소 2~3개를 더 추가할 계획입니다. 존 카맥은 둠이나 마인크래프트 같은 게임에서 모듈의 지속적인 인기는 "튜링 수준의 디자인 자유"가 충분하다는 사실에서 비롯된 것이라고 설명합니다. "튜링 완전 설계 공간"을 달성하기 위해 얼마나 많은 원자가 필요한지는 아직 알 수 없습니다. 주기율표에서 더 많은 유형을 생각하기는 쉽지만, 이 정도의 복잡성을 가진 시스템은 실제로는 다루기 어려울 것으로 예상됩니다.
또 다른 가능성은 원자가 전투 데이터에만 영향을 미치는 것이 아니라는 것입니다. 플레이어가 원자 값을 다양한 방식으로 활용하는 커스텀 로직을 사용하여 건물과 구성 요소를 만들 수 있기 때문에 이론적으로는 이미 가능합니다. 건물을 만들려면 플레이어가 100개 이상의 빨간색 원자가 있는 아이템을 가지고 있어야 제작 레시피를 볼 수 있습니다. 하지만 원자 시스템에 실제로 연결될 수 있는 플레이어 행동과 특성을 추가하지 않으면 이 방법은 매력적이지 않습니다. 이동 속도나 RPG 스타일의 스킬 습득을 제어하는 디지털 물리학 법칙을 확보하면 더 흥미로운 상호작용을 고려할 수 있을 것입니다.