나인 크로니클 게임 소개: 립플래닛(Libplanet) 엔진
안녕하세요. 나인 크로니클입니다.
저번 소개글을 통해 나인 크로니클 게임에 대해 간단히 소개해드렸습니다. 이번 글에서는 지금의 나인 크로니클이 운영될 수 있는 환경을 만들어준 핵심 기술 ‘립플래닛(LibPlanet)’에 대해 설명드리겠습니다.
본격적인 설명에 앞서 기존 게임 커뮤니티에 대한 이야기를 드리고자 합니다. 현재 게임 생태계에서 있어 커뮤니티는 게임 발전에 아주 큰 영향을 끼쳐왔습니다. 하이라이프의 모드 ‘카운터스트라이크’나, 스타크래프트의 모드 중 하나인 ‘Aeon of Strife’가 하나의 AOS라는 게임 장르로 발전할 수 있었던 것은 커뮤니티의 힘이 컸습니다. 또한 스팀(Steam) 플랫폼에는 3만여 개의 유저 제작 콘텐츠(UGC) 게임이 등록되어 있으며, 비디오 플랫폼 로블록스(Roblox)는 월간 유저 1억 명을 보유하고 있습니다. 이런 현상을 보아 커뮤니티는 게임 생태계에 큰 영향을 미치는 것을 알 수 있습니다.
그런데 이게 블록체인과 무슨 상관이 있을까요? 앞선 예시들처럼 게임 산업은 커뮤니티 덕분에 지금처럼 커졌다고 해도 과언이 아닐 것입니다. 하지만 동시에 한계점 또한 존재합니다. 바로 대부분의 콘텐츠들이 다른 게임을 이용한 ‘모드’일 뿐 독립된 온라인 게임이 아니라는 점입니다.
이러한 한계점을 극복하기 위해 플라네타리움은 블록체인을 사용하여 서버의 오류나 문제없이 누구나 쉽게 멀티플레이어 게임을 만들 수 있도록 하고자 ‘립플래닛(Libplanet)’ 엔진을 개발했습니다.
립플래닛에 관한 내용은 깃허브를 통해 찾아볼 수 있으니 관심 있는 분들은 이곳을 통해 확인해보시길 바랍니다!
그럼 본격적으로 립플래닛에 대한 소개를 드리도록 하겠습니다.
립플래닛(Libplanet), 중앙 서버가 필요 없는 네트워크 라이브러리
립플래닛은 ‘분산 P2P 네트워크를 통해 운영되는 게임 네트워크 라이브러리’입니다. 네트워크 라이브러리란 게임에 필요한 여러 기능들 중 네트워크와 관련된 부분을 구현하기 위한 소스코드 모음입니다. 기존의 멀티플레이어 게임은 중앙 게임 서버를 통해 게임의 상태 및 네트워크를 관리하였지만, 립플래닛을 사용하게 되면 모든 클라이언트가 상태를 관리하고 네트워크를 운영하게 됩니다.
립플래닛 구현 방식
립플래넷에서 게임의 상태는 게임 내 액션(Action)을 통해 전파되게 됩니다.
예를 들어, 레벨 1인 캐릭터가 액션(전투)을 통해 레벨 2가 되면, 캐릭터의 상태(레벨)가 아닌 그 액션(전투)을 전파하게 됩니다. 그리고 이 액션들이 모여 트랜잭션에 담기고, 이 트랜잭션이 다시 블록에 저장됩니다.
이때 몇 가지 에러 사항이 발생합니다. 바로 서버리스(Serverless)이기 때문에 일괄적인 게임 클라이언트 업데이트가 어려우며, 아이템 조합 시 정보가 블록에 담기는데 시간이 필요로 하다는 점이 있습니다. 하지만 립플래닛은 패치 데이터를 온체인에 담아 클라이언트 끼리 전달하거나, 조합 시 걸리는 시간을 게임상의 연출로 풀어내어 립플래닛만의 특징으로 녹여내고 있습니다.
이와 관련한 자세한 컨셉이 궁금하시다면 나인 크로니클 한국 커뮤니티 혹은 플라네타리움 디스코드를 통해 문의하시거나, 이곳 링크를 참고해 주세요.
립플래닛을 사용한 최초의 게임, 나인 크로니클
이렇게 립플래닛을 통해 탄생한 첫 번째 게임이 바로 나인 크로니클입니다. 단순히 게임 아이템을 블록체인 상에 올려 자산화하는 것뿐만 아니라, 블록체인에 대한 이해 없이도 누구나 재미있게 즐길 수 있는 블록체인 게임을 만들기 위해 노력하고 있습니다. 또한 기존의 RPG 게임에서는 게임사가 원할 때마다 아이템을 생성할 수 있지만, 블록체인 게임에서는 한정된 자원을 통해 제작하거나 다른 플레이어를 통해 구매하여 제작하여야 하기 때문에 기존 게임과는 다른 유저 경험을 제공할 것이라 생각합니다.
마지막으로 립플래닛은 오픈소스로 제공되기 때문에 자유로운 창작과 발전이 가능할 것이라 생각됩니다. 게임 개발사와 게이머들에게 지금까지 블록체인 플랫폼이 제공하지 못하였던 높은 자유도를 제공하고, 장기적으로 더 높은 퀄리티의 서드파티 게임이 탄생하기를 기원하고 있습니다.