개인 포트폴리오 - (1) 개발 명세서 및 일정

이형눈이이상해
이형눈이이상해
∙∙조회 20
개인 포트폴리오 - (1) 개발 명세서 및 일정

장르: 그리드 맵 턴제 전략 게임

레퍼런스: 슈퍼로봇대전 30

기간 : 26-11-06(금) ~ 26-11-23(월)


1. 전제 사항

1.1. 항목별 사항 도표

항목

전제

비고

엔진

Unity 6(6000.3.9f1 LTS)

미션가이드 지정

그래픽 및 시점

3D 쿼터뷰 (칸은 XZ 평면)

2D 선택 시 마우스 좌표 변환 방식만 달라짐 (1일차에 확정)

환경 형태

사각 칸, 4방향 이동

칸 거리 = 상하좌우로 몇 칸 떨어졌는가

길찾기 알고리즘

다익스트라

NavMesh 제외, A* 고려(다익스트라 확장판)

외부 데이터

유닛, 무기, 맵

코드 밖 데이터로 분리

맵 데이터 형식

JSON (JsonUtility) 또는 CSV 중 택 1

단순함은 CSV, 확장성은 JSON

1.2. 일정 구성

  • 구현 일정은 총 16일 (11/06 ~ 11/21)
  • 남은 2일은(11/22 ~ 11/23) 발표 자료 작성을 진행한다.

2. 구현 범위 명세서

2.1. 필수 구현 사항

ID

기능

최소 기준 구현 사항

F-01

유닛, 무기 외부 데이터

각 데이터는 내부 코드 없이 반영 가능

유닛 데이터는 이름, HP, EN, 이동력, 무기 목록

무기 데이터는 이름, 공격력, 최소, 최대 사거리, 범위 모양, EN 소모량

F-02

카메라

비스듬히 내려다보는 쿼터뷰 시점

WASD 또는 마우스를 화면 가장자리로 가져다가 시점 이동

시점이 맵 밖으로 탈출 불가

F-03

맵 외부 데이터

스테이지 최소 2개 이상

10 x 10 이상의 사각 칸 그리드 구성(즉, 100칸 이상)

지형 종류 3가지 이상

내부 코드 없이 스테이지 교체 가능

마우스가 오버랩 된 칸을 강조

클릭 시, 그리드의 몇 번째 칸인지 정보 전달 가능

F-04

아군 페이즈 조작

아군 유닛 클릭 시, 고른 유닛 표시 2종(칸 주위, 상단)

아군 유닛 커맨드 메뉴 표시: '이동', '공격', '대기'

이동 후 '공격', '대기' 커맨드 대기

공격 커맨드 시, 무장 선택 구간으로 이동

무장 선택 시, 공격 범위 표시

공격 확정 시, 전투 결과 계산

행동 완료 후 '다른 아군 유닛 조작' 혹은 '턴 종료' 선택

F-05

플레이어 이동 범위

이동 커멘드 선택 시, 유닛 중심으로 갈 수 있는 칸을 표시

지형별로 이동 비용 차등

진입 불가한 칸은 이동 불가 지형, 적 유닛이 존재하는 칸

아군 존재 칸은 둘 순 없어도 지나가기 가능

칸을 선택하면 이동 시작

경로에 따라 한 칸 씩 이동하도록 설정

F-06

플레이어 무기 공격 범위

공격 커맨드 시, 무장 선택 활성화

단일 대상 무장, 범위 무장 2개 이상으로 구성

유닛 EN 잔여량이 요구량보다 낮을 경우 무장 비활성화

무장 선택 시, 아군 기반 범위 표시

범위 안 적 유닛 선택 시, 공격 시행

F-07

전투 계산

공격 계산식 구상 후, 문서화

무장 선택 후, 범위 내 적 마우스 오버랩 시, 예상 전투 결과값 표시

공격 후 데미지 발생

F-08

적 AI

적 유닛별 행동 후 일정 대기 시간 존재

플레이어 이동 범위 및 공격 범위 규칙 적용

공격 조합 계산(이동 가능 칸 x 무장 x 공격 가능 대상)

가장 높은 점수로 환산된 쪽으로 이동 혹은 공격 진행

점수 조합이 없을 경우 가까운 아군 쪽으로 이동

행동 유형별 적 2종 이상

F-09

승패 조건

적 전멸 시 승리

아군 전멸 시 패배

F-10

인게임 UI

현재 진행 중인 턴 수 및 페이즈 표시

페이즈 전환 시, 인게임 중앙에 UI 발생

임의 칸에 마우스 오버랩 시, 지형ㆍ유닛ㆍ유닛 상태를 보여주는 창 발생

커맨드 메뉴, 무장 선택 목록(사거리, 공격력, EN 소모량), 전투 예상 UI

턴 종료 버튼

일시정지: 게임 재개 / 메인 메뉴로 이동

F-11

결과 UI

Stage Clear / Defeated 표시

걸린 턴 수, 격파 수, 잃은 아군 수

Clear: 다음 스테이지, 재도전, 메인 메뉴로 이동

Defeated: 재도전, 메인 메뉴로 이동

F-12

메인 화면 및 스테이지 선택

게임 시작 → 스테이지 선택

환경설정

게임 종료

F-13

환경 설정

BGM 볼륨 조절

사운드 이펙트 볼륨 조절

2.2. 선택 구현 사항

ID

기능

F-16

카메라 시점 줌 인, 줌 아웃

F-17

숲 회피율 보너스

F-18

이동 취소 (이동 후 공격 전)

F-19

난수 시드 고정

F-20

반격

F-21

턴 수 제한 패배

F-22

적 클릭 시 이동/공격 범위 표시

F-23

AUTO (아군 자동 진행)

F-24

범위 무기 3종 이상 구현

F-25

A* 알고리즘 적용

2.3. 제외 구현 사항

  • 전투 애니메이션 컷신
  • 정신 커맨드, 서포터, EX 액션, 능력 메뉴
  • 파티클/셰이더 직접 제작 (받은 이펙트를 알맞은 칸/시점에 생성만 한다)
  • 멀티플레이

3. 개발 스케줄

3.1. 전체 개요

단계

기간

일수

목표

P0 기반

11/06(금) ~ 11/10(화)

5일

데이터, 맵, 카메라, 이동까지 "움직이는 유닛" 확보

P1 핵심

11/11(수) ~ 11/17(화)

7일

전투, AI, UI, 메뉴 등 필수 기능 완성 후 기능 동결

P2 마감

11/18(수) ~ 11/21(토)

4일

리팩토링, 폴리싱, 선택 구현, 최종 빌드

발표

11/22(일) ~ 11/23(월)

2일

발표 자료 작성

  • 개발 기간: 총 16일 (11/06 ~ 11/21)
  • 강도 표기: 풀 = 종일 작업
            라이트 = 가벼운 작업 위주

3.2. P0: 베이스 (11/06 ~ 11/10)

날짜

강도

작업

관련 ID

비고 (밀릴 수 있는 사항)

11/06 금

풀

프로젝트 세팅(Unity 6000.3.9f1, Git, 폴더 구조), 유닛/무기/맵 JSON 스키마 설계, 좌표계 규칙(XZ 평면, 칸 거리) 확정

F-01

- 스키마를 대충 잡으면 이후 전 단계에서 재작업 발생
- JSON vs CSV 결정이 늦어지면 로더 작업 지연
- Git/패키지 환경 이슈 시 하루 소모 가능

11/07 토

라이트

샘플 JSON 작성(유닛, 무기 3종, 스테이지 2개), 지형 3종 정의, 전투 계산식 초안 문서화

F-01

F-07

- 스키마 확정이 전날 밀리면 이날 스키마 작업으로 소진
- 계산식 초안은 11/13로 이월 가능하나 이월 시 전투 구현이 무거워짐

11/08 일

풀

맵 로더, 10×10 그리드 생성, 지형별 타일, 마우스 오버 강조, 클릭 시 칸 인덱스 전달

F-03

- 마우스 좌표 → 칸 변환(레이캐스트/쿼터뷰)에서 디버깅 시간 소요
- 스테이지 교체 구조가 약하면 이후 재작업

11/09 월

풀

쿼터뷰 카메라(WASD, 화면 가장자리 이동, 맵 밖 이탈 방지), 유닛/무기 로더, 유닛 스폰

F-01

F-02

- 맵 경계 클램프가 스테이지 크기별로 동작하는지 검증 필요
- 카메라 + 로더 + 스폰 3개 동시 진행이라 카메라가 가장 먼저 밀림

11/10 화

풀

다익스트라, 이동 가능 칸 표시, 지형 비용 차등, 진입 불가/적 칸 차단, 아군 통과, 한 칸씩 이동

F-05

- P0 중 가장 무거운 날
- 아군 통과 / 정지 불가 칸 처리 같은 예외 규칙에서 지연 발생
- 밀리면 11/11 상태머신 작업과 충돌 → 이동 연출(한 칸씩 이동)만 후순위로 분리 가능

P0 마일스톤: JSON만 교체해서 스테이지가 바뀌고, 유닛 1기를 클릭해 이동시킬 수 있다.

3.3. P1: 코어 (11/11 ~ 11/17)

날짜

강도

작업

관련 ID

비고 (밀릴 수 있는 사항)

11/11 수

풀

턴/페이즈 상태머신, 유닛 선택 표시(칸 주위, 상단), 커맨드 메뉴(이동/공격/대기), 이동 후 커맨드 대기

F-04

- P0의 이동 미완성분이 이날로 유입될 가능성 높음
- 상태머신 설계가 부실하면 이후 AI/UI 연동 시 전체 수정 필요

11/12 목

풀

무장 선택(EN 부족 시 비활성화), 사거리 기반 범위 표시, 범위 내 적 선택

F-06

- 범위 모양(원형/직선 등) 규칙이 복잡하면 계산 지연
- 단일/범위 무장 구분 로직이 11/13 전투 계산과 얽힘

11/13 금

풀

전투 계산 적용, 예상 결과 표시, 데미지 처리, 승패 판정

F-07

F-09

- 계산식 문서화(11/07)가 미뤄졌다면 이날 과부하
- 예상 결과 표시(마우스 오버)는 UI 의존이라 11/14로 이월 가능
- 승패 판정(F-09)을 11/14로 분리 가능

11/14 토

라이트

인게임 UI(턴/페이즈 표시, 호버 정보창, 턴 종료 버튼) 단순 구현

F-10

- 완충 구간: 11/13 이월분이 여기로 유입될 가능성 높음
- 페이즈 전환 중앙 UI 연출은 폴리싱(P2)으로 넘길 수 있음

11/15 일

풀

적 AI(행동 후 대기, 이동×무장×대상 조합 점수화, 점수 없으면 접근, 행동 2종 이상)

F-08

- P1 중 가장 무거운 날
- 조합 점수화 성능/버그, 접근 이동 예외 케이스 디버깅 소요
- 밀리면 행동 유형 2종 이상 요건을 최소 구현(공격/접근)으로 먼저 충족 후 보강

11/16 월

풀

결과 UI(Clear/Defeated), 메인 메뉴, 스테이지 선택, 환경설정(BGM/SE 볼륨), 일시정지

F-10

~

F-13

- UI 항목이 많아 양이 가장 많은 날
- 씬 전환, 재도전, 다음 스테이지 연결에서 상태 초기화 버그 발생 쉬움
- 볼륨 설정 저장은 후순위 가능

11/17 화

풀

통합 테스트, 스테이지 2개 완주, 버그 수정, 기능 동결

필수 전체

- 앞선 일정의 누적 지연이 모두 여기로 몰림
- 필수 기능 미완료 시 P2 폴리싱 시간 잠식
- 동결 기준일은 지키고, 미완성은 최소 구현으로 마감

P1 마일스톤: 메인 메뉴에서 시작해 클리어/패배 결과까지 한 판이 끊김 없이 돌아간다. (필수 F-01 ~ F-13 완료)

3.4. P2: 리팩토링 & 폴리싱 (11/18 ~ 11/21)

날짜

강도

작업

관련 ID

비고 (밀릴 수 있는 사항)

11/18 수

풀

리팩토링(중복 제거, 데이터 로딩 검증/예외 처리, 코드 구조 정리)

필수 전체

- P1 잔여 버그 수정이 이날을 잠식할 가능성
- 리팩토링 중 신규 버그 유입 위험 → 변경 후 스테이지 완주 테스트 필수
- 데이터 검증(잘못된 JSON 처리)은 최소한만 구현

11/19 목

풀

폴리싱(이펙트/사운드 연결, UI 피드백, 연출 속도 조정), 선택 구현 착수

선택 구현

- 폴리싱은 끝이 없으므로 시간 제한 필요
- 선택 구현은 필수 안정화가 끝난 경우에만 착수
- 사운드/이펙트 리소스 수급 지연 가능

11/20 금

풀

밸런스 조정, 빌드 생성, 다른 환경에서 실행 테스트, 계산식 문서 최종화

F-07

F-19

- 빌드 실패 시 대응할 여유가 이날뿐
- 외부 데이터(JSON) 경로가 빌드 환경에서 깨지는 경우가 잦음 (StreamingAssets 등 확인)
- 밸런스 조정은 스테이지 2개 클리어 가능 여부만 우선 확인

11/21 토

라이트

최종 빌드 확정, 발표용 스크린샷/영상 캡처, 알려진 이슈 정리

-

- 11/20 빌드 문제가 이월되면 이날 소진
- 캡처가 밀리면 발표 자료 작성(11/22 ~ 11/23)에 직접 영향

P2 마일스톤: 외부 환경에서 실행되는 최종 빌드와 발표용 캡처 자료 확보.

3.5. 선택 구현 우선순위 (P2 여유 시)

구현 비용이 낮은 순서입니다.

순위

ID

기능

비용

비고

1

F-24

범위 무기 3종 이상

낮음

JSON 분리 시 데이터 추가 수준, P0 샘플 데이터 단계에서 미리 반영 권장

2

F-25

A* 알고리즘 적용

낮음

다익스트라 구조 위에 휴리스틱 추가

3

F-22

적 클릭 시 이동/공격 범위 표시

낮음

기존 범위 표시 로직 재사용

4

F-18

이동 취소

중간

이동 전 상태 저장 필요, 상태머신 구조에 의존

5

F-16

카메라 줌 인/아웃

낮음

카메라 경계 클램프와 충돌 확인 필요

6

F-23

AUTO (아군 자동 진행)

중간

적 AI 로직 재사용

7

F-19

난수 시드 고정

낮음

난수 사용처가 흩어져 있으면 오히려 어려움

8

F-17

숲 회피율 보너스

중간

전투 계산식 수정 동반

9

F-20

반격

높음

전투 흐름 변경, 버그 위험 큼

10

F-21

턴 수 제한 패배

낮음

승패 조건 확장

3.6. 전체 리스크 요약

구분

리스크

대응

일정

11/10(다익스트라/이동), 11/15(적 AI)가 가장 무거움

11/14 토요일을 완충 구간으로 활용

일정

P2가 4일로 짧음

11/17 기능 동결 엄수, 미완성은 최소 구현으로 마감

구조

초기 스키마/상태머신 설계 부실 시 전체 재작업

11/06, 11/11 설계에 시간 투자

빌드

외부 데이터 경로 문제로 빌드 환경에서 실행 실패

11/20 전에 한 번 이상 빌드 테스트

발표

캡처 자료 부족

11/21까지 확보, 개발 중에도 틈틈이 캡처


4. 사용 에셋 후보 목록

4.1. 유닛 모델링

4.2. 애니메이션

4.3. UI

4.4. 환경 요소

4.5. 이펙트 및 사운드