티스토리 뷰
오늘은 최종 프로젝트에서 사용했던 기획에 대해서 설명하고자 한다.
다만, 이번 프로젝트도 그렇고, 본 캠프 동안은 본인도 개발자로서 참여를 해야하다 보니, 기획서를 작성할 여유가 없어서 전체적으로는 기반 컨셉 기획 정도 만 해 놓고, 실제 작업을 할 때에는 구두 설명으로 설명한 다음, 담당자가 그에 맞춰서 본인이 해석, 제작한 다음 그 제작 사항에 맞춰서 기획을 수정하는 방식으로 진행하였다.
그렇다 보니 초기 기획과 최종 기획이 좀 다르다.
초기 기획서
장르: 핵 & 슬래시
모티브: PoE(디아블로) + (구)트릭스터
Ref
- 기본적인 플레이 방식 : PoE 남동석 광산
- 카드 스킬 시스템 : 동방 비상천 or 슬레이 더 스파이어
- 아이템 세팅: 파이널 판타지 7 - 마테리아 시스템 + 로아 (구)트라이포드 시스템
- 던전 레벨 스케일링: 하데스의 도전 시스템 + 로아 카오스 던전
시나리오
이 세계에는 '던전'이라는 신비한 지역이 있다.
미지의 생물이 마구마구 태어나지만, 진귀한 물건들도 마구마구 생겨나는...
일확천금을 꿈꾸는 자들의 낭만이 있다....
그러니까, 일단 달려라! 달려서 쓸어모으는 거다!
구상 게임 플로우
- 로비에서 캐릭터 세팅을 시행한다.
- 속도감 형성을 위해서 던전 안에서는 캐릭터 세팅이 불가능하다.
[습득 아이템의 확인도 실시간으로는 등급 만 확인 가능하고, 세부 정보는 탈출 시에 한 번에 한다.]
- 속도감 형성을 위해서 던전 안에서는 캐릭터 세팅이 불가능하다.
- 세팅을 완료했다면 던전에 돌입한다.
- 던전에 진입할 때, 던전의 전체 레벨을 정한다.
- 던전의 레벨을 정했다면 던전에 적용될 옵션(도전 과제)를 선택한다.
- 이 때 정한 던전 레벨과 도전과제에 따라서 습득 아이템에 추가 효과가 적용된다.
- 던전을 탐험한다.
- 던전 안에서는 하단 및 좌우측 한정으로 무한히 확장되는 구성으로 진행된다
- 던전 안에서는 몬스터가 지속적으로 젠 된다.
- 몬스터를 토벌하거나 보물 방에서 보물 상자를 열면 아이템을 습득 가능하다.
- 탐험을 충분히 했다면 던전 곳곳에 있는 탈출 비컨으로 탈출한다.
- 탈출 실패 시에는 소지 중이었던 아이템들이 아이템 별 고정 확률으로 소멸한다.
[임시] 메인 시스템 [팀원 1명 당 1개 씩 맡을 예정. 이후 논의에 따라서 변경 가능.]
- 절차적 생성으로 지속적으로 확장되는 필드
- 플레이어 도전 요소나 확률에 의해서 끝 없이 강화되는 몬스터
- 덱 빌딩을 기반으로 구성된 필살기 시스템
- 다종다양한 아이템을 양산할 수 있는 아이템 옵션 시스템
[임시] 개발 과정 구상
- 기본 게임 제작 단계 ※ Ref. Brotato
- 4각형으로 구성된 필드에서 지속적으로 생성되는 적을 처치하면서 생존하는 기본 형태를 제작한다.
- 공격의 종류는 일반 공격 + 차지 공격의 2종. 무기는 검(단병기) 고정.
- 플레이어의 액션은 이동, 공격의 2종류 (공격 종류는 상단 참고)
- 몬스터는 플레이어가 일정 거리 안에 있으면 추적하며, 몸통 박치기로 공격.
- 타이틀 화면, 로딩 화면, 플레이어 UI 작성
- 컨텐츠 심화 단계 ※ Ref. The binding of Issac
- 필드에 바위나 호수(낭떨어지) 같은 지형지물을 추가한다.
- 상태이상(버프, 디버프, 군중제어) 추가.
- 몬스터 패턴의 기본 형태들을 추가한다. (평타, 사격, 폭발, 휩쓸기, 돌격 등등)
- 배경음악, 효과음, 추가 UI 작성
- 컨텐츠 확장 단계 ※ Ref. MoonLighter
- 필드에 가시나 함정 같은 방해물을 추가한다.
- 무기 종류 2종(장병기, 중병기) 추가 및 공격 타입(참격, 타격) 추가.
- 플레이어 애니메이션 적용
- 드롭이나 보물상자 등을 통한 아이템 습득 기능을 추가한다. [이 시점에는 무기만 습득.]
※ 추후에 모든 종류의 아이템을 추가할 수 있도록 프리팹을 담은 딕셔너리로 구현.
- 메인 시스템 제작 단계
※ 각자 따로 제작하다가 취합하는 시점에 완성 된 만큼 만 적용하여 취합.
※ 전 단계를 다 수행할 필요는 없다. 일부러 '다 못만들 정도로' 단계를 쌓은 것이니, 가능한 만큼만 만들자.
- 절차적 생성을 이용한 필드 실시간 확장 ※ Ref. PoE 광산
- 4각형의 방과 문의 격자구조로 된 필드를 절차적 생성으로 생성한다.
- 격자형이 아닌, 불특정한 형태의 방들이 복도로 연결되는 방식으로 구성되도록 변경한다.
- 필드가 플레이어의 위치에 따라서 동적으로 생성되어 무한히 이어지도록 변경한다.
- 히든 룸 생성 로직 추가. 히든 룸은 하단의 카드를 소비한 공격으로만 개방 가능
- 절차적 생성으로 생성되는 필드들이 허브 구조를 이용한 거점 형태를 가지도록 구성한다.
[※ 허브 구조: 하나의 지점으로 계속해서 이어지는 구조. 소울류 게임에서 자주 사용한다.]
- 몬스터 강화 시스템 ※ Ref. 디아블로 + 하데스
- 플레이어가 탐색한 방의 수 만큼 몬스터가 강해지는 시스템 추가.
- 탐색 시작 시점에 몬스터의 레벨을 설정하여, 레벨에 따라서 몬스터의 능력치와 보상이 증가한다.
- 플레이어가 도전 과제를 설정하여, 그 과제에 따라서 몬스터에 추가 효과가 적용된다.
- 몬스터의 패턴이나 특성이 랜덤으로 추가된다. [= 엘리트 몬스터 추가]
- 특정한 '기믹'을 가지고 있는 몬스터를 추가한다 [= 보스 몬스터 추가]
- 덱 빌딩을 기반으로 구성된 필살기 시스템 ※ Ref. 슬레이 더 스파이어 / 동방 비상천
- 마우스 휠[스킬 지정] + 우클릭[스킬 사용]을 사용하는 퀵슬롯과 스킬을 추가한다.
- 스킬을 덱빌딩으로 구사하도록 변경한다.
[※ 이 단계에서 종료 시, 소모 자원을 전용 에너지로 구성한다.] - 카드를 사용하면 코스트 만큼 손 안의 랜덤한 다른 카드를 소비하도록 변경한다.
- 카드에 소비 시 효과와 강화를 추가한다.
- 카드 습득 시, 일정 확률로 추가 효과가 부여된다. [Ref. PoE 스킬 젬]
- 아이템 모딩 시스템 ※ Ref. 파이널 판타지 7 - 마테리아 시스템
- 기본적인 능력치를 지닌 보패(장비를 대체하는 요소)를 추가한다. [3개 장착 가능]
- 보패에 랜덤으로 지정되는 특성 or 스킬 시스템을 추가한다. [Ref. 로스트아크 (구) 트라이포드]
- 특성을 담당하는 추가 장비인 '보석' 추가. [장비 옵션 + 보석 옵션 방식]
- 보석 슬롯에 연결 관계를 구성하여 연결 관계에 따른 보석 간 상호 보정 기능 추가.
- 보석으로 스킬을 추가 가능.
- 절차적 생성을 이용한 필드 실시간 확장 ※ Ref. PoE 광산
- 4번 까지 마친 이후에 전체 시스템을 정리한다.
- 세이브 시스템
- 튜토리얼
- 에셋 적용 + UI 외형 정리
- [시간 남으면] 멀티플레이를 통한 아이템 거래 추가
전체적으로 보면 작업 순서대로 기획서가 작성되어 있음을 알 수 있을 것이다.
'기본 형태를 만든 뒤에 점점 확장하는 방식'으로 구성하기 위해서 이렇게 작성한 것으로, 1~3단계는 이 게임이 2D 액션 게임으로서의 기본 형태에 해당하는 내용을 담고 있고, 4단계는 이 게임의 컨셉에 따른 '부가 요소'에 해당하도록 구성이 되어 있다.
이렇게 구성한 결과, 전체적으로 팀원들 간의 의사소통도 편하게 되고, 업무 분담도 원활하게 되면서 도중에 문제가 생겨도 원활하게 대처할 수 있었던 거 같다.
최종 기획서
각 파트 중에서 본인 파트는 앞에 [본인 파트]라고 명시 해 놓았다.
[원래는 상세한 분담 내역도 작성 해 뒀었지만, 개인정보 때문에 상세한 업무 분담은 지워서 작성하였다.]
추가로, 최종적으로 구현하지 못한 내용은 취소선 처리를 해 놓았다.
추가된 사항에 대해서는 별 다른 표시는 안해놓았으므로, 이 점은 양해 바란다.
장르: 핵 & 슬래시
모티브: PoE(디아블로) + (구)트릭스터
Ref
- 기본적인 플레이 방식 : PoE 남동석 광산
- 카드 스킬 시스템 : 동방 비상천 or 슬레이 더 스파이어
- 아이템 세팅: 파이널 판타지 7 - 마테리아 시스템 + 로아 (구)트라이포드 시스템
- 던전 레벨 스케일링: 하데스의 도전 시스템 + 로아 카오스 던전
시나리오
이 세계에는 '던전'이라는 신비한 지역이 있다.
미지의 생물이 마구마구 태어나지만, 진귀한 물건들도 마구마구 생겨나는...
일확천금을 꿈꾸는 자들의 낭만이 있다....
그러니까, 일단 달려라! 달려서 쓸어모으는 거다!
구상 게임 플로우
- 로비에서 캐릭터 세팅을 시행한다.
- 속도감 형성을 위해서 던전 안에서는 캐릭터 세팅이 불가능하다. [습득 아이템의 확인도 실시간으로는 등급 만 확인 가능하고, 세부 정보는 탈출 시에 한 번에 한다.]
- 세팅을 완료했다면 던전에 돌입한다.
- 던전에 진입할 때, 던전의 전체 레벨을 정한다.
- 던전의 레벨을 정했다면 던전에 적용될 옵션(도전 과제)를 선택한다.
- 이 때 정한 던전 레벨과 도전과제에 따라서 습득 아이템에 추가 효과가 적용된다.
- 던전을 탐험한다.
- 던전 안에서는 하단 및 좌우측 한정으로 무한히 확장되는 구성으로 진행된다
- 던전 안에서는 몬스터가 지속적으로 젠 된다.
- 몬스터를 토벌하거나 보물 방에서 보물 상자를 열면 아이템을 습득 가능하다.
- 탐험을 충분히 했다면 던전 곳곳에 있는 탈출 비컨으로 탈출한다.
- 탈출 실패 시에는 소지 중이었던 아이템들이 아이템 별 고정 확률으로 소멸한다.
메인 시스템 [팀원 1명 당 1개 씩 맡을 예정. 이후 논의에 따라서 변경 가능.]
- 절차적 생성으로 지속적으로 확장되는 필드
- 플레이어 도전 요소나 확률에 의해서 끝 없이 강화되는 몬스터
- 덱 빌딩을 기반으로 구성된 필살기 시스템
- 다종다양한 아이템을 양산할 수 있는 아이템 옵션 시스템
개발 과정 구상
- 기본 게임 제작 단계 ※ Ref. Brotato
- 4각형으로 구성된 필드에서 지속적으로 생성되는 적을 처치하면서 생존하는 기본 형태를 제작한다.
- 필드에 바위나 호수(낭떨어지) 같은 지형지물을 추가한다.
- 필드에 가시나 함정 같은 방해물을 추가한다.
- 공격의 종류는 일반 공격 + 차지 공격의 2종.
- 플레이어의 액션은 이동, 공격의 2종류 (공격 종류는 상단 참고) 플레이어 UI 작성
- 데이터 총괄 입출력 시스템 작성
- [본인 파트] 몬스터는 플레이어가 일정 거리 안에 있으면 추적하며, 충돌로 공격.
- 체력(클래스)/피격(인터페이스)/사망(인터페이스)
- 능력치[공격력/방어력/이동속도/공격빈도]
- 간단한 타이틀 화면
- 배경음악, 효과음, 볼륨 조절 기능(+ UI)
- 컨텐츠 심화 단계
- 아이템 추가[보패(Amulet)로] - 기본 능력치 추가되는 방식.
- 드롭아이템 클래스 추가
- 무기 3종(Sword, Hammer, Polearm) 추가 및 공격 타입(참격, 타격) 추가.
- 플레이어 애니메이션 적용
- [본인 파트] 몬스터 자동 생성 시스템 + 몬스터 체력UI
- [본인 파트] 몬스터에 AI Navigation 적용
- [본인 파트] 몬스터 데이터를 데이터 시스템에 부합하도록 수정
- 대화 시스템 추가
- 거점(타운) (+ NPC) 추가
- 아이템 추가[보패(Amulet)로] - 기본 능력치 추가되는 방식.
- 컨텐츠 확장 단계
- 상점 시스템 추가
- [본인 파트] 인벤토리 기능
- 탐사용 임시 보관함 → 사망 시 정해진 확률로 유실
- 마을용 영구 보관함 → 던전 탈출 시 전체 | 사망 시 유실되지 않은 아이템들 보관
- 드롭이나 보물상자 등을 통한 아이템 습득 기능을 추가한다.
[이 시점에는 보패만 습득.]
※ 추후에 모든 종류의 아이템을 추가할 수 있도록 프리팹을 담은 딕셔너리로 구현. - 상태이상(버프, 디버프, 군중제어) 추가.
- 에스트병 유사 시스템 추가. [에스트병 효과 : 덱 복원 후 셔플 or 체력 회복 택1]
- 플레이어 정보 UI(체력바, 상태이상 목록, 에스트병 갯수)
- 버프 드롭 아이템 + 버프 기물
- 지역 버프 [그 위치에 있으면 지속, 나가면 해제]
- [본인 파트] 몬스터 패턴의 기본 형태들을 추가한다. [평타, 사격, 폭발, 휩쓸기, 돌격 등등]
- [본인 파트] 사망 판정 추가
- [본인 파트] 몬스터 넉백 추가
- [본인 파트] 몬스터 에니메이션 적용.
+ 몬스터 데이터 컨테이너(딕셔너리) 추가. - 범용 딕셔너리 모듈 추가
- 애니메이션은 프리팹 자체에서 지정되거나, Animator Override Controller를 이용하면 될 듯?
- 주요 목적: 사운드 딕셔너리, 스프라이트 & 애니메이션 딕셔너리
- UIManager 추가 및 UI들 합치기
- 메인 시스템 제작 단계
※ 각자 따로 제작하다가 취합하는 시점에 완성 된 만큼 만 적용하여 취합.
※ 전 단계를 다 수행할 필요는 없다. 일부러 '다 못만들 정도로' 단계를 쌓은 것이니, 가능한 만큼만 만들자.- [본인 파트] 절차적 생성을 이용한 필드 실시간 확장 ※ Ref. PoE 광산
- 4각형의 방과 문의 격자구조로 된 필드를 절차적 생성으로 생성한다.
격자형이 아닌, 불특정한 형태의 방들이 복도로 연결되는 방식으로 구성되도록 변경한다. → 방이 생성될 때, 임의의 확률으로 병합된다.- 필드가 플레이어의 위치에 따라서 동적으로 생성되어 무한히 이어지도록 변경한다. [최소사양]
- 1~3번 까지의 구상 정리 [추가 사항]
- 새로운 방에 진입 시, 막히지 않은 방향에 방이 없다면 해당 위치에 새로운 방을 생성한다.
- 생성된 방의 경계면에 ‘벽’을 생성한다.
- 또한, 이 벽의 ‘문’의 개방 여부를 설정한다. (개방 확률 65%)
- 개방되지 않았다면 벽이 막힌 상태로 생성된다.
- 4면의 벽이 모두 막힌 방은 제거된다. [= 생성 로직 적용 X]
- 개방되었다면 벽이 뚫린 상태로 생성된다.
- 개방되지 않았다면 벽이 막힌 상태로 생성된다.
- 방의 클리어 판정은 ‘벽의 통과’로 판정한다.
- 단, ‘방’을 기준으로 ‘벽의 통과’를 판정할 것.
- 각 방은 고정 크기이므로, 플레이어 캐릭터의 좌표를 이용해서 판정.
- 플레이어의 위치가 1칸(x좌료는 20, y 좌표는 12) 움직일 때 마다 방 구분 ID를 기준으로 현재 소속된 방이 달라졌는지를 판정한다.
[방 구분 ID = 해당 방의 생성 시작 좌표.] - 지나온 방의 방 번호는 기록해 뒀다가 방 번호 변경될 때에 예외처리.
- 방이 생성될 때, 몬스터 생성 포인트에 몬스터를 생성한다.
- 생성 개체 수는 현재 던전 레벨을 통해서 결정한다.
- 이외에도 플레이어 근처에서 지속적으로 몬스터가 생성된다.
- 방 마다 10% 확률으로 몬스터 생성 포인트에 귀환 비석이 생성된다.
- 귀환 비석을 활성화하는 동안, 자동 생성 개체 수가 10배가 된다.
- 단, ‘방’을 기준으로 ‘벽의 통과’를 판정할 것.
- 또한, 이 벽의 ‘문’의 개방 여부를 설정한다. (개방 확률 65%)
- 생성된 방의 경계면에 ‘벽’을 생성한다.
새로운 방이 생성될 때, 그와 연결된 방들의 상하좌우의 좌표를 확인한다.확인한 방향에 방이 없다면 하단의 로직(확장 로직)을 적용한다.생성 시 일정 확률(35%)로 주변에 미 생성된 방을 지정하여 ‘방을 확장한다.’방을 이을 경우에는 해당 방 또한 같은 방으로 판정한다.이어진 방에는 ‘벽’이 생성되지 않는다. [벽 생성은 하단 참고.]이어진 방을 기점으로 또 다시 확장 로직을 시행한다.
- 새로운 방에 진입 시, 막히지 않은 방향에 방이 없다면 해당 위치에 새로운 방을 생성한다.
- 1~3번 까지의 구상 정리 [추가 사항]
히든 룸 생성 로직 추가. 히든 룸은 하단의 카드를 소비한 공격으로만 개방 가능절차적 생성으로 생성되는 필드들이 허브 구조를 이용한 거점 형태를 가지도록 구성한다.
[※ 허브 구조: 하나의 지점으로 계속해서 이어지는 구조. 소울류 게임에서 자주 사용한다.]
- 몬스터 강화 시스템 ※ Ref. 디아블로 + 하데스
- 플레이어가 탐색한 방의 수 만큼 몬스터가 강해지는 시스템 추가.
탐색 시작 시점에 몬스터의 레벨을 설정하여, 레벨에 따라서 몬스터의 능력치와 보상이 증가한다.- 플레이어가 도전 과제를 설정하여, 그 과제에 따라서 몬스터에 추가 효과가 적용된다.
[Ref. 하데스 - 시련]
→ 2번 사항과 합쳐서, 몬스터 스펙이 상승하고, 그에 따라서 습득 아이템이 강화되는 방식으로 변경. 몬스터의 패턴이나 특성이 랜덤으로 추가된다. [= 엘리트 몬스터 추가]
→ 엘리트 몬스터를 따로 추가함.특정한 '기믹'을 가지고 있는 몬스터를 추가한다 [= 보스 몬스터 추가]
- 덱 빌딩을 기반으로 구성된 필살기 시스템 ※ Ref. 슬레이 더 스파이어/동방 비상천
마우스 클릭으로 사용하는 퀵슬롯과 스킬을 추가한다.- 스킬을 덱빌딩으로 구사하도록 변경한다.
[※ 이 단계에서 종료 시, 소모 자원을 전용 에너지로 구성한다.] - 카드를 사용하면 코스트 만큼 손 안의 랜덤한 다른 카드를 소비하도록 변경한다.
- 카드에 소비 시 효과와 강화를 추가한다.
카드 습득 시, 일정 확률로 추가 효과가 부여된다. [Ref. PoE 스킬 젬]
→ 아이템 습득 시 강화 최대치와 별개로 구성되는 카드 강화가 랜덤으로 붙는 방식으로 변경.
- 아이템 모딩 시스템 ※ Ref. 파이널 판타지 7 - 마테리아 시스템
- 보패 + 무기에 랜덤으로 지정되는 특성 시스템을 추가한다. [Ref. 로스트아크 (구) 트라이포드]
→ 특성 6개가 아이템 습득 시 랜덤 지정되는 구성.
- 아이템 정보 클래스를 아이템 클래스와 분리
- 특성 클래스를 만들기
- 특성 정보 클래스 만들기
- 아이템 클래스에 특성 클래스 적용
특성을 담당하는 추가 장비인 '보석' 추가. [장비 옵션 + 보석 옵션 방식]1개만 추가해서 되는지 확인랜덤으로 0~3개 슬롯 - 무기에도.한 아이템 안에서 같은 종류의 특성 및 보석 공존 불가능.
특성 시스템 조절 요소 추가 [Ref. PoE의 커런시 시스템]같은 종류의 아이템 소비해서 아이템 강화하기 [Ref. 로아의 보석 시스템]드롭 시 아이템 레벨 형성 [Ref. PoE 아이템 레벨]
보석 슬롯에 연결 관계를 구성하여 연결 관계에 따른 보석 간 상호 보정 기능 추가.보석으로 스킬을 추가 가능.
- 보패 + 무기에 랜덤으로 지정되는 특성 시스템을 추가한다. [Ref. 로스트아크 (구) 트라이포드]
- [본인 파트] 절차적 생성을 이용한 필드 실시간 확장 ※ Ref. PoE 광산
- 4번 까지 마친 이후에 전체 시스템을 정리한다.
- 세이브 시스템
튜토리얼→ 따로 제작할 시간이 없어, UI에 조작키 및 효과를 명시해 놓는 방식으로 대처.- [팀원 전원 분담 작업] 에셋 적용
- [본인 파트] UI 외형 정리
[시간 남으면] 멀티플레이를 통한 아이템 거래 추가
일단 전체적으로 4단계는 대부분 3번까지 구현한 구성이었다는 점을 생각하면 시스템 세부는 좀 다르더라도 초기 구상과 거의 유사하게 완성된 거 같다.
그런 점에서도 개인적으로는 상당히 만족스러웠던 프로젝트였다.
'스파르타 내일배움캠프 > 최종 프로젝트 리포트' 카테고리의 다른 글
최종 프로젝트 리포트 - 11 [개발 사항 정리] (0) | 2025.01.24 |
---|---|
최종 프로젝트 리포트 - 9 [최종 발표회] (0) | 2025.01.22 |
최종 프로젝트 리포트 - 8 [빌드 - 유저 테스트 시작] (0) | 2025.01.13 |
최종 프로젝트 리포트 - 7 [세이브 - 로드 시스템] (0) | 2025.01.09 |
최종 프로젝트 리포트 -6 [절차적 생성을 이용한 필드 무한 확장] (1) | 2025.01.09 |