최신 커뮤니티

추천 커뮤니티

인기 커뮤니티

핫뉴스 취재기사 기대작 인기신작 업계소식 집중분석 커뮤니티
VR게임 | 웹게임 | 인디게임 | 포켓몬 | 탑10기사 | 시장분석
로그인 | 회원가입

홈 > 뉴스센터 > 핫뉴스

"블록체인게임 1시간만에 만들기" 유니티엔진SDK 적용 실전(2)-아이템 만들기

[ 등록일시 : 2019-04-12 17:11:22 ]

블록체인 게임 1시간만에 만들기 실전 두번째 시간이다. 지난 시간에는 ERC-1155 표준과 사례를 알아봤고, 이번에는 실전이다. 최근 엔진SDK의 한글 가이드가 완성됐다. 가이드를 토대로 실제 게임에 SDK를 적용해보자. 유니티 엔진과 엔진SDK를 태어나서 처음 구경해본 완전 초보자의 시선으로 튜토리얼 영상과 가이드를 따라했다. 



유니티엔진에 엔진블록체인SDK와 게임을 에셋 형태로 불러왔다

뭐든 만들려면 준비물이 있어야 한다. 유니티엔진이 가장 기본이다. 여기에 유니티게임과 엔진SDK를 에셋 형태로 불러왔다. 유니티게임을 어디서 구하나 싶었는데, 유니티 에셋스토어에서 무료로 다운받을 수 있다. 그 외의 준비물의 URL은 아래와 같다. 

유니티엔진: https://store.unity.com/kr/download?ref=personal
샘플게임(완성본폴더가 있음): https://bit.ly/2LWMMSd
엔진SDK 가이드(한글): https://kovan.cloud.enjin.io/docs/enjin
따라하기 영상(1): https://www.youtube.com/watch?v=16eMJmudXaA
따라하기 영상(2): https://www.youtube.com/watch?v=u9WQlJ-oSCU

유니티게임은 2D로그라이크 게임인데, 유튜브 영상을 통해 하나씩 따라하도록 했다. 이 기사를 위한 완전 깔맞춤의 퍼펙트한(?) 영상이다. 하지만, 상영 시간이 너무 길어 중간에 그만둬야 했다. 하지만 그래픽이 예쁘장해서 시간을 할애해서라도 따라하고 싶은 영상이다. 

엔진의 한글 가이드를 살펴보니 게임을 등록하고, 엔진지갑 만들고, 첫 아이템 만들고, 게임에 아이템 사용하기의 4가지 순서다. 그 뒤로 엔진클라우드API와 유니티SDK, 월렛데몬, 메타데이터 등이 있지만 너무 어려워 보인다. 한글 가이드보다는 영어 자막 영상을 참고하여 블록체인 아이템을 만들어 보았다. 

1. 엔진 계정 & 지갑 만들기
일단 영상 순서대로 엔진지갑부터 만들었다. 엔진 지갑은 엔진 개발자 포털(https://kovan.cloud.enjin.io/docs/enjin )에서 계정을 만든 후에 만들 수 있다. 지갑은 구글에서 '엔진지갑(com.enjin.mobile.wallet)'을 다운받아도 되지만, 가이드에서 apk를 다운받아도 된다. 받은 apk는 앱플레이어에서 실행을 하면 된다.  

▲이번 테스트에서는 기존에 있던 엔진 지갑을 그대로 사용했다. '지갑생성하기'를 눌러, 비밀번호를 입력하고, 선택된 그대로 지갑을 생성한다. 이제 앱을 개발자 모드로 바꿔줘야 한다. ▲좌측 메뉴-설정 메뉴 가장 하단 우측의 지갑버전 번호를 10번 탭하면 개발자 모드가 열린다. 더 두드리면 멘트가 개발자가 되기 3단계 전, 2단계전, 1단계 전, ‘개발자이십니다’로 바뀐다. 개발모드가 활성화된 것을 확인한다. 그러면 없었던 '(kovan)'이 붙은 코인이 생성된다. 이것이 실제 코인인 ENJ와 구별되는 ENJ(kovan) 개발 전용 코인이다. 
 

10번 이상 두들기기, 엔진(Kovan),이더리움(Kovan) 2개만 선택

▲ 메인지갑 화면에서 '+'를 눌러 새지갑을 만들고 'EnjinCoin(kovan)과 Etherum(Ropsten)' 2개만 선택해주자. 그리고 12개의 암호를 적어서 백업을 한다. ▲ 다음은 지갑에 이더리움과 엔진코인을 넣을 차례. 이더리움은 네트워크 트랜젝션 비용에, 엔진코인은 아이템 생성시 사용된다. 지갑에서 이더리움을 선택해서 주소를 복사한다. 엔진 kovan testnet Faucet(https://kovan.faucet.enjin.io/ )에 주소를 넣으면 지갑에 이더리움이 들어온다. 




이더리움 주소를 넣으면 지갑에 들어온다

실제 이렇게 진행을 했더니, KETH에만 코인이 들어오고 KENJ에는 코인이 들어오지 않았다. 영상(4:04)처럼 0.1KETH, 100KENJ가 되지 않는다. 무엇이 잘못됐을까? 퍼싯(Facuet) 대시보드에 코드를 넣어봐도 이미 사용했으니 기다리라고 한다. 그렇게 하루를 기다렸다가 다시 시도하니 된다. 아마도 조금 늦게 들어오는 모양이다. 두 번의 시도 끝에 400ENJ가 됐다. 

 

2. 유니티엔진에서 엔진SDK 불러오고, 지갑 연결하기 

다음 영상은 유니티엔진SDK를 유니티엔진에 불러오는 일이다. 영상(4:44)은 빈 프로젝트에서 엔진SDK를 임포트하는 영상이다. 유니티엔진을 연다. 파일-새프로젝트를 누르고 템플릿은 2D를 선택했다. Add Asset Package에서 2D Roguelike와 Blockchain SDK by Enjin 2개에 체크를 하고 새로운 프로젝트를 생성했다. 하나는 게임이고, 하나는 엔진SDK다. 프로젝트명은 game0411. 에셋메뉴에 많은것들이 생겼다. _Complete-Game 폴더가 로그라이크게임이고, Enjin 폴더가 엔진SDK 관련 폴더다. 


유니티엔진에서 SDK와 게임 불러오기

앱생성하기

유니티엔진에서 Window-Layouts-Enjin SDK Editor(Alpha) 순으로 에디터를 연다. 에디터에서 로그인을 한다. ADD APP을 누르고, 앱 이름에는 'game0411'을 넣었다. 나머지 아이콘 url과 설명은 옵션이다. 마음대로 넣어도 된다. 영상(6:33)에는 엔진의 샘플게임 중 이미지 하나의 url을 가져왔다. 구글에서 딸기(strawberry) 검색해서 5번째 이미지 url을 넣었다. 바로 '생성'을 눌렀다. 앱이 생성됐다. 
 



엔진SDK와 엔진월렛 연결

이제 월렛을 연결시켜줄 차례다. 엔진SDK에디터 상단 '월렛' 탭에서 링크코드를 확인한다. 엔진지갑 앱에서 game0411 지갑인지 확인하고, 좌측 메뉴에서 '연결된앱'을 누른다. 링크코드를 입력한다. 앱을 눌러 나오는 화면에서 앱ID와 신원확인ID를 확인할 수 있다. 다시 유니티엔진 에디터에서 리프레시를 누르면 현 지갑 상태가 표시된다. 지갑 앱의 정보가 유니티엔진으로 들어온 셈이다.  




엔진 SDK에디터 화면에서도 지갑 내용 확인
 

3. 블록체인 아이템을 만들어보자 
아직 엔진SDK의 엔진에디터 화면이다. 크립토아이템 탭에서 아이템 이름을 영상(9:05)과 같이 '골든바나나'로 하지 말고, 로그라이크게임 내 아이템인 소다(Soda)를 입력하자. Asset>_Complete-Game>Prefabs 폴더에 있다. 총공급량은 1,000개, 초기금액 100, 전송비용은 크립토아이템, 전송비용 0.01ENJ(약 2원), 멜트비용은 50%로 설정한다. 
 



엔진에디터-아이템생성-세부데이터설정

이제 필요한 것은 가장 하단의 메타 데이터 URI다. 이게 뭔가 싶었는데 '속성 정보'다. URI는 URL과 다른가 보다. 인터넷에 있는 자원을 나타내는 유일한 주소라고 한다. 영상(10:41)에는 미리 만들어둔 아이템이 있단다. banana.json 파일의 url을 복사한다. 이 파일의 주소는 상대경로가 아닌 절대경로다. 우리의 게임 파일(loguelike)은 아직 인터넷에 올라가지 않았는데 괜찮을까? 그렇다면 게임에서 어떤 값을 불러와야 할까? 앞서 생각해둔 소다(Soda)의 값을 불러와 보자. 




어떤 것이 .jason과 같은 파일?

유니티엔진에서 소다 아이콘을 클릭하면 창 하단에 주소가 나온다. 그런데 확장자가 .json이 아닌 soda.perfab로 확장자가 다르다. .json은 검색을 해보니 자바스크립트 텍스트 파일로, 메타데이터(속성 정보) 정보를 가지고 있다고 한다. 그렇다면 유니티엔진의 Asset>_Complete-Game>Prefabs 폴더에 있는 Soda.prefab와 Soda.prefab.meta 중에서 후자일 가능성이 높다고 생각했다. 하지만 나중에 안 사실이지만 .meta 파일에는 별 내용이 없고. Soda.prefab 파일에는 꽤 많은 내용이 들어 있었다. 이 파일이 .json과 같은 역할을 하는 파일이라고 보여진다. 

그리고 나서 D:unitygame0411..과 같이 풀 메타데이터URI를 적었다. 그리고 생성을 눌렀다. 에러메시지가 떴다. '메타데이터URI은 웹브라우저 주소를 적어야 한다는 것. 게임 폴더 용량을 보니 90mbMB 정도다. 통째로 구글 드라이브에 올렸다. Soda.prefab.meta에 대한 url을 입력했더니, 지갑을 확인하라는 메시지가 떴다. 성공한 것일까? 이후 또 한번의 시도를 했는데, 이번에는 구글드라이브가 아닌 별도의 ftp에 파일을 올려 두고 실험을 했다. 메모장을 이용해서 Soda.prefab과 .meta 파일을 열어보니 .prefab 파일에 훨씬 많은 정보가 있어 .meta파일 대신 .prefab 파일(http://www.game***.kr/data/unity/Soda.prefab)을 메타데이터uri 칸에 넣어 아이템을 생성했다. 첫 시도는 에러가 났지만 Soda2 파일은 문제가 없다. 



엔진지갑에서 여러 번의 승인 작업을 거친다

엔진지갑으로 가서 메뉴-공지를 확인한다. 여기서 승인을 해줘야 한다. 크립토아이템을 ENJ로 소모하는 것을 '승인'해줘야 한다. 이어 '소다(Soda)'아이템 1000개를 만드는 것을 승인해야 하며, 이어 아이템 URI 설정을 '승인'해 줘야 한다. 여기서 소다 아이템 1000개 제작 승인을 할 때 뭔가 아이콘이 뜰 줄 알았는데 흑백 이더리움 아이콘이 떠서 실망. 엔진지갑에서 '소다만들기'와 '아이템URI설정'에 대한 확인 작업이 끝나고, 엔진에디터에서 '리프레시'를 누르면 소다 1,000개가 생성이 된 것을 확인할 수 있다. 이제 민팅을 해야 한다. 에디터화면-크립토아이템-민트(MINT) 메뉴를 누르고, 민트 개수에 100을 입력하고, 지갑에서 '승인'을 눌러준다. 
 



왼쪽은 지인이 만든 샘플 아이템


다음은 지갑-소장용아이템에서 블록체인 아이템을 확인하는 것만 남았다. 영상(14:29)에서는 노란색 골든 바나나가 나타난다. 하지만 실제에서는 실수가 있었다. 소다 아이템을 민팅해야 하는데, 이전에 생성한 골든바나나를 민팅해버려서 수가 200개가 됐다. 

 

한번에 안되는군...몇 번의 시도!

실제 튜토리얼 영상의 길이는 15분이 채 되지 않는다. 엔진 계정을 만들고 아이템을 생성하기까지 15분이 안된다는 얘기다. 익숙해지면 단 몇 분만에 만들 수 있다. 이렇게 빨리 만들 수 있는 걸 몇 주나 걸린다는 개발자도 있을까? 제대로 경험해보지 않은 탓이다. 함께 이번 프로젝트를 진행중인 한 지인은 엔진 에디터 시스템은 깔끔했고, 오히려 게임 개발에 대한 이해가 없어 유니티에서 새로운 아이템을 생성하는 것이 힘들었다고 했다. 

빨리 만든다고는 했지만 이 모든 과정이 쉽지는 않았다. 실제 작업을 하는 것보다는 환경을 구축하고 파악하는 일에 시간과 노력이 더 할애됐다. 가장 어려웠던 것 중의 하나는 역시 아이템의 메타데이터 URI였다. 하지만 게임에 대한 이해가 충분한 개발자라면 전혀 문제가 없어 보인다.

또 하나, 가이드는 한글화가 됐지만, 다른 대부분이 모두 영어라는 점도 허들 중 하나다. 지갑과연결하는 등 블록체인의 개념과 상관된 부분이 많기 때문에 적절한 한글화는 필수다. 또, 매번 지갑 비밀번호를 입력해야 해서 상당히 불편했다. 아무리 재산이 중요하다 하지만, 개선해야 할 부분이다. 

또 하나의 큰 산이 남았다. 4가지 순서 중 엔진지갑과 첫 아이템 만들었으니 이제, 게임을 등록하고, 게임에 아이템을 사용하는 순서가 남았다. 다음 편에는 나머지 영상을 따라할 예정이다. 게임개발 쌩초보의 블록체인 붙이기 프로젝트는 계속된다.
   이재덕 기자 | game@gamey.kr
0

   30  
  이재덕 기자
  47527P
총 덧글수 ( 0개 )

인도에서 아스팔트8 보다 잘 나가는 국산 게임...도대체 어떤 게임?

핫뉴스 | 8시간 전 | 이재덕 기자 | 42

-앱에이프, 인도 모바일 시장 백서 발행....국산 게임 분야 분석앱에이프가 3일 작년 1월부터 12월까지의 모바일 앱 데이터를 분석한 모바일 마켓 백서 2019 인도 편을 발행했다고 발표..

[컬럼] 경험치는 쌓이는데 레벨은 안오르는, 재미 없는 22년차 게임에 남아 있는 이유는?

핫뉴스 | 3일 전 | 이재덕 기자 | 617

​한국에서는 잘 다뤄지지 않는 '게임'에 대한 다큐멘터리 영화가 곧 나온다. 넥슨 고전 RPG '일랜시아' 사용자인 박윤진씨는 오는 5월 29일과 31일 양일 홍대 롯데시네마에서 열리는 '제..

100만원 육박 닌텐도 스위치 가격 본 네티즌 반응 "X창렬"...소프라노 10만명 '폭주'

핫뉴스 | 4일 전 | 이재덕 기자 | 372

지난 1일까지 국내 한 쇼핑몰에는 '닌텐도 스위치 HAD 신형 동물의숲 에디션 정발 본체+ 동물의 숲 포함 새제품'이라는 상품이 올라왔다. 해당 상품의 문의 글에는 문의보다는 욕에 가..

인터넷 최대명절 만우절...게임업계 만우절 이벤트는?

핫뉴스 | 5일 전 | 최명진 기자 | 96

라인게임즈가 서비스하는 '엑소스 히어로즈'는 만우절 기념 페이트코어를 업데이트했다. 앞서 지난 12월 라인게임즈는 엑소스히어로즈의 팬아트 공모전을 진행했지만, 상대적으로 낮았던..

WHO-게임 업체, ‘Play Apart Together’ 캠페인으로 손 맞잡았다

핫뉴스 | 6일 전 | 김형근 기자 | 110

코로나바이러스감염증(COVID-19)가 전 세계로 확산되어가는 가운데 세계보건기구(WHO)와 게임 업계가 힘을 합쳐 캠페인을 진행한다.‘Play Apart Together(따로 또 같이 놀자)’라는 명칭..


코로나19 최대 수혜자는 '닌텐도 스위치&동숲'?....배그X18배, 롤X6배!

핫뉴스 | 7일 전 | 이재덕 기자 | 143

닌텐도 스위치의 가격이 미친듯이 뛰고 있다. 36만원대였던 닌텐도 스위치의 가격은 현재 배터리 개선판 가격이 현재 58만 원 정도다. 그것도 며칠새 몇 만원 올랐다. 스위치(HAD) 신형..

[이슈]라이엇게임즈 '전략적 팀 전투' 모바일 출시...기자들의 소감은?

핫뉴스 | 2020-03-27 | 최명진 기자 | 183

리그오브레전드의 개발사 라이엇게임즈가 야심차게 준비한 PvP 모바일 게임 '전략적 팀 전투'가 모습을 드러냈다. PC 리그오브레전드에서 등장한 전략적 팀 전투 모드를 모바일로 그대로..

때가 어느 때인데 "변녀 귓"?...어썸피스 '좀비고', 'n번방' 화제

핫뉴스 | 2020-03-26 | 이재덕 기자 | 217

6주년을 앞둔 모바일 네트워크게임 '좀비고'에서 n번방이 화제다. 좀비고는 하루에만 수십만 명이 즐기는 인기 게임이다. 도대체 좀비고에 무슨 일이 일어난 것일까?좀비고를 즐기고 있..

코로나19로 극도의 저평가...게임 3사, 자사주 매입

핫뉴스 | 2020-03-26 | 김민희 기자 | 220

최근 코로나19 여파로 인한 주식시장 불안 국면 속에 기업가치 대비 극도의 저평가 상태가 된 가운데, 게임사들의 주가 지키기가 시작됐다. 조이시티와 한빛소프트, 드래곤플라이 등 게..

닌텐도 스위치, 코로나 19 사태로 가격 폭등. 닌텐도 손 놓고 있나?

핫뉴스 | 2020-03-25 | 이준혁 기자 | 252

어린이나 여성 등 게임 초보자들이 즐기기에 좋은 닌텐도 스위치가 코로나 19 바이러스 사태를 맞아 가격이 폭등하고 있다. 코로나 19 바이러스로 인해 집에 있는 시간이 많아지면서 게..


데브시스터즈를 사야할 이유 '신작 5종', 나오긴 하나?...늑장 출시 '분노'

핫뉴스 | 2020-03-25 | 이재덕 기자 | 205

쿠키런으로 유명한 데브 시스터즈의 주식을 적극적으로 매수해야 한다는 의견이 제시됐다. 하지만 늑장 출시로 인한 주주들의 분노섞인 지적이 나오고 있다. 매수 의견으로는 3가지 요..

블레스 모바일과 가장 많이 비교된 게임은 V4, A3?....출시일은?

핫뉴스 | 2020-03-24 | 이재덕 기자 | 202

블레스 모바일의 CBT가 끝났다. 게임을 즐긴 사용자들은 플레이하면서 어떤 느낌을 받았을까? 어떤 게임이 가장 많이 언급됐을까? 블레스 모바일만 따로 보면 보이지 않을 다른 게임과..

"청출어람" 젤다 '짬숨' 넘어선 '원신(原神)'....플레이 소감

핫뉴스 | 2020-03-23 | 이재덕 기자 | 264

출시 전부터 '짭숨', '짱숨'이라는 말을 들으며 표절 논란에 휩쌓인 '원신'. 이 말들은 젤다의 전설: 야생의 숨결을 베꼈다는 것을 비하하는 단어다. '야생의 숨결'을 풀레이해보지 않..

[이슈] 3월 셋째주 게임업계...‘온라인으로 대체되는 게임 행사’와 ‘콘솔 스펙공개’

핫뉴스 | 2020-03-20 | 김형근 기자 | 243

3월도 어느덧 셋째주에 접어들었지만 코로나바이러스감염증(COVID-19)가 해외에서 엄청난 기세로 확산되고 있다는 소식이 사람들에게 불안함을 안기고 있으며 직장인들은 재택에서 업무..

"카오스온라인'이 이렇게 대박 IP였나?" '카오스모바일' 인기 비결은 '이것'

핫뉴스 | 2020-03-19 | 이재덕 기자 | 234

'카오스온라인'이라고 하면 '리니지'나 '뮤' 만큼의 인지도를 가진 대박 게임이 아니다. 정말 열정적으로 플레이한 사용자가 아니고서는 '카오스온라인'이 무슨 게임이냐고 되묻는 사용..


에오스레드, '200일-공성전-EP2' '3연타...매출 10위권 재진입?

핫뉴스 | 2020-03-18 | 이재덕 기자 | 286

미스터블루의 자회사 블루포션게임즈가 서비스하는 '에오스레드'가 3연타 업데이트를 통해 구글 매출 탑10 재진입을 노린다. 3연타 업데이트란, 출시 200일 기념 이벤트, 공성전, 에피..

A3 스틸 얼라이브, 직업 추천 & 직업 랭킹이 궁금해?

핫뉴스 | 2020-03-17 | 이재덕 기자 | 425

​넷마블의 신작 MMORPG 'A3 스틸얼라이브'의 연관 검색어로 'A3 스틸얼라이브 직업', '소울링커'가 떠올랐다. 또 다른 연관 검색어로는 '궁수'와 '궁수스킬'도 함께 떠올랐다. 아울러 'A..

"안드7에서도 안된다고?" A3: 스틸 얼라이브, 녹스/LD플레이어에서 즐기려면?

핫뉴스 | 2020-03-12 | 김형근 기자 | 913

넷마블의 신작 MMORPG ‘A3: 스틸 얼라이브’가 3월 12일 오전 11시 드디어 막을 올리고 본격적인 서비스를 시작한 가운데 현재까지 다수의 LD플레이어를 통해 게임을 플레이하고자 하는 ..

1  |   2|   3|   4|   5|   6|   7|   8|   9|   10

[ 게임 집중 분석 ]