디센트럴랜드 SDK 알파 버전 릴리즈

디센트럴랜드에서 처음으로 공개하는 API를 사용하여 메타버스를 구현하세요

Eric Schallock
Decentraland
9 min readApr 23, 2018

--

디센트럴랜드 소프트웨어 개발 키트는 개발자들이 디센트럴랜드를 위한 게임과 애플리케이션을 개발하는 일을 시작하는데 필요한 도구, 문서, 그리고 API 알파 버전을 제공합니다. 저희는 콘텐츠 제작자와 개발자를 염두에 두고 디센트럴랜드 SDK (소프트웨어 개발 키트)를 제작하였습니다. 하지만 저희는 개발을 하고자하는 마음을 가지고 있으며, 디센트럴랜드를 위한 경험을 구현하는데 관심이 있는 모든 사람들이 SDK를 활용할 수 있도록 하고자 합니다.

디센트럴랜드 SDK (소프트웨어 개발 키트)는 무엇인가요?

디센트럴랜드 소프트웨어 개발 키트 (Software Development Kit, SDK)는 여러분이 3D 콘텐츠를 구현하고 여러분이 소유한 토지 (LAND)에 배치하는 작업을 돕도록 설계된 도구와 자원을 모아놓은 것입니다. 여러분은 소프트웨어 개발 키트 (Software Development Kit, SDK)을 통해 디센트럴랜드의 WebVR 플랫폼 상에서 고정된 작업물 및 멀티플레이어 상호작용 등 작업물 구현에 필요한 것들을 제공합니다.

잠깐만요, 작업물은 무엇을 의미하나요?

디센트럴랜드의 작업물은 하나 혹은 그 이상의 토지 (LAND) 구획에 렌더링된 3D 오브젝트, 텍스쳐, 그리고 오디오의 모음을 의미합니다.

작업물은 다음과 같은 것들이 포함됩니다:

  • 스태틱 (Static): (A-Frame에서 영감을 받은) HTML과 유사한 마크업을 사용하여, 여러분은 단순한 작업물 내에 3D 오브젝트를 배치하거나, 오디오나 영상을 재생시킬 수 있습니다.
  • 다이내믹 & 싱글플레이어 (Dynamic & singleplayer): 타입스크립트 라이브러리 (Typescript Library)인 메타버스-애플리케이션 프로그래밍 인터페이스(metaverse-api를 사용하여, 여러분은 보다 더 복잡하고 인터랙티브한 작업물을 구현할 수 있습니다.
  • 다이내믹 & 멀티플레이어 (Dynamic & multiplayer): 소프트웨어 개발 키트 (SDK)를 사용하여 원격 서버에서 실행되는 매우 복잡한 작업물을 구현할 수 있습니다. 또한, 해당 작업물 내에서 한 명 혹은 그 이상의 플레이어가 해당 콘텐츠와 상호작용하는 것을 더욱 손쉽게 만들 수도 있습니다. 해당 스크립트는 서버 상에서 구동되며, 웹소켓 (WebSocket) 인터페이스를 통해 클라이언트에 연결됩니다. 이러한 멀티플레이어 작업물들은 여전히 실험 단게에 있으며, 추후 진행될 릴리즈 내용에 따라 개선될 예정입니다.

왜 개발자들을 위한 도구가 필요한가요?

가상 세계를 구현하는 일에는 매우 많은 작업이 필요합니다. 그리고 개발자, 디자이너, 아티스트가 포함된 커뮤니티 전체의 협업이 필요한 일이라고도 할 수 있습니다. 그래서, 저희는 사용자들이 디센트럴랜드 플랫폼을 최대한 빨리 실행할 수 있도록 개발자 도구 모음을 릴리즈하기로 결정하였습니다.

저희는 디센트럴랜드 커뮤니티 일원 모두가 메타버스 탐험을 할 수 있기를 고대하고 있다는 것을 잘 알고 있습니다. 하지만, 메타버스를 탐험하는 일을 가능하게 하기 위해서는 우선 커뮤니티 구역, 게임 개발자, 아티스트, 이더리움 개발자분들이 게임, 콘텐츠, 애플리케이션, 그리고 다양한 경험을 개발하고 배치하는 작업을 저희가 지원해야 합니다.

소프트웨어 개발 키트 (SDK)에는 어떤 것들이 포함되어 있나요?

해당 소프트웨어 개발 키트 (Software Development Kit, SDK)에 포함된 요소는 다음과 같습니다: 명령어 인터페이스 (Command Line Interface, CLI), 애플리케이션 프로그래밍 인터페이스 (Application Programming Interface, API) 알파 버전, 그리고 관련 문서.

명령어 인터페이스 (Command Line Interface, CLI)

명령어 인터페이스 (Command Line Interface, CLI)는 여러분들이 작업물을 생성하고, 관리하며, 배치할 수 있도록 도와줍니다. 저희는 8.0 버전 이상의 node.js가 실행되는 Linux, MacOS, Windows 기기라면 명령어 인터페이스 (Command Line Interface, CLI)를 사용할 수 있게 만들어 놓았습니다.

저희는 지난 1월에 명령어 인터페이스 (Command Line Interface, CLI) 의 첫번째 버전을 발표하였습니다. 저희는 해당 명령어 인터페이스 (Command Line Interface, CLI)를 소프트웨어 개발 키트 (Software Development Kit, SDK)와 하나로 묶고자 합니다. 위 내용은 작업물의 최초 구조를 생성하는 첫 단계 부터, 여러분의 생성한 작업물을 여러분이 소유한 토지 (LAND)에 배치하고 연결하는 최종 이더리움 트랜잭션을 수행하는 단계까지 포함한 디센트럴랜드의 개발 과정에서 매우 핵심적인 부분이라고 볼 수 있습니다.

애플리케이션 프로그래밍 인터페이스 (Application Programming Interface, API)

해당 애플리케이션 프로그래밍 인터페이스 (Application Programming Interface, API)은 인터랙티브한 작업물을 구현하는데 필요한 클래스와 메소드 모음을 포함하고 있습니다. 저희 애플리케이션 프로그래밍 인터페이스 (Application Programming Interface, API)는 게임 디자인에 자주 이용되는 엔티티-컴포넌트 시스템을 활용합니다. 그렇기에, 인터랙티브한 3D 콘텐츠를 구현하는데 더욱 적합해집니다. 이 말은 즉슨, 당신의 작업물 내에 있는 모든 오브젝트엔티티로 정의되고, 모든 엔티티가 하나 혹은 그 이상의 컴포넌트로 구성된다는 것을 의미합니다.

모든 오브젝트, 엔티티, 그리고 컴포넌트는 애플리케이션 프로그래밍 인터페이스 (Application Programming Interface, API) 상에 존재하는 메소드와 컨트롤러를 사용하여 컨트롤이 가능합니다.

문서

명령어 인터페이스 (Command Line Interface, CLI)와 애플리케이션 프로그래밍 인터페이스 (Application Programming Interface, API)는 저희 소프트웨어 개발 키트 (Software Development Kit)의 핵심 도구입니다. 여러분들이 신속하게 대응하게끔, 경력과 관계 없이 개발자 모두를 교육시키기 위한 목적으로 여러분들이 참조할 수 있는 문서를 작성해놓았습니다.

SDK 빠른 시작 가이드

소프트웨어 개발 키트 (Software Development Kit, SDK)를 설치하는 데 필요한 단계적 가이드입니다. 여러분의 첫 번째 작업물을 생성하고, 테스트하고, 배치하는 방법에 대한 설명이 포함되어 있습니다.

SDK 개요 + API 가이드

저희 애플리케이션 프로그래밍 인터페이스 가이드 (Application Programming Interface, API) 는 당신의 작업물을 구현하는데 사용할 수 있는 클래스와 메소드에 대한 개요를 제공합니다. 위 가이드는 엔티티-컴포넌트 시스템에 대한 논의를 포함하고 있고, 디센트럴랜드를 위해 인터랙티브 콘텐츠를 구현할 때에 해당 시스템을 활용하는 방법을 알려줍니다.

코드 예시안

만약에 여러분이 바로 실험을 해보고 싶거나, 아니면 영감을 얻기를 바란다면, 저희 코드 예시안을 확인하시고 소프트웨어 개발 키트 (Software Development Kit)를 사용하여 디센트럴랜드에서 어떤 것들이 가능한지 알아보시기 바랍니다.

API 레퍼런스

저희 애플리케이션 프로그래밍 인터페이스 레퍼런스 (API Reference)를 통하면 궁금하신 점에 대한 답변을 손쉽게 찾을 수 있습니다. 또한, 저희 애플리케이션 프로그래밍 인터페이스 (Application Programming Interface, API)에 포함된 모든 메소드와 패러미터에 대해 상세한 설명을 확인하실 수도 있습니다. 저희는 애플리케이션 프로그래밍 인터페이스 레퍼런스 (API Reference)를 최대한 종합적이고 직관적으로 구성하여 여러분들이 추측을 하거나 시행착오 없이 일을 진행할 수 있도록 노력하였습니다.

해당 SDK를 통해 어떤 것을 구현할 수 있나요?

저희가 이번에 공개하는 소프트웨어 개발 키트 (Software Development Kit, SDK)는 저희가 대중에게 처음 공개하는 버전입니다. 여러분들은 해당 소프트웨어 개발 키트 (Software Development Kit, SDK)를 통해 여러분들의 토지 (LAND) 상에 다양한 경험을 구현할 수 있습니다. 하지만 저희는 이미 앞으로 여러분들이 더욱 더 풍부하고 탄탄한 작업물을 구현할 수 있게끔 소프트웨어 개발 키트 (Software Development Kit, SDK)를 확장하는 작업에 착수했습니다.

이번에 진행되는 소프트웨어 개발 키트 (Software Development Kit, SDK) 릴리즈는 여러분들이 고정된 (스태틱) 싱글플레이어 작업물과 동적인 (다이내믹) 싱글플레이어 작업물을 구현할 수 있도록 했습니다. 다른 말로 표현하자면, 여러분은 플레이어 1인이 혼자서도 상호작용할 수 있는 3D 경험을 인터랙티브 요소 없이도 구현할 수도 있습니다.

저희는 다수의 사용자들이 작업물 요소 혹은 사용자끼리 상호작용할 수 있는 실험적인 멀티플레이어 작업물을 구현할 수 있는 기능을 넣어두었습니다. 저희는 여전히 해당 기능을 최적화하는 작업을 진행하고 있으며, 추후 공개되는 소프트웨어 개발 키트 (Software Development Kit, SDK) 버전들에 멀티플레이어와 관련된 지원 내역을 계속해서 공개할 예정입니다.

해당 SDK를 어디서 얻을 수 있나요?

소프트웨어 개발 키트 (Software Development Kit, SDK)를 설치하는 작업은 여러분이 컴퓨터 터미널에서 npm install -g decentraland 커맨드를 실행하는 것만큼 쉬운 일입니다.

혹은, 소프트웨어 개발 키트 (Software Development Kit, SDK) 설치방법을 포함하여 여러분들이 알아할 수도 있는 내역들에 대해 더 자세한 논의를 확인할 수 있는 빠른 시작 가이드를 참조하실 수도 있습니다.

여기에 설명되지 않은내용들은 어디서 확인할 수 있나요

디센트럴랜드 소프트웨어 개발 키트 (Software Development Kit, SDK)의 구성요소에 대해 더 알고 싶으시다면, 여기 문서를 통해 확인해보시기 바랍니다. 위 문서에는 해당 소프트웨어 개발 키트 (Software Development Kit, SDK)를 활용하여 구현할 수 있는 예시안을 확인하실 수 있으며, 자주 묻는 질문 및 답변도 확인하실 수 있습니다.

최근 개발 사항을 지속적으로 확인하세요

다음 커뮤니케이션 채널을 통해 저희와 소통하시고 디센트럴랜드에 대해 알아가시기 바랍니다:

--

--