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

게임개발캠프 - 팀과제(A) 2일차

by E.Clone 2023. 12. 22.

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

전체진행도 : 2일차

부분진행도 : Chapter1 - 2일차

작성일자 : 2023.12.22(금)

개발일지 목록 : 클릭


글 작성에 앞서

1주간의 팀 프로젝트인데 다시 보니 시간이 넉넉치 않았다. 월요일은 성탄절이라 쉬는날이어서, 오늘, 화요일, 수요일 중에 기능개발을 완료하고 수요일 21시까지 시연 녹화본을 포함하여 최종 제출을 해야한다.

생각보다 오늘 진척이 잘 되었다. 오전은 다들 비몽사몽인 것 같긴 했는데, 11시에 있었던 git 실시간 강의를 듣고, 모여서 바로 github 레파지토리를 만들고 각자 기능개발에 착수했다. 팀장 맡으신 분이 경험이 있으신지 가이드를 잘 해주신다.

노션 팀 스페이스도 열심히 갱신중

 

1. 진행중인 프로젝트에 대해

기본적인 카드 뒤집기 게임에 14가지 개선사항을 적용하는 것이 우선 목표이고, 5명이 약 3개정도씩의 기능구현을 맡았다.

- 난이도별 최고점수를 보여주는 스테이지 선택 씬 구현, 순차적인 난이도 해금 시스템 구현

- 난이도가 높아질수록 많은 카드가 나오게 하기

- 카드 섞는 알고리즘 새로 짜기

새로운 씬 구성은 예상은 했지만 생각했던 것보다 훨씬 많은 시간을 소모했다. 그 외의 알고리즘 관련된 내용은 열배는 더 빠르게 끝낸 듯.

새롭게 사용한 유형의 코드는 아래와 같다.

씬이 전환되어도 오브젝트를 유지

DontDestroyOnLoad(gameObject);

난이도 선택 씬에서 선택한 난이도를 오브젝트에 저장하고, 해당 오브젝트는 다른 씬으로 이동해도 파괴되지 않는다.

데이터 불러오기와 저장

easyScore = PlayerPrefs.GetFloat("EasyScore", 0f); // 로드
PlayerPrefs.SetFloat("EasyScore", 100f); // 저장

EasyScore라는 데이터가 저장되어있지 않다면 0f를 사용한다. 해당 데이터는 게임을 종료해도 보존된다.

카드의 선정과 배치는 난이도 조건에 따라 반복문 등을 다르게 구사하여 구현한다.

맡은 기능 개발은 모두 구현하고 Pull Request를 하였다. 팀으로 Github를 사용하는 것은 처음이었기 때문에 계속 헤맸다. 다른 팀원의 코드를 Pull 한 뒤에 Conflict 난 부분에서 뭔가 잘 안되어 저장이 이상하게 되어버려 그냥 충돌 난 그 파일을 새로 작성했다. 아까 보았던 Git 강의 다시 한 번 확인하고 익혀야 할 듯.

아래는 오늘 작성한 난이도 선택 씬이다.

 

2. 과제에 대해

- 팀원들이 남은 기능구현을 마치고 모두 Merge 끝내기

- 세세한 코드 수정과 디자인적 요소 개선

- 시연 준비(시연할 팀원 정하기, 녹화와 발표)

 

3. 참고자료

- 오늘 특별히 찾아본 중요한 자료는 없는 듯

반응형