본문 바로가기
다이어리/내일배움 개발일지

게임개발캠프 - 개인과제(D) 4일차, 과제 제출

by E.Clone 2024. 2. 23.

과정명 : 내일배움캠프 Unity 게임개발 3기

전체진행도 : 33일차

부분진행도 : Chapter4.2 - 1일차

작성일자 : 2024.02.08(목)

개발일지 목록 : 클릭


1. 진행중인 과정에 대해(개인과제)

이번 주엔 피로도가 너무 쌓여서 그런지 힘내기가 무척 힘들었다.

지급된 심화 강의를 학습하고, 주제는 자유에 가까운 개인과제를 제출하는 한 주 였다.

강의는 거의 소화를 못 했고, 개인 과제를 시작하자 생각하여 하루이틀 간 생각한 것을 구현하였다.

일단 주제는, 네트워크(API)를 활용하여 게임에서 사용할 수 있는 여러가지 기능을 시험 해 볼 수 있는 시뮬레이터이다.

유니티 에디터에서 만든 시뮬레이터

간단히 소개를 하면, Sign Up 을 통해 회원가입을 하고, 로그인을 하여 프로필과 스코어 등의 점수를 받아올 수 있다.

ChangeName을 통해 유저의 이름을 설정할 수 있고, 일정 시간마다 1씩 회복되는 AP를 사용하여 경험치나 스테이지의 점수를 얻을 수 있다.

AP가 차는 시간에 대해서는, 유저에게 보여지는 남은 시간(스크린샷에서는 01:08 의 부분)에 오차가 발생할 가능성이 있기 때문에, 'Refresh'버튼으로 서버와 동기화 해 줄 수 있다.

Watch Rank Board 버튼을 눌러 스테이지 당 상위 5명의 점수와 이름을 얻어 반영한다.

개발자용으로, 화면 좌측에서는 모든 유저의 UID 및 name 정보를, 화면 우측에서는 지금까지 행동한 로그를 보여주고있다.

Unity Client, Server, BackupDrive

네트워크 구조는 위와 같다. 

유니티로 만든 클라이언트에서 회원가입과 로그인, 여러 행동을 하면, API에 데이터를 전달하거나 요청을 보내 현재 상태를 서버쪽 데이터에 업데이트하거나 불러올 수 있다.

현재, 서버 배포 환경이 닫힐 경우, 데이터가 그대로 사라지기 때문에 Google Drive에 백업을 만들어놓는 방법을 선택했다.

구글 서비스계정을 새로 만들어 구글 드라이브에 수동 인증 없이 코드만으로 접근 할 수 있도록 하였고, 이 과정에서 많은 시간을 보내다가 결국 사용하던 패키지를 포기하고 최종적으로는 pydrive2라는 패키지를 사용하여 성공하였다.

현재 시점에서, 코드를 만들 재료는 모두 갖추어졌고, 열심히 기능을 구현하는 일만 남았다.

2023.02.23, 0시 시점, 회원가입 및 로그인 기능 구현 완료하였다.

 

시간이 다 되어 이미 리포지토리를 제출하기는 했는데, 부족한 내용이 많아 열심히 보충중이다.

반응형