-
Notifications
You must be signed in to change notification settings - Fork 4
개발계획서
저희 팀은 다양한 능력을 가진 팀원 5명으로 구성된 팀 16, Sound Is All You Need입니다. 저희는 팀 구성원들이 각자 가진 능력을 최대한 발휘하여, 음악적 요소와 그래픽 요소가 아름답게 조화를 이루는 게임을 만드는 것을 목표로 하고 있습니다. 게임의 이름이기도 한 팀 이름은, 메인 기믹으로서 큰 비중을 차지하는 소리를 게임의 주역으로 만들겠다는 마음가짐과 컴퓨터공학과라는 정체성을 합치기 위해 유명 논문을 이름을 차용해 탄생하게 되었습니다.
팀원 | 소속 | 경험 및 스킬 | 역할 | GitHub | |
---|---|---|---|---|---|
오지승 | 자유전공학부 21 | UI, 캐릭터 디자인, 모델링, 게임 디자인 경험 | Designer | 5jseung | [email protected] |
이수인 | 컴퓨터공학부 22 | Unity toy project 참여 | PM, Scrum Master | silee1103 | [email protected] |
강래산 | 컴퓨터공학부 22 | 밴드, 오케스트라 경험 | QA, Level Design | RayBean1022 | [email protected] |
정명구 | 컴퓨터공학부 19 | 백엔드 개발자 경력 | Main Programmer | guzus | [email protected] |
최용훈 | 컴퓨터공학부 19 | 쉐이더 및 물리엔진 구현 경험 | VFX, Graphics | ygr4789 | [email protected] |
모든 것이 소리와 음악으로 움직이는 신비로운 세계를 배경으로 한 게임입니다. 숲 속에서 길을 잃은 당신은 그곳에서 악기를 줍고, 연주하는 음에 따라 주변 환경이 변화하는 힘을 터득하게 됩니다. 악기를 사용한 상호작용으로 퍼즐을 해결하며 막힌 길을 헤쳐나갈 수 있습니다.
플레이어는 음악으로 주변 환경 변화를 이끌어내며, 그 변화로 탈출을 방해하는 다양한 퍼즐과 장애물을 해결해야 한다. 각 스테이지는 선형적으로 진행되며, 퍼즐은 적절한 음의 조합과 순서로 해결된다. 각 스테이지의 최종 목표는 퍼즐을 풀고 문을 열고 탈출하는 것이다. 잘못된 상호작용은 재시도를 요구할 수 있다.
초반부 스테이지는 한가지 음만 사용해도 풀 수 있는 퍼즐을 통해 각 음과 그 능력의 사용 방식을 익히는 튜토리얼로 구성된다. 후반부에 게임이 진행될수록 능력의 조합 방식을 익히는 스테이지들이 나타나 더 복잡한 퍼즐을 해결할 수 있도록 한다.
플레이어는 음을 연주할 수 있고, 각 음은 고유한 파동을 만들어서 주변 오브젝트에 영향을 준다. 또한, 호흡이라는 제한 요소를 고려해야 하며, 이로 인해 연주의 지속 시간과 빈도를 적절히 관리하는 것이 필요하다.
- 공명 : 특정 음이 연주될 때 공명 가능한 오브젝트가 범위 내에 있으면 그 오브젝트에 물리적인 변화가 발생한다. 이 변화를 적절히 조합하여 각 스테이지의 퍼즐을 해결할 수 있다. 예를 들어, 돌이 움직이거나 나무가 쓰러진다.
- 호흡 : 음 연주 시에 호흡이라는 제한 요소가 존재해 이를 적절히 관리해야한다.
- 돌 오브젝트 : 특정 음에 반응해 움직이거나 굴러가며, 플레이어가 진행할 수 있는 새로운 경로를 열어준다.
- 나무 오브젝트 : 나무는 특정 음에 반응해 쓰러지거나 일어서며, 경로를 차단하거나 다리 역할을 한다.
- 물 오브젝트 : 물의 수위를 음에 따라 조절할 수 있으며, 플레이어가 지나갈 수 있는 경로를 열거나 막을 수 있다.
- 동물 오브젝트 : 특정 음에 반응해 동물이 움직이거나 돌진하며, 다른 오브젝트와 충돌해 환경에 변화를 일으킨다
-
초반 스테이지
- 환경 : 문이 돌무더기에 깔려 있으며, 플레이어가 그 옆에서 스폰된다.
- 목표 : 문을 열고 스테이지를 탈출해야 한다.
- 공략 : 플레이어는 연주 스킬(숫자 키 3)을 사용하여 돌을 치우고 문을 열어 나갈 수 있다.
-
후반 스테이지
- 환경: 플레이어는 작은 입구가 있는 울타리로 둘러싸인 공간에 갇혀 있으며, 그 입구에는 개울이 흐르고 있다. 플레이어는 물에 닿을 수 없기 때문에 울타리로 둘러싸인 지역을 벗어날 수 없다.
- 목표: 문이 잠겨 있고, 열쇠는 울타리 밖 깊은 연못에 있다. 연못의 수위가 높아지면 개울과 수면이 연결되도록 설계되어 있다.
- 공략:
- 연주 스킬 (돌, 6)을 사용해 돌의 크기를 키워 둔다.
- 연주 스킬을 사용하여 돌을 연못으로 옮겨 빠뜨린다. (돌, 4) 돌을 이용해 연못을 범람시키면, 연못과 개울이 연결된다.
- 플레이어는 연주 스킬 (물, 3)을 사용하여 물의 방향을 개울 상류로 바꾼다. 열쇠가 개울을 따라 울타리의 작은 입구 안으로 흘러와, 플레이어가 이를 획득한다.
- 문 앞으로 가서 열쇠를 사용하면 문이 열린다.
소리와 악기를 이용한 캐주얼 퍼즐게임으로, 퍼즐게임을 즐기는 유저와 캐주얼하고 동화같은 그래픽을 좋아하는 유저를 타겟으로 한다. 소리라는 새로운 매커니즘을 사용하므로 색다른 퍼즐요소 경험을 원하는 유저들을 더 중점적으로 타겟팅한다.
- Monument Valley (시각적 퍼즐)
- 퍼즐을 시각적인 방식으로 직관적으로 제시
- Rhythm Heaven (리듬 기반)
- 사용자에게 리듬을 인식시키는 방식
- 시각적&청각적 요소를 조합해서 리듬을 제시함으로써 유저가 반응하여 대응할 수 있도록 함
- One Hand Clapping (소리로 상호작용)
- 소리를 퍼즐게임에 녹이는 방법
- 음의 높낮이와 크기만을 이용하며, 사람의 음성을 이용하므로 섬세한 컨트롤을 요구하지 않음
- 2d 기반이고 맵이 넓고 이동시간이 긺 (Gris와 유사)
- Biped (3d 쿼터뷰, 캐주얼 그래픽)
- 그래픽적인 요소와 게임 흐름
- 목적을 가지고 길을 따라 퍼즐을 풀며 이동
- 스테이지가 구분되어 있고 한 스테이지 안에서도 실질적으로는 구간별로 구분되어 있음
- 기본 기믹은 플레이어 두 명의 각 두 개의 발을 이용
- 진행할 수록 심화 콘텐츠(npc의 발 이용, 발로 물건을 집거나 벽을 타는 등의 상호작용) 등장
- 중간중간에 메인진행과는 관련 없는 유희를 위한 챌린지 존재
- 음을 직접 조작해 환경을 변화시키는 공감각적 메커니즘
- 소리와 비주얼을 결합한 퍼즐 시스템
- 여러 음을 조합한 화음으로 새로운 능력을 만들어냄
As a | I can | so that |
---|---|---|
플레이어 | 방향키(←↑→↓)와 스페이스 바를 사용해 내 캐릭터를 상하좌우로 이동시킬 수 있다 | 게임 내에서 자유롭게 탐험하며 다양한 장애물을 피하거나 목적지에 도달할 수 있다 |
플레이어 | 1번부터 7번까지의 숫자 키를 입력해 특정 기간 동안 도~시의 음을 연주할 수 있다 | 게임 내에서 음악과 상호작용하는 기믹들을 풀고, 특별한 효과를 발생시킬 수 있다 |
플레이어 | 상호작용 가능한 오브젝트 근처에서 E키를 눌러 NPC와 대화하거나, 오브젝트를 관찰하거나, 아이템을 획득할 | 게임의 스토리 진행이나 아이템 수집이 가능하다 |
플레이어 | 1번 키를 누르면 | 플레이어 또는 동물을 돌진시킬 수 있다 |
플레이어 | 2번 키를 누르면 | 플레이어가 빛이 나거나 나무에 불이 날 수 있다 |
플레이어 | 3번 키를 누르면 | 플레이어와 마주보는 방향으로 바람을 일으킬 수 있다 |
플레이어 | 4번 키를 누르면 | 플레이어가 바라보는 방향으로 바람을 일으킬 수 있다 |
플레이어 | 5번 키를 누르면 | 플레이어, 돌, 나무의 크기를 작게 할 수 있다 |
플레이어 | 6번 키를 누르면 | 플레이어, 돌, 나무의 크기를 크게 할 수 있다 |
소리 스킬은 게임의 핵심 기믹으로, 플레이어가 악기로 연주한 음이 주변에 영향을 주는 것을 시각적으로 표현해야 한다.
- 소리의 시각적 효과 : 플레이어가 특정 음을 연주하면 그에 맞는 색상의 파동 이펙트가 플레이어 주위에 발생한다. 이펙트의 크기와 색상을 통해 각각 스킬의 범위(소리의 세기), 스킬의 효과(소리의 높낮이)를 표현한다. 해당 이펙트는 화면에서 직관적으로 확인할 수 있어 플레이어가 스킬을 통한 주변 오브젝트와의 상호작용 가능 여부를 쉽게 이해할 수 있도록 돕는다.
- 예시 : 숫자 키 2를 입력 시 ‘레’ 음의 사운드가 재생되면서 플레이어 노란 색의 음파가 발생하고, 음파 범위 내에서 상호 작용가능한 오브젝트가 빛을 발함.
- 참고 자료
- UI 및 연출 : 악기를 사용 가능한 상태에서는 화면의 좌하단에 플레이어가 사용하는 악기의 아이콘이 표시되어 있다. 이때 플레이어가 처음 접하는 상호작용이 필요할 경우, 화면 상의 오브젝트 및 악기 아이콘에 연주해야 하는 음의 색에 해당하는 glow 효과를 부여하여 가이드를 제시한다. 가이드가 없는 경우에도 소리 스킬을 사용하는 동안은 악기 아이콘에 효과가 나타난다.
- 그래픽 스타일 : 로우폴리(low poly) 그래픽으로 복잡하지 않지만 생동감 있는 표현을 통해 숲의 풍경을 보여준다. 자연 요소들이 소리와 상호작용하면서 부드럽게 변화한다. 단순한 폴리곤으로 구성된 환경은 소리의 변화가 더욱 뚜렷하게 보이도록 도와주며, 퍼즐 요소가 있는 오브젝트는 시각적으로 강조된다.
- 플레이어 시점 : 쿼터뷰(isometric view)를 통해 플레이어는 캐릭터와 주변 환경을 전체적으로 조망할 수 있다. 이 시점은 플레이어가 공간을 탐색하고 퍼즐을 풀어나가는 데 최적화되어 있으며, 소리의 물리적 효과가 환경에 미치는 영향을 넓은 범위에서 확인할 수 있게 한다.
게임은 주로 숲을 배경으로 하며, 자연적인 요소들이 퍼즐의 핵심이 된다. 이에 따라 오브젝트와의 상호작용 또한 숲과 관련된 것으로 설정하였다. 나무와 덤불이 길을 막거나, 연못의 물 수위를 조절해야 하는 등 자연을 활용한 퍼즐이 등장한다. 또한 특정 스테이지는 동물들이 등장하며, 플레이어는 이 동물들을 조종할 수 있다.
- 플랫폼: PC, Windows OS
- 해상도: 1920x1080 (FHD)
- 프레임: 60FPS
- 입력 장치: 키보드, 마우스
- 프로세서(CPU): Intel Core i3-2100
- 메모리(RAM): 4GB
- 그래픽 카드(GPU): NVIDIA GeForce GTX 460
- 저장 공간: 4GB 이상의 여유 공간
- DirectX: 버전 11
- 사운드 카드: DirectX 호환 사운드 카드
ID | Name | Category | Priority | Cost (hours) | Description |
---|---|---|---|---|---|
#001 | 플레이어 이동 | 개발 | 1 | 8 | 1. Arrow Key를 입력으로 받아 XZ plane 상에서 상하좌우로 이동, 대각선 방향의 input도 허용 2. Space 키로 Y축으로 점프 3. 돌이나 동물 등의 오브젝트나 물, 벽 등의 지형에 가로막히면 이동 불가 |
#002 | 플레이어 연주 | 개발 | 1 | 10 | 1. Number Key(1~7)을 입력으로 받아 각각 도~시 음 연주 2. 각 음율에 대응하는 색깔 (빨~보)의 파동 VFX 발생 3. 연주한 순간 범위 내에 공명 가능한 오브젝트가 있으면 상호작용 발생 4. 스테이지마다 정해진 사용 횟수 제한이 있으며, 연주 시마다 소모함 |
#003 | 카메라 구현 | 개발 | 1 | 6 | 3d 쿼터뷰로 플레이어를 따라다니는 카메라 구현 |
#004 | 레벨(퍼즐) 디자인 | 기획 | 1 | 20 | 1. 각 스테이지의 구성, 퍼즐 등을 디자인 2. 레벨 별로 맵의 전반적인 레이아웃과 주요 오브젝트 위치 설정 |
#005 | 돌 구현 | 개발, 에셋 | 1 | 12 | 상호작용이 가능하며, 지형지물의 역할을 할 수 있는 돌 오브젝트 구현 - 플레이어가 직접 밀었을 때는 움직이지 않으며, 음악이나 오브젝트에 의한 상호작용에 의해서만 움직임 - 퍼즐 디자인에 따라 다양한 형태의 모델링 필요 (단순히 구르는 구 형태, 고저차를 이어주는 빗면 형태 등). |
#006 | 물 구현 | 개발, 에셋 | 1 | 15 | 웅덩이 형태의 지형에서 지정된 수위만큼 물이 차있도록 구현 물이 차오른 곳에는 플레이어가 지나갈 수 없어 통행을 방해함 (경로 제한을 통한 레벨 디자인 요소) 인접한 수원과 수면이 합쳐지거나 분리될 수 있음 |
#007 | 동물 구현 | 개발, 에셋 | 1 | 15 | 상호작용 가능한 동물 구현 평소에는 멈춰 있으며, 움직이고 있을 때는 경로상의 오브젝트에 충돌 시 상호작용 (#10참조) Idle 상태와 돌진 상태에 따라 애니메이션 변화 |
#008 | 나무 구현 | 개발, 에셋 | 1 | 15 | 자체적인 내구도를 가지고 있으며, 다른 오브젝트에 의해 충돌 시 내구도가 감소하고 0이 될 경우 마지막 충돌 방향으로 쓰러짐 지정된 값에 따라 높이가 변화할 수 있음 쓰러진 상태의 나무는 지형지물의 역할을 함 (레벨 디자인 요소) |
#009 | 공명 (음악과 물체의 상호작용) | 개발 | 2 | 30 | 1. 숫자키 1(돌진) 입력 시 플레이어 자신의 이동 속도가 빨라짐 1-1. 범위 내에 동물이 있을 경우, 각 동물이 자신이 바라보는 방향으로 돌진함 2. 숫자키 2(빛) 입력 시 플레이어 본인이 빛남 2-1. 범위 내에 돌 오브젝트가 잇을 경우, 돌에 발광 효과가 발생함 2-2. 범위 내에 나무가 있을 경우, 빛나다가 불에 타서 사라짐 3. 숫자키 3(청소기) 입력 시 주변에서 플레이어 방향으로 바람이 붊 3-1. 범위 내에 돌 오브젝트가 있을 경우 플레이어 쪽으로 굴러감 3-2. 범위 내에 물이 있으면 플레이어 쪽으로 급류가 발생 4. 숫자키 4(선풍기) 입력 시 플레이어에서 주변으로 바람이 붊 4-1. 범위 내에 돌 오브젝트가 있을 경우 플레이어에서 멀어지는 쪽으로 굴러감 4-2. 범위 내에 물이 있으면 플레이어에서 멀어지는 쪽으로 급류가 발생 5. 숫자키 5(축소) 입력 시 플레이어의 크기가 작아짐 5-1. 범위 내에 돌 오브젝트가 있을 경우 돌의 크기가 작아짐 5-2. 범위 내에 나무가 있을 경우 나무의 키가 자람 6. 숫자키 6(확대) 입력 시 플레이어의 크기가 커짐 6-1. 범위 내에 돌 오브젝트가 있을 경우 돌의 크기가 커짐 6-2. 범위 내에 나무가 있을 경우 나무의 키가 줄어듬 |
#010 | 물체끼리의 상호작용 | 개발 | 2 | 20 | 1. 돌 오브젝트가 물에 빠지게 되면 물의 수위가 높아짐 2. 돌진하는 동물이 돌에 충돌 시 돌이 충돌 방향으로 굴러감 3. 구르는 돌이나 돌진하는 동물, 쓰러지는 나무가 나무에 충돌 시 해당 나무의 내구도가 감소함 4. 쓰러진 나무는 물 위에 뜨며, 수위 변화와 급류 방향에 따라 함께 움직임. |
#011 | 조사 | 개발 | 2 | 6 | 조사 가능한 오브젝트(아이템, npc 등) 앞에서 E키를 누르면 조사 트리거 발생 1. 아이템은 조사 시 획득 2. npc는 대화 발생 |
#012 | 캐릭터 애니메이션 추가 | 개발 | 2 | 10 | 각 플레이어 동작에 맞는 애니메이션 효과 추가 |
#013 | 인게임 UI | 아트 / 디자인, 개발, 기획 | 2 | 15 | 게임에 사용되는 다양한 UI 요소 - 비게임 요소에서 버튼 클릭용으로 사용되는 마우스 인터페이스 - 공명가능한 음률을 나타내는 피리 아이콘 시스템 - 연주 인터페이스 (음악 연주 시 투명한 악보 UI가 생성, 그 위에 음력된 음악에 따라 음표 UI 생성)를 디자인하고 배치. 또한 각 기능에 부합하는 특수효과 구현 |
#014 | Guide : (말풍선)(TTS+자막) 시스템 제작 | 기획, 에셋, 개발 | 2 | 18 | 말풍선, 음성으로 사용자에게 적절한 재미와 컨텍스트를 주도록 에셋을 만들고 기획 및 개발 |
#015 | 진행사항 저장 | 개발 | 3 | 4 | 스테이지 완료 시 스테이지 완료 개수 저장 |
#016 | 스테이지 선택 화면 | 아트 / 디자인, 개발 | 3 | 10 | 스테이지 선택할 수 있는 화면 디자인 및 개발 |
#017 | 타이틀 화면 | 아트 / 디자인, 개발 | 3 | 8 | 타이틀 화면 디자인 및 개발 (게임 플레이 버튼, 크레딧) |
#018 | 설정창 생성 | 개발, 아트 / 디자인 | 3 | 12 | 음량 조절, 게임으로 돌아가기, 나가기 버튼 구상 및 개발 |
#019 | 조사가능 오브젝트 특수효과 | 개발 | 3 | 5 | 조사 가능한 오브젝트와 가까이 있으면 오브젝트에 파티클 효과 발생 |
#020 | 사운드 디자인 & Find | 사운드, 에셋 | 3 | 12 | 오브젝트나 플레이어에게서 발생하는 사운드에 적절한 에셋 탐색 |
#021 | 사운드 apply | 개발, 사운드 | 3 | 6 | 사운드 에셋을 해당하는 오브젝트에 적용 |
#022 | 플레이어 상호작용 특수효과 | 아트 / 디자인 | 3 | 10 | 공명 가능한 오브젝트와 가까이 있을 때, 각 오브젝트 특성에 맞는 파동 VFX 발생 |
#023 | 게임 아이콘 설정 | 아트 / 디자인 | 3 | 8 | 게임 타이틀아이콘, 게임 내 메뉴, 아이템, 아이콘을 디자인하고 시각적 일관성을 유지 버튼 / 아이콘 UI 배치 |
#024 | 스토리, 설정 확립 | 기획 | 4 | 3 | 게임의 스토리 및 세계관 설정을 확립 |
#025 | Level Adusting (QA) / Tutorial Setting | 기획 | 4 | 20 | 직접 구동해보면서 전체적인 난이도 조절 및 튜토리얼 기획 |
#026 | 성능 최적화 (rendering) | 개발 | 5 | 15 | 게임 렌더링 성능을 최적화하여 프레임 속도를 높이고, 렌더링 관련 자원을 효율적으로 관리 |
#027 | 컷신 드로잉 | 아트 / 디자인 | 5 | 30 | 스토리 전개에 맞는 컷신의 주요 장면 드로잉 |
#028 | 컷신, 대사 생성 & 배치 | 기획 | 5 | 10 | 컷신에 등장할 대사와 캐릭터 대화 내용을 작성하고 컷신의 흐름에 맞춰 배치 |
#029 | NPC 기획 | 기획, 아트 / 디자인 | 5 | 10 | NPC의 모델링, Idle/대화 애니메이션 제작 E로 조사할 경우, 스테이지에 따라 플레이어에게 적절한 힌트나 튜토리얼을 제공함 |
- 스프린트 1: 플레이어 기본 동작 및 레벨 디자인, 상호작용 기초 구현
- 기간: 2024. 10. 23. ~ 2024. 11. 05.
- 관련 백로그: #001, #002, #003, #004, #005, #007, #008
- 할 일:
- 플레이어 이동 구현
- 플레이어 연주 기능 구현
- 카메라 구현
- 레벨 디자인 및 퍼즐 구성
- 상호작용 가능한 오브젝트(돌, 물, 나무, 동물) 기본 구현
- 조사 시스템 구현
- 스프린트 2: 상호작용 세부 구현 및 애니메이션, UI 추가
- 기간: 2024. 11. 06. ~ 2024. 11. 19.
- 관련 백로그: #009, #019, #011, #012, #013, #014
- 할 일:
- 플레이어 애니메이션 추가
- 공명 시스템 및 물체와의 상호작용 기능 세부 구현
- 물체 간 상호작용 구현
- 인게임 UI 개발 및 디자인
- 나무 오브젝트 구현
- 진동, 상호작용 특수효과 추가
- 스프린트 3: 사운드 및 특수효과 적용, 스테이지 진행도 저장 및 불러오기
- 기간: 2024. 11. 20. ~ 2024. 12. 03.
- 관련 백로그: #015, #015, #017, #018, #019, #020, #021, #022, #023
- 할 일:
- 사운드 디자인 및 에셋 적용
- 스테이지 완료 시 진행 사항 저장
- 조사 가능한 오브젝트 특수효과 추가
- 스테이지 선택 화면 및 타이틀 화면 개발
- 플레이어 상호작용 특수효과 및 공명 효과 확장
- 스프린트 4: 전체 시스템의 통합 테스트 및 성능 최적화, 최종 디테일 수정.
- 기간: 2024. 12. 04. ~ 2024. 12. 17.
- 관련 백로그: #024, #025, #026, #027, #028, #029
- 할 일:
- 성능 최적화 및 렌더링 개선
- 게임 아이콘 및 설정 창 디자인
- 최종 테스트 및 튜토리얼 조정
- 컷신 및 대사 배치, NPC 추가
- Github Flow 전략을 사용
- master 브랜치는 항상 안정적이고, 컴파일 에러나 치명적인 버그 없이 정상적으로 동작하는 상태를 유지
- 모든 브랜치는 master 브랜치에서 생성하며, 목적에 따라 명확한 네이밍 규칙을 따른다
- 기능 개발: feat/*
- 버그 수정: fix/*
- 리소스 업데이트: asset/*
- 작업 중인 내용을 자주 푸시하여 다른 팀원들이 진행 상황을 쉽게 파악할 수 있도록 한다
- 커밋 메시지는 한 줄로 간결하게 작성하며,
<타입>: <변경사항 요약>
형식을 따른다 - 타입은 다음 중 하나로 선택한다
- feat: 새로운 기능 추가
- fix: 버그 수정
- refactor: 코드 리팩토링
- docs: 문서 수정
- style: 코드 포맷팅 등 비기능적인 변경
- chore: 기타 변경사항
- 예시
feat: add login functionality fix: resolve login redirect bug
- master 브랜치로의 직접 커밋은 금지되며, Pull Request를 통해 최소 1명 이상의 팀원에게 코드 리뷰를 받고 머지한다
- Pull Request 템플릿
## 작업 내용 - [ ] 작업한 내용에 대한 간단한 설명을 적어주세요. ## 관련 이슈 - 관련된 이슈 번호를 적어주세요: #이슈번호 ## 체크리스트 - [ ] 변경 사항이 정상적으로 동작하는지 확인했습니다. - [ ] 관련 문서를 업데이트했습니다. - [ ] 코드 리뷰 및 테스트가 완료되었습니다. ## 스크린샷 (선택 사항) - 작업한 화면이나 기능에 대한 스크린샷이 있으면 첨부해 주세요.
- 목표: 유니티에서 구현된 모든 기능이 의도한 대로 작동하는지 확인한다.
- 방법: 유니티의 Test Runner를 사용하여 자동화된 단위 테스트(Unit Testing)를 작성하고, 주요 스크립트 및 시스템(캐릭터 이동, 상호작용, UI 등)을 검증함. 또한, 매뉴얼 테스트로 UI 상호작용, 물리 시스템, 애니메이션 동작 등을 확인한다.
- 유니티 도구: Unity Test Framework, Play Mode Tests, Edit Mode Tests
- 진행 시기: 기능 구현 후 즉시 테스트를 실시, 주기적으로 반복.
- 목표: 게임이 원활하게 실행되는지 확인하고 최적화한다.
- 방법: 유니티의 Profiler와 Frame Debugger를 이용해 CPU, GPU 성능, 메모리 사용량을 모니터링하고, 프레임 드롭이나 메모리 누수 등 성능 저하의 원인을 파악함. Addressable Asset System을 사용해 리소스 로딩을 최적화하고, 불필요한 메모리 점유를 줄인다.
- 진행 시기: 주요 기능이 완성된 후부터 주기적으로 성능 검사를 실시.
- 목표: 실제 사용자 환경에서 게임 플레이를 점검하고, 게임의 재미와 균형성을 평가한다.
- 방법: 개발팀 내에서 게임을 반복 플레이하여 문제점을 파악하고 난이도 조정, 사용자 경험(UX)을 개선한다.
- 진행 시기: 테스트 버전 완성 후, QA 관리자가 테스트 플레이 이후 게임 난이도 조정.
- 목표: 유니티 프로젝트에서 발생하는 모든 버그를 추적하고 효율적으로 관리한다.
- 방법: Github issue 같은 버그 관리 도구를 사용해 버그 발생 시 즉시 issue를 생성하고 매주 미팅을 통해 버그의 우선순위를 정하고 해결 일정을 계획한다.
- 진행 시기: 개발 초기부터 출시 전까지 계속해서 진행되며, 발견된 버그는 즉시 수정하고, 모든 주요 업데이트 전에 버그 수정을 완료.