이오스 게임 개발기 - 2. 왜 무엇을 어떻게 만들고 있습니까?
이오스 게임에 대해서 첫 글을 쓴 게 벌써 한달 전입니다. 글을 자주 쓰겠다고 다짐을 했었는데, 개발에 치이다보니 자주 쓰기가 어렵네요. 오늘 다시 글을 쓰기로 마음을 먹고 자리에 앉은 김에 저희 게임에 대해서 이야기 보따리를 풀어볼까 합니다.
0. 게임 이름이 뭔가요?
EOS Adventure입니다.
1. 어떤 장르의 게임인가요?
TCG, 혹은 덱 빌딩 게임이라고 부르는 장르의 게임입니다. 실물 카드를 이용해서 하는 도미니언이나 블리자드에서 개발한 하스스톤은 많은 분들께서 알고 계실 겁니다. 플레이어들은 자신의 덱을 이용해서 대전을 진행하고, 모든 체력을 잃게 되면 게임 오버가 됩니다. PvP 방식이 아니라 AI와 전투를 하고, 자신의 덱을 더 강화시킬 수 있는 카드를 얻거나, 게임 내의 재화로 사용되는 보상 카드, 그리고 자신의 랭킹을 올리는데 필요한 점수 카드들을 모아가면서 게임을 진행할 수 있습니다.
하스스톤은 게임보다도 카드를 모으는 재미가 더 쏠쏠합니다.
2. 무료인가요?
네. EOS 계정만 있다면 누구나 무료로 이용하실 수 있습니다. 물론, 카드팩을 구매해서 덱을 더 강하게 만들고 빠르게 성장시킬 수 있겠지만, 그건 개인의 선택입니다. 게임을 진행하면서 획득한 카드와 장비를 EOS로 판매하는 것도 가능합니다.
3. 맛보기로 조금만 보여주세요.
요즘 카드 설계와 디자인 작업이 한창인데요. 밸런스도 맞추면서 재미있는 효과를 가진 카드를 만들기 위해 노력하고 있습니다. 카드 디자인이 손이 참 많이 가는 작업이라서 개발 시간 중에서 큰 비중을 차지하고 있습니다.
4. 현재 개발 단계는 어디까지 왔나요?
계정이나 로그인 없이 튜토리얼 스테이지를 플레이할 수 있는 데모를 제작하고 있습니다. 카드 설계와 후반부 디자인 작업을 마치고, 1월 중으로 테스트넷에서 플레이 해보실 수 있습니다.
5. 개발 환경은 어떤 걸 쓰시나요?
EOS 스마트 컨트랙 개발은 Ubuntu 환경의 CLion으로, 게임은 Mac에서 Unity를 이용해서, 그 외 웹사이트와 서버는 Windows 환경에서 IntelliJ와 WebStorm으로 개발하고 있습니다. Windows에서 EOS를 빌드하려는 시도는 하지 않는 것이 정신 건강에 좋습니다.
6. 개발 하면서 가장 어려운 것은 무엇인가요? EOS 게임 개발의 난이도는 어느 정도 될까요?
위에서 이야기한 것처럼 너무 개발 환경이 복잡해요. 대부분의 유저들이 Scatter 지갑을 사용하는데, 이 Scatter를 통해서 블록체인과 Unity가 통신하기 위해서는 거쳐야하는 단계가 너무 많습니다. Unity가 데이터를 웹 브라우저로 전달하고, 다시 거기서 Scatter를 통해 블록체인과 통신을 합니다. 블록체인의 실행 결과에 대해서 트랜젝션 ID 외에 명확한 리턴이 오지 않기 때문에 정확한 실행 결과를 알기 위해서는 다시 정보를 블록체인에서 읽어와야 합니다.
블록체인 게임 개발을 위해서는 아래처럼 많은 언어와 스택에 대한 경험이 필요한데요. 저희 팀원들이 모든 부분을 다 커버할 수 있어서 도전할 수 있었습니다. (그렇지만 문법 헷갈리는 건 어쩔 수가 없어요)
웹사이트, 블록체인 통신 : javascript
서버 : Java
스마트 컨트랙 : C++
Unity : C#
다룰 줄 알아야 하는 것이 많기 때문에 저희처럼 소수 인원으로 구성된 팀은 쉽게 도전하기 어려울 것 같습니다. 기본적으로 블록체인에 대해서 이해하고 있는 개발자를 구하기도 어렵고, 거기에 완전 다른 영역인 게임까지 개발을 하려면 정상적인 경우라면 3인 이상의 개발팀은 있어야 제대로 굴러갈 수 있을 것 같아요.
7. 팀 구성원은?
개발 2인, 기획 1인으로 구성되어 있습니다.
Congratulations @sudolee! You received a personal award!
Click here to view your Board
Congratulations @sudolee! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Vote for @Steemitboard as a witness to get one more award and increased upvotes!