[Unity] Project. fall_1

Lingtea_luv·2025년 4월 25일

Project

목록 보기
10/38
post-thumbnail

Rule


Branch

Master

  • 정식 버전 빌드용 브랜치
  • 실수 및 무분별한 수정을 막기 위해 액세스 제한
  • 개발 전용 브랜치에서 Merge는 팀장만 접근한다.

Develop

  • 기능 개발/구현용 브랜치
  • 팀원들은 이 브랜치에서 개인의 작업 브랜치를 생성 후, 개별 작업 완료시 이 브랜치로 Merge한다.
    • Merge시 PullRequest를 활용. 충돌 대비와 충돌 발생시의 대처를 모든 팀원이 서포트 할 수 있도록 한다.
  • QA 및 개인 브랜치를 해당 브랜치에서 파생한다.

개인 작업 Branch

  • 생성 브랜치 명 : 이름/작업내용
    • 이름 : 영문명 앞글자(이니셜)
    • ex : LSW/CharacterWalkAnimation
  • 작업 내용이 짧더라도 브랜치 명으로 각자의 작업 진행 상황을 공유하기 위해 가급적 정확히 기재한다.
  • 기능 수정 및 구현이 끝나 필요 없어진 브랜치를 팀장 판단 하에 삭제한다.

QA

  • 생성 브랜치 명 : QA/버전명(날짜)
  • QA 전용 브랜치, QA 전담 인원만 테스트를 위해 접속
  • 해당 브랜치 내에서 기능 개발 및 수정 작업은 하지 않는다.

Commit

Commit 주기

  • 충돌 및 버그 발생시 Reset을 용이하게 하기 위해 작은 단위로 나누어 커밋한다.
    • ex : 이미지 리소스 추가, 스크립트 생성, 하나의 단위 기능 구현
  • 커밋 메세지는 아래의 규칙을 따르며, 부가 설명이 필요할 경우 Description(설명)란에 기재한다.

Commit 메세지

  • Type
    • [Feat] : 새로운 기능 추가
    • [Fix] : 버그 및 기능 수정
    • [Set] : 프로젝트 설정 등 유니티 자체의 설정 변경
    • [Refactor] : 기능에 영향을 주지않는 범위 내의 코드 수정(리팩토링)
    • [Test] : 테스트에 관련된 모든 작업
    • [Create] : 프로젝트 및 씬/스크립트/오브젝트/프리팹 등의 생성
    • [Add] : 리소스 및 에셋 등 외적인 파일 추가
    • [Docs] : 문서파일 수정
  • Type 종류에 기재되지 않은 단순 작업들은 타입을 기재하지 않는다.
    • ex : 불필요 파일 정리
  • 제목, Type은 영어로, 앞글자는 대문자로 한다.
    • ex : [Feat] Add player move logic
  • Description(본문)은 한글로 기능의 구현 이유를 상세히 기술한다.

작업 규칙

  • 내부 폴더 이름 앞에 넘버링을 한다.
    • ex : 00. Imports / 01. Scene / 02. Script / 03. Prefab
  • 규칙에 맞게 브랜치 생성
  • 작업시 이름 이니셜Test작업명의 씬을 추가해 해당 씬 안에서만 작업한다.
    • ex : LSW_Test_CharacterWalkAnimation.Scene
  • 개인이 작업시 생성하는 스크립트/프리팹 파일은 추후 수정 및 코드, 기능 추가의 여지가 있을 경우 담당자 표기를 위해 파일명 앞에 이니셜_을 붙인다.
    • ex : LSW_CharacterWalk
  • 자신의 이니셜이 붙지 않은 파일 수정시 팀원들에게 해당 파일을 수정중이지 않은지 우선적으로 확인한다.
  • 프로젝트의 자체 설정 변경과 파일 정리(파일 삭제 및 테스트 파일의 메인씬 적용)의 권한은 팀장만 가진다.
    • 단, 팀장의 관리 하 삭제 변경 지시를 받은 경우는 예외로 한다.

Project.fall(가제) 기획안


1. 아이디어 구상

장르 : 탑뷰 생존? → 싱글플레이 타임어택
레퍼런스 게임 : 폴가이즈

2. 게임 오브젝트

Player

  • 이동 : WASD
  • 잡기 : 마우스 좌클릭
  • 점프 : Space
  • 점프 대쉬 : Space + Shift
  • 시점(카메라) : 마우스 방향

(prefab)

  1. 타일 - 마찰계수 조절
    • 일반 타일
    • 미끌어지는 타일
  2. 미는 벽 : 코루틴활용. 앞뒤 무빙
    • 사각 벽 : 밀리는 대로 캐릭터가 밀리는 느낌
    • 원형 기둥 : 부딫히면 튕겨내는 느낌
  3. 움직이는 바닥 : 런닝머신처럼 일정한 방향으로 전진하는 타일. 마찰이 커서 캐릭터가 바닥과 동일한 방향으로 이동
  4. 대포 : 과일 탄환. 오브젝트 풀 활용
  5. 망치 : 코루틴 활용해서 일정하게 회전하도록 구현. 맞으면 Addforce.Impulse로 힘을 가해 멀리 날아가도록 구현.
  6. 물 : 시간이 지남에 따라 천천히 위로 올라오도록(타임 어택) 구현. collider만 추가하여 맵 아래에서 천천히 올라오는 방식, 트리거로 플레이어 한정하여 게임오버 조건이 만족하도록 구현.

3. 매커니즘

  1. 게임 클리어 조건 : 플레이어가 결승선에 골인
  2. 게임 오버 조건 : 플레이어가 물에 닿은 경우

4. UI UX

메인 메뉴

  • 플레이(btn) : 이벤트 연결
  • 환경설정(btn) : 이벤트 연결
  • 종료(btn) : 이벤트 연결

HUD

  • 시간표시 : 남은 시간(타임어택)
  • 인게임 랭킹 : 보글보글처럼 걸린 시간을 표기하는 식으로 랭킹 등록

5. 그래픽 스타일

  • Dimention : 3D
  • 카메라 : 탑뷰
  • 스타일 : 카툰

6. 작업 우선순위 및 일정 계획

작업 우선순위

1 오브젝트 기능

  • 플레이어 이동 로직, 카메라 시점 - 기운, 지혁
  • 맵 오브젝트 - 인권, 종원, 석원
    (프리팹 기능 검사까지 끝나면 공용폴더에 넣고 테스트씬에서 활용)

2 게임 동작 로직(미정)

  • UI, 이벤트 - 이펙트 담당, 이미지, 사운드
  • 매니저 - 게임 오버 이벤트 관리, 데이터 저장
  • 맵 구현

일정 계획

4/28 : 오브젝트 구현
4/29 : 맵 구현 + 아침 or 28일 저녁에 오브젝트 간 상호작용 QA
4/30 : 게임 동작 로직
5/2 : UI, 사운드, 이벤트, 매니저
5/4 : 에셋 적용
5/7 : QA 진행, 마무리 버그 픽스

7. 생각보다 구현속도가 빠르면

  • 카메라 시점
  • 맵을 추가(튜토리얼)
  • 세이브 포인트 - trigger enter exit에 따라 spawnPos 변경
  • 환경설정 사운드 조절, 밝기 조절
  • 아바타 변경 시스템
profile
뚠뚠뚠뚠

0개의 댓글