한달 포트폴리오 프로젝트로 어릴때부터 즐겨하던 파이어엠블렘 시리즈를 모작으로 만들어보기로 결정하였습니다.
진행에 앞서 계획서부터 살펴보도록 하겠습니다.
▲먼저 모작하고자 하는 프로그램에 대한 소개부터 하겠습니다.
Fire Emblem시리즈에 대한 설명
Fire Emblem은 닌텐도의 대표 프랜차이즈 작품중 하나로 Intelligent 시스템이 만들었습니다.
전략과 RPG요소를 섞어둔 SRPG 게임들의 모태가 되었으며,
1990년부터 20개가 넘는 작품을 낸 거 치고 한국에 잘 안알려진 이유는
3DS작품인 Fire Emblem if, 2016년이 되어서야 첫 한글화가 되어서라고 추측됩니다.
▲Fire Emblem의 전략적 요소
1. 타일 기반 : 한 캐릭터는 한 턴에 본인에게 주어진 이동치만큼 타일을 이동. 한 턴 내에 범위타일 내에 적 타격
2. 부대단위 전투 : 다수의 적을 상대하지만, 플레이어도 여러마리를 조종하는 1 to Many가 아닌 Many to Many
3. 무기간의 상성 : 3가지 종류의 가위바위보 상성싸움으로 무기 선택에서의 전략적 요소
4. 지형지물 이용: 지형별로 이동력을 다르게 소모. 지형지물에 영향 안받는 직업또한 전략적요소
5. 영구사망 : 플레이어의 캐릭터가 죽으면, 다시는 사용불가능한 영구사망 시스템. 모두 살리는 전략 요구
▲ Fire Emblem의 RPG적 요소
1. 전투를 통해 레벨업을 통한 캐릭터 강화
2. 레벨 달성에 따른 전직 가능
3. 시리즈별로 차이는 있지만, 친밀도별로 회화, 스토리 진행
4. 전투중 아이템 획득을 통한 캐릭터 강화
▲ 예정 개발 기능들
파이어엠블렘은 시리즈별로 기능 및 진행방법, 심지어는 전투까지 다릅니다.
한 게임 내에 워낙 구현해야 할 요소들이 많아서, 우선순위를 매겨두었습니다.
Scrum, Agile기법 처럼 최우선순위에 따라 먼저 구동가능한 게임을 만든 후,
우선순위에 따라 추가 기능을 구현하는 방법으로 접근을 할 생각입니다.
▲ 개발일지는 우선순위에 맞게 배치해두었습니다.
아군 모집 방식은 Fire Emblem Heroes의 뽑기 시스템으로 아군을 모집하는걸 생각중입니다.
개발일정중, 캐릭터를 눌렀을떄 공격범위를 표시 가능하게 하는 기능을 구현하기 위해
Flood Fill 알고리즘이 필요합니다. 또한 적이 아군을 찾아오게 하기 위해
Weighted A* Algorithm 혹은 Dijkstra 알고리즘 둘중 하나가 필요해보입니다.
위 사진엔 잘못나왔는데, 튜토리얼 씬은 3주차 금요일의 예정인 전직과 뒤바뀌어있습니다.
▲Scene 흐름 예상도입니다.
Fire Emblem If나 Awakening 시리즈에 있던 텍스트나 노드 방식으로 맵들간 이동하는 방식은
구현은 간단하지만, 개인적으론 스토리를 진행하고있다는 (진군중이라는) 느낌이 잘 들지 않았기에
맵 이동에선 "Fire Emblem 가이덴", "Fire Emblem Echoes"에 있던 월드맵 방식을 채택하였습니다.
Fire emblem Fate 시리즈에서 선보인 My Castle과 같이 개인의 주둔지가 있어야
스토리 진행이나 부대 관리 측면에서 매끄러워 보이기에 우선순위는 중간즈음으로 두고 개발해볼 생각입니다.
▲예상 개발 툴
Waterfall 방식으로 개발하지 않는 만큼, Github의 브랜치를 잘 활용해야 할 것으로 예상되며
코딩은 항상 그래왔듯 Visual Studio를 사용할 예정입니다.
Fire Emblem API 라는 이름으로 이미지를 작업하기 위해 Adobe사의 포토샾을 이용,
중간중간 영상 및 최종 영상 편집을 위해선 베가스가 사용되지 않을까 싶습니다.
'결과물 > C,C++ Direct 2D' 카테고리의 다른 글
Fire Emblem 포트폴리오 (0) | 2020.06.23 |
---|