프로젝트 목적
코딩의 중요성이 부각되고 있는 현실 속에서 어린이부터 성인까지 코딩 교육을 받는 것은 흔한 광경이다. 이와 같이 코딩에 대한 실용도가 높아지고 학습자가 많아짐에 따라 혼자가 아닌 여러 사람들과 함께 즐겁게 코딩을 배울 방법이 있으면 좋겠다고 생각하였다.
프로젝트 내용
코딩 타운은 다른 사용자들과 정보를 교류하고, 코딩 대결을 통해 자연스럽게 코딩 실력을 높일 수 있기 때문에 사용자에게 강제 학습이 아닌 자발적인 즐거운 학습을 제공한다.
메인 기능으로는 다른 사용자와의 코딩 대결이 가능한 대결장과 개인 코딩 연습을 위한 훈련장이 있다. 대결장에서는 자동 매칭을 통해 랜덤한 사용자와 대결을 할 수 있다. 또한, 마을에서 같이 대결하기를 원하는 사용자에게 대결을 신청하여 직접 원하는 상대와 대결이 가능하다. 훈련장에서는 문제 유형별로 사용자가 선택해서 연습이 가능하므로 취약한 부분을 집중적으로 학습할 수 있다.
부가적인 기능으로는 다른 사용자와의 정보 교류를 할 수 있는 커뮤니티 게시판, 자신의 캐릭터를 육성시킬 수 있는 마이룸, 코딩 대결에서 사용할 수 있는 아이템들을 판매하는 상점이 있다. 게시판에서는 사용자들끼리 질의응답이 가능하며, 게임 보상으로 얻은 코인으로 상점에서 원하는 아이템을 구매 후, 마이룸에서 아이템들을 장착할 수 있다.
개발 언어 및 환경
Coding Town은 Unity3D, Visual Studio 2017, Android SDK를 개발 환경으로 기반하여, 개발 언어는 C#을 사용했다.
사용 기술 및 특징
1) 포톤 클라우드 서비스
RPC함수를 호출하여 클라이언트 내 실시간 온라인 네트워킹을 구현하였다. 랜덤한 플레이어 또는 직접 선택한 상대 플레이어와의 코딩 배틀 매칭이 가능하고, 모바일, PC, 콘솔 기기, 웹 등 다양한 플랫폼에서 작동 가능하다.
2) Google Play Game
클라이언트 내 Google Play Game API 연결을 통해 추가적인 데이터 없이 사용자의 정보를 효율적으로 받아오고 백업 기능을 구현하였다.
3) 데이터베이스
AWS(Amazon Web Service)에서 제공하는 종합 관리형 NoSQL 데이터베이스 서비스인 DynamoDB를 활용하여 사용자 정보, 코딩 문제 정보, 아이템 정보 등을 테이블 형태로 저장하였다. 추가적으로 유니티 내 AWS SDK 설치 및 Cognito 인증 부여, 스크립트 내 연동으로 서버 데이터베이스 연결을 구현하였다.
↓다운로드 링크
https://play.google.com/store/apps/details?id=com.GreenApple.CT&hl=ko
'Project > Game' 카테고리의 다른 글
Color Pop (0) | 2020.06.05 |
---|---|
티끌 모아 태산 - TMT (0) | 2020.06.05 |