Timber 팀 프로젝트

김성진·2024년 2월 19일
post-thumbnail

주말 과제로 지금까지 만든 Timber 게임에 캐릭터 선택, 2인 플레이 등을 팀 프로젝트로 구현하라는 과제를 받았다.

내용

  1. 코드 정리
  2. 게임 모드 추가
    1. 로컬 2인 모드
    2. 1인 모드
  3. 캐릭터 선택 기능
  4. 씬 나누기
    1. 타이틀 : 게임 이름
    2. 메뉴 씬 : 게임 모드 선택
    3. 캐릭터 선택
    4. 게임

작업 목록 (기획)

코드 정리 - 교수님이 수업중 작성하신 코드 사용

씬 1 타이틀 엔터키 입력하면 씬 2로

씬2 모드선택 씬 1인모드 2인모드 선택해서

해당 씬으로 체인지 예약

씬3 캐릭터 선택 씬 (3~4개) 1인이면 한번만 골라도 1인모드로

2인이면 두번 받아서 각각 저장

모드선택에서 예약된 씬으로 이동 (1인 혹은 2인)

씬4 1인게임모드 (이미 있음. 캐릭터만 바꿔서 적용)

씬5 2인게임모드 (만들어야 함. )

역할분담

  • 나! 👑: 타이틀 씬, 캐릭터 모드 선택 씬, 씬 매니저
  • 팀원 1: 캐릭터 선택 씬, 리소스
  • 팀원 2: 2인 게임 모드

결과물

타이틀 씬

모드 선택 씬 (싱글 / 멀티)

캐릭터 선택 씬

게임 씬 (멀티)

모드, 캐릭터ID 등을 씬 매니저에 보내서 저장하고, 각 씬 넘어갈때 받아오는 방식으로 만들었다.

포인터나 캐릭터 리소스는 임시로 그려서 사용하다가, 코딩이 완료된 후 여러 사이트에서 리소스를 얻어다 꾸며줬다. 상업적 용도로 사용하면 큰일나지만 연습용이니 괜찮겠지

작업 중 발생한 사고와 피드백

1 - defines, SceneMgr 처럼 모두가 공유해 사용하는 소스를 두 사람이 동시에 수정해서 충돌이 일어났다. 서로 한두줄만 추가해서 서로 합치고 지우고 해서 병합은 해냈지만, 이후 팀프로젝트에서는 서로의 작업물을 합친다는 생각이 아닌, 한 작업물을 모두가 조금씩 고쳐나간다는 생각으로 임해야겠다. 또, 모두가 공유하는 파일을 수정할때는 바로바로 공유해서 작업자 전체가 즉시 알고 적용할 수 있도록 하고, 내용이 없더라도 서로 작업할 부분은 기본적인 틀이라도 만들어 놓고 시작해서 병합에 문제가 없도록 해야겠다.

2 - 한 팀원이 착각하고 다른 사람의 작업물 위에 자기 작업물로 덮어버렸다. 다행히 각자의 로컬 파일에 원본이 남아있었고, 강제 push 를 통해 잘못된 작업들을 전부 무시하고 복구했다.

3 - 리소스 파일도 같이 소스트리로 버전관리를 해야 했는데, 방법을 몰라서 bin 폴더는 다른 방식으로 공유했다. 추후 bin 폴더를 넣으려고 하니 gitignore 파일이 이를 막았다.
경로도 수정해보고 이것저것 시도한 결과 애초부터 본 파일과 bin 파일을 둘다 소스트리에 올리고 gitignore 파일을 본 파일에 넣으면 해결됐다.

profile
듀얼리스트

0개의 댓글