개인 포트폴리오 - (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 | - 스키마를 대충 잡으면 이후 전 단계에서 재작업 발생 |
11/07 토 | 라이트 | 샘플 JSON 작성(유닛, 무기 3종, 스테이지 2개), 지형 3종 정의, 전투 계산식 초안 문서화 | F-01 F-07 | - 스키마 확정이 전날 밀리면 이날 스키마 작업으로 소진 |
11/08 일 | 풀 | 맵 로더, 10×10 그리드 생성, 지형별 타일, 마우스 오버 강조, 클릭 시 칸 인덱스 전달 | F-03 | - 마우스 좌표 → 칸 변환(레이캐스트/쿼터뷰)에서 디버깅 시간 소요 |
11/09 월 | 풀 | 쿼터뷰 카메라(WASD, 화면 가장자리 이동, 맵 밖 이탈 방지), 유닛/무기 로더, 유닛 스폰 | F-01 F-02 | - 맵 경계 클램프가 스테이지 크기별로 동작하는지 검증 필요 |
11/10 화 | 풀 | 다익스트라, 이동 가능 칸 표시, 지형 비용 차등, 진입 불가/적 칸 차단, 아군 통과, 한 칸씩 이동 | F-05 | - P0 중 가장 무거운 날 |
P0 마일스톤: JSON만 교체해서 스테이지가 바뀌고, 유닛 1기를 클릭해 이동시킬 수 있다.
3.3. P1: 코어 (11/11 ~ 11/17)
날짜 | 강도 | 작업 | 관련 ID | 비고 (밀릴 수 있는 사항) |
|---|---|---|---|---|
11/11 수 | 풀 | 턴/페이즈 상태머신, 유닛 선택 표시(칸 주위, 상단), 커맨드 메뉴(이동/공격/대기), 이동 후 커맨드 대기 | F-04 | - P0의 이동 미완성분이 이날로 유입될 가능성 높음 |
11/12 목 | 풀 | 무장 선택(EN 부족 시 비활성화), 사거리 기반 범위 표시, 범위 내 적 선택 | F-06 | - 범위 모양(원형/직선 등) 규칙이 복잡하면 계산 지연 |
11/13 금 | 풀 | 전투 계산 적용, 예상 결과 표시, 데미지 처리, 승패 판정 | F-07 F-09 | - 계산식 문서화(11/07)가 미뤄졌다면 이날 과부하 |
11/14 토 | 라이트 | 인게임 UI(턴/페이즈 표시, 호버 정보창, 턴 종료 버튼) 단순 구현 | F-10 | - 완충 구간: 11/13 이월분이 여기로 유입될 가능성 높음 |
11/15 일 | 풀 | 적 AI(행동 후 대기, 이동×무장×대상 조합 점수화, 점수 없으면 접근, 행동 2종 이상) | F-08 | - P1 중 가장 무거운 날 |
11/16 월 | 풀 | 결과 UI(Clear/Defeated), 메인 메뉴, 스테이지 선택, 환경설정(BGM/SE 볼륨), 일시정지 | F-10 ~ F-13 | - UI 항목이 많아 양이 가장 많은 날 |
11/17 화 | 풀 | 통합 테스트, 스테이지 2개 완주, 버그 수정, 기능 동결 | 필수 전체 | - 앞선 일정의 누적 지연이 모두 여기로 몰림 |
P1 마일스톤: 메인 메뉴에서 시작해 클리어/패배 결과까지 한 판이 끊김 없이 돌아간다. (필수 F-01 ~ F-13 완료)
3.4. P2: 리팩토링 & 폴리싱 (11/18 ~ 11/21)
날짜 | 강도 | 작업 | 관련 ID | 비고 (밀릴 수 있는 사항) |
|---|---|---|---|---|
11/18 수 | 풀 | 리팩토링(중복 제거, 데이터 로딩 검증/예외 처리, 코드 구조 정리) | 필수 전체 | - P1 잔여 버그 수정이 이날을 잠식할 가능성 |
11/19 목 | 풀 | 폴리싱(이펙트/사운드 연결, UI 피드백, 연출 속도 조정), 선택 구현 착수 | 선택 구현 | - 폴리싱은 끝이 없으므로 시간 제한 필요 |
11/20 금 | 풀 | 밸런스 조정, 빌드 생성, 다른 환경에서 실행 테스트, 계산식 문서 최종화 | F-07 F-19 | - 빌드 실패 시 대응할 여유가 이날뿐 |
11/21 토 | 라이트 | 최종 빌드 확정, 발표용 스크린샷/영상 캡처, 알려진 이슈 정리 | - | - 11/20 빌드 문제가 이월되면 이날 소진 |
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. 유닛 모델링
- POLYGON - Mech Pack - Art by Synty (학원 제공)
- Fantastic Robot Pack 4 (학원 제공)
- Robot Hero : PBR HP Polyart
- The Assault Mech
4.2. 애니메이션
4.3. UI
4.4. 환경 요소
4.5. 이펙트 및 사운드
- Way Points, Alerts, Map Track Markers (학원 제공)
- AAA Projectiles Vol.1 (학원 제공)
- AAA Projectiles Vol.2 (학원 제공)
- UNI VFX: Characters & Artifacts for Visual Effect Graph (학원 제공)
- Cartoon VFX_URP (학원 제공)
- Sci-fi Guns SFX Pack
- Force Field - Sci-Fi Collection
- Free Frost Mage SFX
- Free Laser Weapons




