![Island Master 회고록 2편](/github-blog//assets/img/campfire.gif)
Island Master 회고록 2편
2020, May 02
Island Master 🌊
🚢 황폐화된 거주지를 피해서 모인 여러 사람들이 항해를 하며 오염되지않은 섬을 찾아가서 생존하는 무인도 MMORPG형 게임 🐬
게임 목표
- 시중의 대부분의 RPG 장르라고 불리는 게임들은 사실상 ‘핵앤슬래쉬’ 장르의 게임이라고 생각한다.
- RPG를 좋아하지만 그 점이 마음에 들지 않았기 때문에, 내가 직접 RPG 게임을 제작해보고자 마음을 가졌다.
- RPG 성을 부각 시키면서도 ‘생존’을 해야한다는 큰 목표가 비중있게 기초로 잡히도록 게임을 기획하도록 할 것이다.
- 탐험과 아이템 루팅, 사냥, 생존에 필요한 물품 수집, 제작 등 다양한 컨텐츠에 밸런스를 맞추는 게임을 제작하도록 할 것이다.
회고록 2 편
- 테스트 버전 1.7까지 출시한 시점에서의 겪은점
- 프로젝트를 진행하는동안 다양한 일들이 생기게 되면서 제작에 지연이 생기게 되었다.
- 원래는 2.0 버전을 제작완료하고나서 회고록을 작성할 생각이었지만 시간의 지연과 더불어 나름 여러 기능들을 추가했고, 또한 충분히 리뷰를 남길만한 소재가 있기 때문에 작성한다.
- 회고록 1편에서 다짐했던 것들의 대부분을 구현했다.
- 장비 강화의 경우 리듬게임과 접목해 구현하였고, 주위의 반응도 상당히 좋았다.
- 하지만 낚시는 나름 아이디어를 내서 구현했지만, 재미가 다소 떨어지는 감이 있다. 이를 보완할 새로운 아이디어가 필요하다.
- 게임에 운영방식이나 컨텐츠의 틀이 잡히지 않은 상태라 비슷한 장르의 게임들을 찾아보고 직접 플레이 해보면서 앞으로 게임을 어떻게 제작할 지 정할 수 있게 되었다.
- 최근까지 작업하면서 겪은 것들 중 가장 뼈저리게 느끼는 것은 리소스의 부재이다.
- 각종 사운드, 이미지 파일들까지 손수 제작하려고 하니 너무 힘이들어 일부 리소스를 임시적으로 사용하고있다.
- 추후 정식 출시를 하게 된다면 페이를 지불하고 리소스를 적용할 지 시간 투자와 다소 떨어지는 퀄리티임에도 손수 제작할 지 고민의 시간을 가져야할 것이다.
- 사운드 관련 작업을 하면서 Invoke 코루틴에 대해서 학습하고 이용하여 하나의 배경음악에 여러 효과음도 섞어서 음악을 재구성하는 시간을 가졌다.
- 스킬 외에 기본적인 기능은 다 구현해두어서 앞으로는 리소스를 통한 컨텐츠 추가작업이 예상된다.
- 이번에 작업하면서 크게 변경된 점은 기존에는 포탈 형식의 던전탐색이었지만, 던전을 선택하여 들어가서 사냥, 루팅, 채집 후 안전하게 던전을 탈출하는 것을 목표하는 게임으로 변경하였다.
- 현재 진행도
- 전투
- 기본적인 몬스터 AI
- 충돌감지 방향재조정
- 움직임 판단
- 유저와 충돌 시 유저에게 피해
- 플레이어
- 공격모션과 몬스터에게 피해
- 기본적인 몬스터 AI
- 퀘스트
- 퀘스트 데이터를 json 방식으로 처리
- 퀘스트 번호를 부여
- 일반 대사와 퀘스트 대사의 구분
- NPC 위에 퀘스트 시작, 완료 상태를 표시
- 퀘스트 보상 지급
- 퀘스트의 연계성
- UI
- 애니메이션
- UI 슬롯을 구별하고 UI버튼을 통해 UI를 On/Off 할 수 있는 기능
- 인벤토리
- 슬롯확장
- 아이템 소모
- 아이템 장착
- 아이템 획득할 때마다 임시데이터를 저장하여 로드 (아이템 수량이 증가하지 않는 버그를 해당 방식으로 해결)
- 장비
- 아이템 해제
- 장비 아이템의 수치를 플레이어에게 전달
- 스텟
- 경험치
- 레벨업 시 스텟포인트 부여
- 스텟포인트를 투자
- 메뉴
- 계속하기
- 저장하기
- 메인메뉴
- 종료하기
- 조이스틱
- 조이스틱 기반으로 유저 이동
- 버튼을 통한 UI 활성화/비활성화
- 퀘스트
- 시작가능, 진행중, 완료된 퀘스트의 정보 확인
- 강화
- 장비아이템 강화 기능
- 강화가 불가능한 상태 처리
- 낚시
- 낚시용 인벤토리
- 버튼으로 파워게이지 조절하여 낚시 시작
- 낚시 찌를 화면에서 드래그하여 물고기의 입 주위 범위에서 유지할 시 낚시 성공
- 던전
- 맵 버튼으로 주위 탐험가능한 던전 표시
- 던전 난이도 선택
- 던전 입장
- 상점
- 구매
- 판매
- 애니메이션
- 플레이어
- 데이터를 json 방식으로 로컬에 저장
- 각종 행동처리
- 필드 아이템을 줍도록 처리
- 포화, 갈증, 배변, 피로도 수치 표시
- 아이템
- ItemDatabase 를 이용하여 json 방식으로 저장된 Item 클래스 정보를 입/출력에 이용
- 장비, 소비, 기타 아이템의 구분
- 아이템 버리기 기능
- 아이템 정보보기
- 아이템 사용
- 전투
- 향후 진행 방향
- 파이어 베이스를 이용한 경매장 시스템 구현을 목표로 한다.
- 유저 데이터는 SHA 256, md5 를 이용하여 해쉬값 비교를 통한 크랙방지를 할 것이다.
- 우선 제대로 된 던전 하나를 완성하여 아이템 루팅, 몬스터, 던전 난이도별 차별화, 던전 결과, 사망 처리 등을 구현하는 것을 목표로 한다.
- 이펙트를 다양화하여 게임에 몰입도를 높인다.
- 재미없는 컨텐츠 ( 예: 낚시 )를 재조정한다.
- 다음 회고록까지 컨텐츠를 늘리는데 주력하도록 한다.
게임 진행도
- 출시된 버전
- Test
- 0.1
- 0.2
- 1
- 2
- 0.3
- 1
- 2
- 3
- 4
- 0.4
- 0.5
- 0.6
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 0.7 : 몬스터 관련기능 추가
- 1
- 2
- 3
- 0.8 : 전투 관련 기능 추가, 새로운 사운드 추가
- 1
- 0.9 : 장비 관련 기능 추가
- 1.0 : 몬스터 이동 AI 추가, 장비 저장 관련 오류 해결, 기존의 존재하는 오류 해결, UI 방식 변경
- 1
- 2
- 3
- 4
- 1.1 : 인벤토리 아이템 정보보기 UI 추가
- 1
- 1.2 : 장비 능력치 적용, 아이템 강화 추가
- 1
- 2
- 3
- 4
- 1.3 : 강화 리밸런싱, 세이브 데이터 오류 수정
- 1
- 2
- 3
- 4
- 1.4 : 낚시 기능 추가
- 1
- 2
- 3
- 4
- 5
- 1.5 : 퀘스트 관련 기능 추가, 기존 퀘스트 방식 변경
- 1
- 1.6 : 상점 관련 기능 추가
- 1
- 1.7 : 사운드 관련 기능 수정 및 추가, 던전 맵 선택 기능 추가
- 1
- 2
- 3
- 4
- 5
- 6
- Test
-
메인 화면 (Home Scene)
- 게임 화면 (Game Scene)
- 맵
- 해변
- 숲
- 절벽
- 동굴
- 맵
- 게임 구성
- 엔티티
- 플레이어
- NPC
- 몬스터
- 오브젝트
- 아이템
- 매니저
- DialogManager (= GameManager)
- TalkManager
- QuestManager
- ItemDatabase
- SpawnManager
- SoundManager
- 엔티티