스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록

2024.04.19 TIL - 마무리 회고록

테크러너 2024. 4. 19.

프로젝트 개요

팀원 소개

프로젝트 소개

프로젝트 목표

  • 유니티기능 다양하게 활용해보기

게임 목표

  • 팀원간 얼굴, 이름 외우면서 친해지기

게임 조작

  • 마우스를 이용한 게임플레이

게임 진행

  • 제한시간내에 모든 카드를 매치해야함
  • Stage1. 슬랙 사진(Image) 카드끼리 매치해야 정답
  • Stage2. 잽아바타 사진(Image) 카드끼리 매치해야 정답
  • Stage3. 나이 카드끼리 매치해야 정답
  • Stage4. MBTI(Text) 카드끼리 매치해야 정답

주요 화면 구성

순서도

 

시연 영상

 

게임 설계

  • StartScene
    • Intro 배경음악
    • Intro 화면
      • 게임시작 및 종료 버튼
      • 카드 이미지 출력 애니메이션
    • Stage 화면
      • 이전 스테이지 클리어 되어야 다음스테이지 해금
      • Intro 화면으로 돌아가기 버튼StartScene

  • MainScene
    • InGame 배경음악
    • InGame 화면
      • 시간 감소 기능
      • 종료 10초전 시간 붉게 변하기
      • 스테이지별 제한시간 다름
      • 애니메이션 - 카드 배치, 뒤집기전 효과, 뒤집기
      • 카드 효과음 - 성공 및 실패, 클릭, 10초전 경고음
      • 한 번 뒤집은 카드는 주황색 표시
      • 매칭 성공 시, **팀원의 이름** 표시 / 실패 시 **실패** 표시
      • 실패시 -0.5초 감소
      • 일시정지 버튼
    • EndGame 화면
      • 매칭 시도 횟수, 현재 점수 표시
      • 다시하기, 메인메뉴(Intro화면) 버튼
    • Setting 화면
      • 소리 조절(배경음, 효과음, 음소거)
      • 다시하기, 메인메뉴(Intro화면) 버튼

클래스 설계

기술스택

GitHub

  • Organizations 리포지토리 생성
  • GitHub Desktop 사용
  • Branch protection Rule 적용
  • Full Requests
  • 2인이상 승인 후 Merge
  • Stash 후 Main에서 안전하게 받아오기
  • 그외 Discard, Revert 사용해봄

Unity / C#

 

커뮤니케이션 협업툴

Notion

  • 팀원 정보 정리
  • 게임 계획서 문서화
  • 시간, 활동, 깃허브 규칙 및 약속
  • 회고록 작성

Slack

  • 파일 주고 받기

Discord

  • 화면공유를 통해 실시간 회의

 

KPT 회고

Keep

  • 체계적인 Git 사용 : 각자의 브랜치를 사용하여 서로 겹치지않고 각각의 맡은바를 완벽히 할수있게 되었다.
  • 적극적인 소통 : 누구하나 빠지지않고 많은 소통을 나누며 오류를 겪으며 서로가 도와주며 해결하는 문화를 구축
  • 목표 달성 : 해당 역할을 적절히 분담하여 각자의 역할을 다 했고 이에 처음에 설계했던 목표보다 많은 성과를 이루어내며 달성
  • 피드백 문화 구축 : 지속적인 피드백 공유를 통해 서로의 오류를 찾아주고 발전해 나아가는 문화 구축
  • 꾸준한 기록 유지 : TIL 작성 및 오류 해결에 관한 기록하기
  • 주석 달기 : 코드의 가시성을 높이기 위해 자신이 작성한 코드에 대한 주석 달기
  • 올바른 성장 자세 : 어렵더라도 혼자 도전해보고, 해결 못했을 때 질문을 하는 자세

Problem

  • 깃 코드 충돌에 대한 문제 : 병합 순서 문제
    • 이미 작업하던 것들이 있는데 다운받아야할 때 stash로 임시저장한 후 다운받아오기
  • 작업 환경 설정 문제 : 코드의 한글이 깨지는 현상
    • 모든 팀원들이 유니코드 설정을 하여 해결
  • 스테이지 해금 문제 : 클래스간의 데이터를 제대로 전달하지 못하는 문제(성지윤)
    • GameManager의 스테이지 레벨 변수가 변하고 있지 않고, 계속 레벨1 상태였음. 그래서 SystemManager에서 데이터를 관리하게 설정하니까 해결되었음. 다만 SystemManager의 역할에 맞지 않는 설정이어서 앞으로는 좀 더 나은 방법을 갈구해야겠음.
  • 부족한 설명으로 인해 나타나는 차이(이강혁)
    • 기획 ⇒ 설계 ⇒ 구현 ⇒ 검증의 모든 단계에서 육하원칙에 맞춰 자신의 의견을 전달하고 서로의 상황을 파악하고 있어야 문제가 발생하지 않는다.
  • 발제를 제대로 읽지 않음(안보연)
    • 필수를 놓치고 챌린지 먼저하다가, 앞부분을 다시 읽고 필수부터 다시 시작
  • 카드가 제대로 매칭이 되지 않았는데도 불구하고 카드가 사라지는 문제(김현수)
    • 카드를 클릭하였을때 실제로 뒤집히게 보이는 효과를 넣던 중에 애니메이션 효과의 x값을 마지막에 0으로 집어 넣어 생긴 어처구니 없는 문제였음…x값을 다시 1로 수정 후 문제 해결

Try

  • 트러블 슈팅 기록
    • 마지막에 PPT 자료를 만들 때 기억을 다시 되짚어서 작성했지만 누락된 것이 많았음. 오류 문제에 대한 이야기는 많이 나눴지만 막상 기록은 하지 않았음. 다음에도 똑같은 오류를 겪었을 때 기록을 통해 더 빠른 해결을 할 수 있게 Git Issues 같은 곳에 기록하는 습관 길들이기
  • 깃허브 명명 규칙
    • 깃허브에 커밋할 때 설명 메모글은 적어서 커밋을 했지만 히스토리를 봤을 때 빠른 파악이 안됐음. 다음부터는 명명 규칙을 팀원들과 정한 후 깃허브 사용하기
  • 브랜치 전략 자세히 활용하기
    • 해당 프로젝트에서는 Main 브랜치 밑에 팀원 각자의 브랜치 하나씩 만들어서 사용했음. 깃허브 특강을 듣고 난 후 ‘Main - Dev - 기능별 브랜치‘ 전략을 사용해야겠다는 것을 깨달음.
  • 빠른 원인파악 및 해결
    • 팀 전체에 대한 기술 오류가 있었을 때 튜터님께 질문시 다같이 가서 설명을 듣기
  • 구현 할 기능 및 작업에 대한 순서 정하기
    • 빼먹거나 순서가 중요한 부분에 대해서 해결점이 되지 않을까 싶습니다

 

팀원별 느낀점

성지윤

첫 프로젝트때부터 난이도를 올려서 진행했는데 제 자신한테도, 팀원들에게도 큰 성장이 이뤄진 것 같습니다. 특히 강혁님의 도움을 많이 받았습니다. 유니티를 많이 사용해보신 분이어서 여러 도전들을 할 수 있었습니다.

첫날부터 깃허브 사용을 시작했는데 어려운 부분도 많고, 충돌도 많이 겪음에도 불구하고 잘 따라와준 팀원들에게 감사의 인사를 전합니다.

이강혁

개발자 간의 팀프로젝트가 처음이기에 예상하지 못한 상황이 종종 연출되었습니다. 특히, 깃허브와 관련해서 데이터가 사라지거나 연동이 잘 안되는 문제가 있었습니다. 그리고 기획한 것을 구현하는 부분에서 명확하게 의견교류가 되지 못한 부분에 난항을 겪기도 하였습니다. 그럼에도 이러한 시행착오를 겪으며 팀원분들과의 더 많은 소통과 학습을 통해 여러면에서 성장할 수 있는 경험이 되었습니다.

아직 배우지않은 부분도 있었음에도 질문과 소통을 통해 포기하지 않고 끝까지 도전하여 마무리를 해주신 모든 팀원 분들께 감사합니다.

김현수

게임 개발이 처음인 나에게는 정말 어려운 도전이 됬던 것 같다 개발 도 처음인데 팀프로젝트라니 정말 떨리는 마음으로 처음 조에 들어 갔을 때 팀원들이 다들 너무 잘하셔서 안심이 되면서도 나도 분발 해야 겠다 라는 마음이 생겨 열심히 했던것 같다. 그래도 마지막에 영상 편집을 좀 해서 살짝의 마음의 짐을 조금 내려 놓은것 같다!

같은 조 였던 조원 분들 감사합니다! 이번 프로젝트는 끝이지만 다음에 또 뵙 날을 기대하겠습니다! 다음엔 저도 조금 더 실력이 있는 조원이 되어보도록 하겠습니다.

안보연

좋은 팀원들 만나서 좋게좋게 잘흘러간듯합니다. 혹시 프로젝트별로 팀이 바뀐다면 팀바뀌고 나서도 자꾸 찾아가겠습니다 :)

유니티도 어렵고 C#도 어렵네요.... 아는거 나왔다! 싶으면 써볼려고 하면 바롬 모르는거 되고, 모르는건가 싶어서 따라가다 보면 또 아는거 같기도하고 를 계속 반복 중인듯합니다.

 

 

링크

PPT 발표 자료 링크

https://www.canva.com/design/DAGCvRpl3Qk/B78MBVgH-11xEfDcatx1Xg/view?utm_content=DAGCvRpl3Qk&utm_campaign=designshare&utm_medium=link&utm_source=editor

깃허브 링크

https://github.com/PalPalHaJo/PalPalHaJo

반응형

댓글