
DAW: 무한한 가능성을 여는 체인상 게임 세계
1. 게임 발전 데모
DAW란 즉 탈중앙화 자율 세계(decentralized Autonomous Worlds)로서 풀체인 게임(Full-chain Game)의 하위 집합이며, 풀체인 상에서 운영되며 개방적이고 사전에 정의된 게임 방식이 없는 게임 유형을 말한다. 풀체인 게임과 DAW를 논의하기 전에 먼저 게임 자산, 게임 로직, 게임 상태 및 게임 데이터 저장 등 여러 측면을 간략히 분석해보자.

Web2 게임
본문에서는 Web2 게임을 자율 세계 게임(Autonomous World Games)과 비자율 세계 게임(Non-autonomous World Games) 두 가지로 구분한다. 이 두 유형의 게임은 모두 공통점으로 게임 관련 모든 요소가 게임 회사의 서버에 저장되어 있다는 점이다. 게임 자산이나 플레이 규칙 설정 모두 중앙집중형 기업의 통제하에 있으며, 이러한 게임에서 플레이어는 일반적으로 게임 내 자산에 대한 진정한 소유권을 갖지 못하고, 게임 회사는 가상 아이템, 캐릭터 및 게임 진행을 통제하여 플레이어가 가상 자산을 자유롭게 거래하거나 판매하거나 화폐화하는 능력을 제한한다.
이러한 상황은 종종 불쾌한 경험을 초래한다. 예를 들어, 이더리움 창시자 비탈릭 부테린(Vitalik Buterin)은 『월드 오브 워크래프트』를 플레이하면서 블리자드가 그의 가장 좋아하는 캐릭터의 스킬을 삭제하자 불만을 느끼고 결국 게임을 그만두었다. 또한 최근 블리자드가 중국 서버를 폐쇄함으로써 중국 플레이어들에게 매우 불쾌한 경험을 안겼다.
Web2 비자율 세계 게임
위 이미지에서 보듯이 본문은 지금까지의 온라인 게임을 총 네 가지로 분류했다. 여기서 Web2의 비자율 세계 게임에는 『왕자영요』, 『리그 오브 레전드』, 『永劫无间』 등의 게임이 포함된다. 이러한 게임들은 일반적으로 게임 내 특정 목표(예: "티어")를 설정하며, 위 이미지처럼 탈중앙화 정도와 자율성이 낮다. 자율 세계 게임에 비해 이러한 게임의 플레이어 창작성은 낮으며, 게임의 개방성도 낮은 편이다.
Web2 자율 세계 게임(CAW)
앞서 언급한 비자율 세계 게임 외에도 Web2 게임에는 자율 세계 게임이라는 또 다른 유형이 존재한다. 위 이미지에서 볼 수 있듯이, 이 유형의 게임은 높은 자율성을 지니지만 탈중앙화 정도는 여전히 매우 낮다.
『마인크래프트』는 이러한 게임의 대표적인 예이다. 마인크래프트는 플레이어가 동적으로 생성되는 다양한 블록들로 구성된 자율 세계를 탐험하고 상호작용하며 변화시키는 데 중점을 둔 게임이다.
블록 외에도 환경에는 식물, 동물 및 아이템들이 포함된다. 게임 내용은 광석 채굴, 적대적 생물과의 전투, 게임 내 다양한 자원 수집 후 새로운 블록 및 도구 합성 등을 포함한다. 개방형 게임 모드를 통해 플레이어는 다양한 다인용 서버 또는 단일 플레이어 맵에서 건축물과 예술 작품을 만들 수 있다.
마인크래프트에서는 명확한 최종 목표가 없으며, 자유로운 창작이 장려되어 많은 새로운 플레이 방식이 등장한다. 플레이어는 집을 짓고 동물을 기르는 것뿐만 아니라 고급 플레이도 가능하다. 예를 들어 한 스트리머는 TNT를 대량 활용해 장관을 이루는 폭발 효과를 연출했고, 또 다른 플레이어는 게임 내에서 조작 가능한 컴퓨터를 만들었으며, 그 안에 작은 게임까지 내장했다.
마인크래프트에는 이처럼 놀라운 플레이 방식이 무수히 많다.
또한 앞서 언급한 '창조 모드' 외에도 '생존 모드', '모험 모드', '다인용 모드' 등 다양한 게임 방식이 있다. 생존 모드에서는 플레이어가 자원을 채집하고, 피난처를 만들며, 도구와 무기를 제작하고, 적대적 생물과 싸우면서 체력과 배고픔 상태를 유지해야 한다. 모험 모드에서는 자신이나 타인이 만든 맵에서 모험을 즐기며, 보통 창조적인 작업이 제한되고 미리 정해진 규칙에 따라 게임을 진행하게 된다. 다인용 모드에서는 지역망 또는 인터넷을 통해 다른 플레이어들과 함께 게임을 할 수 있으며, 협동 건설, PvP(플레이어 대 플레이어) 전투, 다인용 모험 등을 포함할 수 있다.
또한 플레이어는 제3자 모드를 설치해 게임 방식을 변경하고 새로운 콘텐츠와 기능을 추가함으로써 게임의 다양성을 높일 수 있다.
이것들은 단지 마인크래프트의 일부 플레이 방식에 불과하다. 게임 자체가 높은 자유도와 확장성을 지니고 있어 플레이어는 자신의 관심사와 창의성에 따라 다양한 독특한 플레이 방식을 개발할 수 있다.
Web3 게임
초기 GameFi
앞서 언급했듯이 Web2 게임은 모두 중앙화 문제를 가지고 있으므로, 블록체인 게임(GameFi) 분야에서는 블록체인 기술을 통해 게임의 플레이 방식과 경제 순환을 더욱 최적화할 수 있는지를 탐색하기 시작했다.
자산의 블록체인화
따라서 GameFi가 탄생하게 되었으며, GameFi란 플레이어에게 경제적 인센티브를 제공해 '플레이 앤 원(P2E)'이 가능한 블록체인 게임을 의미한다. 플레이어는 일반적으로 임무 완료, 다른 플레이어와의 대결, 업그레이드 등을 통해 암호화폐 및 대체불가토큰(NFT) 보상을 얻을 수 있다. 위 이미지에서 볼 수 있듯이 이러한 게임은 앞서 설명한 두 종류의 Web2 게임보다 더 높은 탈중앙화 수준을 가지고 있지만 여전히 자율성이 부족하며, 탈중앙화 수준도 아직 충분하지 않다.
GameFi 탄생 이후 Axie, Stepn 등 유명한 프로젝트들이 등장했으며, 게임 내 자산을 NFT 형태로 블록체인에 올려 개방된 유동성 경제 체계를 창출했다. 이 조치는 게임 자산에 금융적 속성을 부여하는 동시에 플레이어 자산의 유일성과 위변조 불가능성을 보장했다.
탈중앙화 수준 부족
그러나 자산이 블록체인화되었음에도 불구하고 게임의 핵심 로직과 플레이 방식 등은 여전히 체인 밖에 머물러 있어 어느 정도의 중앙화 문제가 존재한다. 초기 GameFi에서는 게임 개발자가 여전히 지나치게 광범위한 권한을 갖고 있었으며, Web2 게임 개발자처럼 게임 내 자산의 속성, 플레이 규칙, 심지어 자산 가치까지 마음대로 변경할 수 있었다. 예를 들어, Stepn(런 투 얼언 gamefi)에서 개발자는 게임 내 자산 가치를 마음대로 수정할 수 있으며, 원래 하루에 100달러 수익을 내던 운동화의 수익이 개발자의 일방적인 속성 수정 후 50달러로 떨어질 수 있다. 따라서 초기 GameFi 단계에서는 여전히 어느 정도의 중앙화 문제가 존재한다.
경제 모델의 비합리성
또한 본질적으로 대부분의 초기 GameFi는 사실상 '후속 참가자가 손해를 보는 게임'이었으며, 초기 참가자들은 게임을 통해 많은 토큰을 획득할 수 있었지만, 실제로 이 토큰들은 실질적 가치를 갖지 못했다.
초기 GameFi에서 플레이어는 일반적으로 게임 참여를 위해 NFT를 구매해야 하며, 게임 과정에서 GameFi 토큰 보상을 받는다. 그러나 게임 팀은 주로 플레이어가 NFT를 강제로 구매하도록 유도함으로써 수익을 창출하고, 생산되는 토큰에는 상한선이 없어 토큰 가치가 지속적으로 하락하게 되며, 이는 새로운 플레이어가 계속해서 NFT를 구매해야만 토큰 가격을 유지할 수 있게 된다.
따라서 새로운 플레이어가 NFT를 구매함으로써 게임 팀에 제공하는 수익이 팀의 토큰 회수 비용보다 낮아지면, 팀은 토큰 가격을 안정적으로 유지할 수 없게 되고 토큰 가격은 하락하게 된다. 이후 초기 플레이어들이 매도를 시작하며 공포가 확산되고, 더 많은 플레이어들이 손실을 감수하며 현금화를 시도하게 되어 악순환이 발생한다.
Web3 자율 세계 게임(DAW)
따라서 누군가는 자산을 블록체인화할 수 있다면, 게임 로직이나 데이터 저장 등 다른 요소들도 모두 블록체인으로 이전할 수 있지 않을까 하는 생각을 하게 되었고, 이에 따라 풀체인 게임 개념이 등장했다. 풀체인 게임이란 게임 자산뿐만 아니라 게임과 관련된 모든 요소가 블록체인 네트워크에 저장되어 게임의 완전한 탈중앙화와 체인 상화를 보장하는 게임 유형을 말한다.
본문의 주인공인 DAW는 바로 이러한 풀체인 게임 중 하나이지만, DAW의 의미는 그 이상이다. DAW는 구체적인 임무나 목표를 설정하지 않고, 미리 정의된 경쟁 상대도 없는 '무한 게임(infinite game)'이다. 오직 기본적인 규칙만을 정하고, 이를 '디지털 물리 현실(digital physical reality)'을 기반으로 제약 조건으로 삼는다. 공개적으로 접근 가능한 프로그래밍 인터페이스를 제공함으로써 플레이어가 디지털 물리 현실의 경계 내에서 자유롭게 창조하고, 향상시키며, 게임 경험을 확장하고, 게임 스토리를 더욱 확장할 수 있도록 한다.
참고: '디지털 물리 현실'이란 컴퓨팅 세계에 존재하는 기본 법칙 체계를 의미한다. 각 세계는 자체적인 기본 법칙을 내포하고 있으며, 이 기본 법칙은 그 세계에서 일어나는 모든 것을 지배한다. 이러한 법칙들이 바로 그 세계의 물리학이다. 여기서 말하는 물리학은 인간이 존재하는 원자 세계의 좁은 의미의 물리 법칙을 가리키는 것이 아니라, 어떤 '세계'에 존재하는 기본 법칙 체계 전반을 포괄한다.
풀체인 게임의 하위 집합인 DAW는 게임 자산, 게임 관련 모든 요소, 게임 방식 및 로직 등을 블록체인 네트워크에 저장하는 것 외에도, 다른 풀체인 게임보다 더 많은 특징과 플레이 방식을 지니며, 자율 세계 내에서 플레이어의 자율성이 더욱 강화되고, 재미있는 측면에서도 한층 진보한다. 위 이미지에서 볼 수 있듯이 자율성과 탈중앙화 수준 면에서 DAW는 다른 세 가지 게임 유형을 크게 앞서간다.
그렇다면 DAW는 어떤 강점이 있을까?
완전한 탈중앙화:
DAW는 풀체인 기반 게임 형식으로, 게임 운영 회사의 '부도' 위험에 면역이 있다. 운영 회사가 부도가 나더라도 플레이어는 계속해서 게임을 즐길 수 있다.
반면에 『마인크래프트』 같은 중앙화 게임은 어떤 이유로든 운영 회사가 게임 서비스 중단이나 특정 서버 폐쇄를 선언하면 플레이어에게 큰 피해를 줄 것이다.
또한 초기 GameFi가 단지 자산만 블록체인화한 것과 달리, DAW는 게임과 관련된 모든 요소를 블록체인 네트워크에 저장하므로 보안성이 더 높고 플레이어의 소유권도 더욱 강력하다.
자율성 강화:
DAW에서는 플레이어의 자율권이 더욱 강조된다. CAW와 같이 '자율 세계'의 특성을 공유하는 것 외에도, DAW 게임은 플레이어가 다른 플레이어들이 사용할 수 있는 플러그인을 개발할 수 있도록 허용한다. 예를 들어 가상 상점을 만들어 거래를 위한 공간을 제공할 수 있다. 또한 DAW 플레이어는 CAW 게임에서는 어렵게 실현 가능한 활동들을 수행할 수 있는데, 앞서 언급한 예시처럼 '세계 정부'를 설립하고 스스로 법규를 제정할 수도 있다.
경제적 인센티브:
블록체인 게임으로서 DAW는 토큰 및 NFT 등의 블록체인 자산을 발행할 수 있다. 따라서 플레이어는 '에어드랍(airdrop)' 방식으로 특정 자산을 획득하는 등의 경제적 인센티브를 얻을 수 있다. 또한 게임 내에서 다양한 활동에 참여하도록 유도하기 위해 인센티브 목표를 설정할 수 있다.
예를 들어, 아래에서 소개할 『OP Craft』의 경우, 게임은 플레이어가 게임 내에서 자체적으로 미니 게임을 개발하도록 장려할 수 있으며, 이후 플레이어는 OP Craft 공식 기금에 자금 지원을 신청할 수 있다. 이를 통해 더 많은 플레이어들이 미니 게임에 참여하게 되고, 플레이어가 성공적으로 클리어하면 해당 보상을 받을 수 있다. 이러한 메커니즘은 플레이어의 창의성과 참여도를 자극할 뿐만 아니라 커뮤니티의 협업과 발전을 촉진할 수 있으며, 이것이야말로 진정한 '플레이 앤 원(P2E)' 모델을 실현할 수 있는 방법일지도 모른다.
조합 가능성(Composability):
풀체인 게임으로서 DAW는 강력한 조합 가능성을 지닌다. 이론적으로 서로 다른 풀체인 게임 간에 자산 상호운용이 가능해져 메타버스를 구축할 수 있다. 예를 들어 『Dark Forest』의 플레이어 우주선 자산을 『OP Craft』에서 사용할 수 있고, OP Craft에서 다른 플레이어들은 그 우주선을 타고 다니는 모습을 볼 수 있다고 가정해보자.
참고: Dark Forest는 이더리움 기반의 탈중앙화 실시간 전략(RTS) 게임으로, 류츠신(刘慈欣)의 『삼체』 3부작 중 두 번째 소설 『암흑의 숲(Dark Forest)』과 그 이름을 딴 사상 실험에서 영감을 얻었다. MMO 우주 정복 게임으로, 플레이어는 무한하고 절차적으로 생성되며 암호화된 우주에서 행성을 발견하고 정복한다.
현재로서는 위와 같은 상상을 완전히 실현할 수 있는 실제 프로젝트는 없지만, 이러한 이론적 가정은 개념적으로 실현 가능하며, 다양한 프로젝트들이 이를 현실로 만들기 위해 노력하고 있다. 생태계가 점점 커지고 더 많은 프로젝트 간 협력이 강화됨에 따라, 이러한 상상들이不远的 미래에 성공적으로 실현될 가능성이 있다.
또한 GameFi로서 DAW는 토큰을 발행할 수 있으며, 이 토큰은 DeFi와 결합될 수 있다. 플레이어는 토큰을 마이닝 풀에 스테이킹할 수 있으며, 생성된 트레이딩 페어를 다른 DeFi 프로젝트에 다시 스테이킹해 2차 수익을 얻을 수도 있다. 이러한 DeFi '중첩' 플레이 방식들이 DAW에 풍부한 색채를 더해준다.
2. DAW의 구현 방식
앞서 DAW가 다른 게임 유형에 비해 핵심 경쟁력을 지녔다고 설명했지만, 그렇다면 DAW는 도대체 어떻게 구현되는 것일까?
탈중앙화는 게임 권한을 기존의 게임 개발자로부터 플레이어라는 창의적 실체로 더 많이 이양하며, 조합 가능성은 오랫동안 폐쇄된 정원의 담장을 허물고, 플레이어에게 진정한 소유권을 부여한다.
그러나 초기 GameFi에서는 Web3 세계가 주장하는 바와 같은 진정한 탈중앙화와 조합 가능성을 보지 못했다. 플레이어는 게임 플레이와 콘텐츠에 대해 자율성과 참여감을 느끼지 못했으며, 서로 다른 게임 프로젝트 팀들은 실제로 블록체인 상태를 공유하지 않았다.
핵심 문제
진정한 DAW를 실현하기 위해서는 체인 상 게임이 직면한 몇 가지 핵심 문제를 해결해야 한다:
1. 게임 개발 프레임워크 부족: 각 개발 팀이 일반적으로 자체적으로 구축하는 방식을 채택하고 있어 효율성이 낮으며, 동일한 문제를 해결하고 최적의 솔루션을 지속적으로 개선하기 위한 공유된 시스템 지식을 충분히 활용하지 못하고 있다.
2. 코드 재사용성 부족: 현재 개발 중인 많은 블록체인 게임을 예로 들면, 극히 일부의 게임 코드만이 다른 게임을 만들기 위해 재사용될 수 있다. 서로 다른 게임의 계층과 구성 요소 사이에 명확한 구분이 부족하여 유사한 코드베이스를 활용해 다음 세대 게임을 구축할 잠재력이 제한된다.
3. 데이터 조합 가능성 부족: 블록체인 게임 간 블록체인 상태를 공유하는 문제와 게임 A와 게임 B의 데이터를 효과적으로 사용해 서로를 기반으로 구축하는 능력은 여전히 해결되지 않은 과제이다.
따라서 진정한 DAW를 구축하기 위해서는 '게임을 어떻게 만드는가'라는 수준을 넘어서 더 근본적인 차원에서 문제를 해결해야 한다. 즉, 블록체인에 더 일반적이고 적용 가능한 게임 개발 프레임워크 또는 엔진을 찾는 것이다.
게임 엔진이란 무엇인가
게임 엔진은 본질적으로 모듈화된 코드 라이브러리와 도구들의 집합이다. 게임 개발자는 엔진의 다양한 인터페이스를 호출함으로써 그래픽 렌더링, 물리 시뮬레이션, 네트워크 통신 등의 작업을 수행할 수 있으며, 저수준의 프로그래밍 작업에 관여할 필요가 없다. 이 특성은 시간을 크게 절약해주며, 개발자가 게임 디자인과 콘텐츠 창작에 더 집중할 수 있도록 해준다. 상업용 게임 엔진 분야에서 가장 흔한 엔진은 Unity와 Unreal이다.
현재 많은 Web2 게임은 물론 일부所谓 '약한 체인 상 게임'조차 Unreal이나 Unity를 사용하고 있다. 그러나 풀체인 게임이 지속적으로 발전하고 성숙함에 따라 일부 Web3 게임 스튜디오들은 개발자들이 복잡한 탈중앙화 게임 로직과 상호작용 콘텐츠를 작성할 수 있도록 자체 게임 엔진을 개발하고 있다.
비록 체인 상 게임 엔진은 개념상 기존 게임 엔진과 큰 차이가 없으며, 모두 게임 개발 과정을 단순화하는 것을 목표로 하지만, 구체적인 구현에서는 풀체인 게임의 게임 상태가 블록체인에 저장된다는 점 때문에, 체인 상 게임 엔진의 패키징 방식은 전통적인 엔진과 근본적인 차이가 있다. 체인 상 게임 엔진은 상태 동기화, 게임 보안, 가스 비용 효율성 향상, 조합 가능성 및 상호운용성 극대화에 더욱 주목한다. 따라서 개발자는 게임 자체에 더 집중할 수 있으며, 블록체인 호환성 문제에 대한 걱정을 줄이고, Solidity 프로그래밍 언어 학습 비용을 낮출 수 있다.
풀체인 게임 엔진에는 무엇이 있는가 — MUD를 중심으로
현재 풀체인 게임 분야에서는 주로 MUD, Dojo Engine, World Engine, Keystone 등 4대 엔진이 있으며, 그 중에서도 특히 MUD와 Dojo Engine이 주목받고 있다. 본문에서는 최초의 풀체인 게임 엔진인 MUD를 중심으로 소개하겠다.
MUD는 풀체인 게임 엔진 분야의 선구자로, EVM 호환 애플리케이션 구축에 사용할 수 있는 프레임워크이다. 주로 ECS 프레임워크를 중심으로, 풀체인 게임 개발에서의 세 가지 핵심 문제인 계약과 클라이언트 상태 동기화, 콘텐츠의 지속적 업데이트, 다른 계약과의 상호운용성을 해결하는 데 중점을 둔다. 일련의 코드 라이브러리와 도구를 제공함으로써 개발자가 dApp을 보다 쉽게 구축할 수 있도록 하며, 특히 복잡한 dApp(예: 게임 애플리케이션) 개발에 적합하다. 이론적으로 MUD는 어떤 애플리케이션도 개발하는 데 사용할 수 있지만, 특정 속성 덕분에 체인 상 게임 엔진으로서 특히 적합하다.
배경 팀
MUD의 개발팀은 Lattice이며, Lattice는 0xPARC의 하위 프로젝트이자 매우 중요한 구성 요소이다. 0xPARC는 원래 풀체인 게임의 원조인 Dark Forest 팀과 기타 몇몇 프로젝트가 공동으로 설립한 조직이다.
흥미롭게도 '자율 세계' 개념을 처음 제안한 것도 바로 0xPARC이며, 2022년 9월 중순부터 12월 중순까지 0xPrac는 '자율 세계 거주 프로그램'이라는 오프라인 행사를 개최했다. 참여자는 Lattice, Dark Forest, DFDAO, CAPSULE, Moving Castle 등이었다. 이 행사의 목적은 자율 세계, 체인 상 게임 및 관련 기술을 구축하거나 구축에 관심 있는 팀들을 대면 중심으로 모아 협업, 아이디어 교환, 학습, 피드백을 촉진하고 궁극적으로 이 새로운 분야를 형성하고 이끌기 위함이었다.
이 행사 기간 동안 0xPrac는 행사에 성공적으로 참가 신청한 모든 참가자에게 자금 지원을 제공했는데, 매월 600파운드/720달러의 교통비와 1,500파운드/1,800달러의 숙박비를 보조했다. 또한 0xPrac는 추가 보조금을 제공하며, 구체적인 상황에 따라 검토되었으며, 이 보조금은 프로젝트 범위, 팀 및 헌신 수준에 따라 달라졌다.

또한 위 이미지에서 볼 수 있듯이 최근 0xPrac는 자율 세계 네트워크(Autonomous Worlds Network)를 출시했다. 공식 발표에 따르면 이 네트워크의 주요 관심 분야는 다음과 같다:
1. 연구 및 개발: 블록체인 내외부의 자율 세계 경계를 뛰어넘는 실험적 방법과 프로젝트를 지원한다.
2. 오픈소스 도구 및 인프라: 새로운 세계에는 새로운 도구와 인프라가 필요하며, 개방된 생태계 가치에 따라 이러한 도구를 개발하도록 장려한다.
3. 교육 및 생태계 발전: 개발자, 기술자, 예술가, 작가, 디자이너로 구성된 창의적 생태계를 지원하여 자율 세계의 정의와 발전에 기여한다.
ECS (Entity-Component-System Framework, 즉 엔티티-컴포넌트-시스템 프레임워크)
ECS는 전통적인 게임 업계에서 매우 고전적인 프레임워크로, 일반 엔진 위에 구축된 계층으로, 게임 객체 간의 관계, 상호작용 및 조작 업데이트를 해결하는 모델이다.
다른 소프트웨어 아키텍처 패턴에 비해 ECS는 많은 장점을 지닌다. 매우 효율적이며, 현재 장면에 필요한 데이터만 로드하기 때문이다. 또한 매우 유연하며, 개발자가 새로운 게임 객체와 시스템을 쉽게 생성할 수 있도록 한다.
게임 개발에서 ECS를 사용하는 몇 가지 이점은 다음과 같다:
1. 효율성: ECS는 메모리와 CPU 사용 측면에서 뛰어난 효율성을 보이며, 이는 현재 장면에 필요한 데이터만 로드하기 때문이다.
2. 유연성: ECS는 게임 객체 생성 및 수정 방식에서 매우 유연하다. 엔티티 자체는 데이터나 행동을 포함하지 않고, 첨부된 컴포넌트를 통해 정의되기 때문이다. 이는 개발자가 새로운 게임 객체와 시스템을 쉽게 생성할 수 있게 한다.
3. 확장성: ECS는 대규모 게임에 탁월한 확장성을 지닌다. 중앙 집중식 데이터 구조에 의존하지 않기 때문이다. 오히려 엔티티와 컴포넌트는 분산 방식으로 저장되어 수백만, 수십억 개의 엔티티를 포함하는 게임을 만들 수 있다.
OOP의 문제점
ECS가 널리 채택되기 이전, 게임 업계는 일반적으로 데이터 처리를 위해 객체지향 프로그래밍(OOP) 방법을 사용했다. 이 방식은 다양한 게임 객체를 클래스(Class) 구조 아래에 중첩하여 클래스의 속성과 기능을 상속함으로써 전체 데이터 프레임워크를 구성하는 것이다.
이러한 패턴은 몇 가지 명백한 문제를 가지고 있다:
1. 상속 관계: 게임 객체 간의 관계는 일반적으로 초기 단계에서 정의되어야 하며(이는 거의 불가능하다), 그렇지 않으면 새로운 유형의 객체가 나타나고 여러 오래된 클래스의 기능을 사용해야 할 때 상속이 복잡하고 실현하기 어려워진다.
2. 유지보수 문제: 게임 콘텐츠가 증가함에 따라 클래스 수가 점점 늘어나 유지보수가 매우 번거로워진다.
3. 성능 병목: 게임 엔진은 모듈이 많지만, 많은 모듈 사이에는 직접적인 연관이 없다. 예를 들어 렌더링 모듈과 네트워크 연결 모듈 사이에는 별다른 관련이 없다. 그러나 모든 속성을 하나의 객체에 넣게 되면 성능에 반드시 영향을 준다.
ECS의 해결책
참고: 이 소절은풀체인 게임③ : 엔진과 생태계 - Mud & Dojo를 참고했다.
MUD는 OOP 방식을 버리고 ECS 프레임워크를 채택하여 모든 속성을 생명력, 위치, 원소 속성 등 개별 컴포넌트로 분해한다.
ECS에서 엔티티(Entity)는 특정 컴포넌트 집합을 고유하게 식별하는 데이터 식별자에 불과하다. 따라서 '플레이어'라는 식별자는 {"HP", "MP"...} 등의 컴포넌트 집합에 해당한다. 중요한 것은 엔티티와 컴포넌트 모두 연산 로직을 포함하지 않으며, 모든 연산은 시스템(System)이 처리한다는 점이다. 예를 들어 이동 시스템은 엔티티의 이동을 처리하고, 피해 시스템은 전투 수치 계산을 처리한다.
더 잘 이해하기 위해 Boreal Games의 한 기사에서 제시한 사례를 비교해보자. 우리가 돌, 나무, 적, 플레이어 등 네 가지 요소를 포함하는 매우 간단한 게임을 개발한다고 가정하자. 전통적인 OOP 구현 방식은 다음과 같다:

ECS를 채택한 구현 방식:

따라서 ECS가 매우 높은 수준의 모듈화된 데이터 관리 시스템임을 명확히 알 수 있다. 이 설계에서 '엔티티' 개념은 게임 디자인 방식을 완전히 바꾸었으며, 게임 디자이너가 매번 프로그래머에게 게임 로직 수정을 의뢰할 필요가 없다. 또한 각 엔티티 간의 관계도 후속 조정이 용이하다.
무소유 공간(No Sovereignty Space)
MUD의 두드러진 특징 중 하나는 누구나 상태와 로직을 위한 새로운 무소유 공간을 만들 수 있다는 점이다. 컴포넌트 생성자는 이 프레임워크 위에서 원활하게 협업할 수 있으며, 중앙 World 계약에서 데이터를 효율적으로 조회할 수 있어 전체 노드 블록체인 동기화가 필요 없다. 또한 MUD의 고유한 상호운용성은 서로 다른 세계가 상호작용할 수 있게 하여 흥미롭고 허가가 필요 없는 가능성을 열어준다.
핵심 구성 요소
Web3 생태계의 성숙에 따라 애플리케이션 구축 및 확장성 실현을 위한 새로운 방법들이 등장하고 있다. 많은 주목할 만한 개발이 제로지식(ZK) 기술과 모듈화/DA(데이터 가용성) 블록체인에 집중되고 있지만, MUD는 매력적인 대안을 제공한다.
MUD 사용에 관심 있는 개발자를 위해 이 프레임워크는 스토어(Store), 월드(World), 조폐소(the Foundry), 모드(mode) 등 여러 핵심 구성 요소를 제공한다.
여기서 Store는 가스 효율성을 최적화한 체인 상 데이터베이스로서 SQLite에서 영감을 받았으며, 개발자에게 테이블, 열, 행을 사용해 데이터를 저장하고 검색할 수 있는 기능을 제공한다. 전통적인 Solidity 저장 메커니즘에 대한 더욱 자율적인 대안을 제공한다. Store를 통해 개발자는 사용자 정의 데이터 구조(예: AllowanceTable)를 정의하고 설정 및 가져오기 작업을 통해 데이터와 상호작용할 수 있다.
반면에 World는 입구점 커널 역할을 하며 표준화된 액세스 제어, 업그레이드 및 모듈 기능을 제공한다. 계약과 저장소 사이의 중개자 역할을 하여 데이터에 대한 안전하고 통제된 액세스를 보장한다. 시스템 자체는 무상태 계약으로, 전체 세계의 실행 로직을 나타내며 저장소와 데이터를 읽고 쓰는 상호작용을 한다. 사용자 정의 권한을 사용하여 서로 다른 계약 사이에 로직을 분할함으로써 MUD는 모듈화와 업그레이드 가능성을 촉진한다.
Store와 World 외에도 MUD는 Foundry 기반의 초고속 개발 도구(체인 상 상태를 반영하는 클라이언트 데이터 저장소)와 MODE(Postgres 데이터베이스, 체인 상 상태와 일대일로 매핑됨)를 제공한다. MODE는 개발자가 SQL을 사용해 체인 상 상태를 조회할 수 있도록 하며, 클라이언트 애플리케이션과의 실시간 데이터 동기화를 위한 효율적인 매트리얼라이즈드 뷰를 제공한다.
MUD의 Store와 World를 충분히 활용함으로써 개발자는 추가 인덱서나 서브그래프 없이도 쉽게 체인 상 애플리케이션을 생성할 수 있다. 체인 상 데이터는 자율 관리되며, 모든 변경 사항은 표준 이벤트를 통해 전파된다. MODE는 체인 상 상태와 클라이언트 애플리케이션 간 실시간 동기화에서 중요한 역할을 하며, 복잡한 폴링(complex polling)이나 서브그래프 구독(subgraph subscriptions)의 필요성을 제거한다. 이는 개발 프로세스를 단순화하고 체인 상 애플리케이션의 전반적인 효율성을 높인다.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News














