Island Master 회고록 2편

Island Master 회고록 2편

2020, May 02    

Island Master 🌊

🚢 황폐화된 거주지를 피해서 모인 여러 사람들이 항해를 하며 오염되지않은 섬을 찾아가서 생존하는 무인도 MMORPG형 게임 🐬

게임 목표

  • 시중의 대부분의 RPG 장르라고 불리는 게임들은 사실상 ‘핵앤슬래쉬’ 장르의 게임이라고 생각한다.
  • RPG를 좋아하지만 그 점이 마음에 들지 않았기 때문에, 내가 직접 RPG 게임을 제작해보고자 마음을 가졌다.
  • RPG 성을 부각 시키면서도 ‘생존’을 해야한다는 큰 목표가 비중있게 기초로 잡히도록 게임을 기획하도록 할 것이다.
  • 탐험과 아이템 루팅, 사냥, 생존에 필요한 물품 수집, 제작 등 다양한 컨텐츠에 밸런스를 맞추는 게임을 제작하도록 할 것이다.

회고록 2 편

  1. 테스트 버전 1.7까지 출시한 시점에서의 겪은점
    • 프로젝트를 진행하는동안 다양한 일들이 생기게 되면서 제작에 지연이 생기게 되었다.
    • 원래는 2.0 버전을 제작완료하고나서 회고록을 작성할 생각이었지만 시간의 지연과 더불어 나름 여러 기능들을 추가했고, 또한 충분히 리뷰를 남길만한 소재가 있기 때문에 작성한다.
    • 회고록 1편에서 다짐했던 것들의 대부분을 구현했다.
    • 장비 강화의 경우 리듬게임과 접목해 구현하였고, 주위의 반응도 상당히 좋았다.
    • 하지만 낚시는 나름 아이디어를 내서 구현했지만, 재미가 다소 떨어지는 감이 있다. 이를 보완할 새로운 아이디어가 필요하다.
    • 게임에 운영방식이나 컨텐츠의 틀이 잡히지 않은 상태라 비슷한 장르의 게임들을 찾아보고 직접 플레이 해보면서 앞으로 게임을 어떻게 제작할 지 정할 수 있게 되었다.
    • 최근까지 작업하면서 겪은 것들 중 가장 뼈저리게 느끼는 것은 리소스의 부재이다.
    • 각종 사운드, 이미지 파일들까지 손수 제작하려고 하니 너무 힘이들어 일부 리소스를 임시적으로 사용하고있다.
    • 추후 정식 출시를 하게 된다면 페이를 지불하고 리소스를 적용할 지 시간 투자와 다소 떨어지는 퀄리티임에도 손수 제작할 지 고민의 시간을 가져야할 것이다.
    • 사운드 관련 작업을 하면서 Invoke 코루틴에 대해서 학습하고 이용하여 하나의 배경음악에 여러 효과음도 섞어서 음악을 재구성하는 시간을 가졌다.
    • 스킬 외에 기본적인 기능은 다 구현해두어서 앞으로는 리소스를 통한 컨텐츠 추가작업이 예상된다.
    • 이번에 작업하면서 크게 변경된 점은 기존에는 포탈 형식의 던전탐색이었지만, 던전을 선택하여 들어가서 사냥, 루팅, 채집 후 안전하게 던전을 탈출하는 것을 목표하는 게임으로 변경하였다.
  2. 현재 진행도
    • 전투
      • 기본적인 몬스터 AI
        • 충돌감지 방향재조정
        • 움직임 판단
        • 유저와 충돌 시 유저에게 피해
      • 플레이어
        • 공격모션과 몬스터에게 피해
    • 퀘스트
      • 퀘스트 데이터를 json 방식으로 처리
      • 퀘스트 번호를 부여
      • 일반 대사와 퀘스트 대사의 구분
      • NPC 위에 퀘스트 시작, 완료 상태를 표시
      • 퀘스트 보상 지급
      • 퀘스트의 연계성
    • UI
      • 애니메이션
        • UI 슬롯을 구별하고 UI버튼을 통해 UI를 On/Off 할 수 있는 기능
      • 인벤토리
        • 슬롯확장
        • 아이템 소모
        • 아이템 장착
        • 아이템 획득할 때마다 임시데이터를 저장하여 로드 (아이템 수량이 증가하지 않는 버그를 해당 방식으로 해결)
      • 장비
        • 아이템 해제
        • 장비 아이템의 수치를 플레이어에게 전달
      • 스텟
        • 경험치
        • 레벨업 시 스텟포인트 부여
        • 스텟포인트를 투자
      • 메뉴
        • 계속하기
        • 저장하기
        • 메인메뉴
        • 종료하기
      • 조이스틱
        • 조이스틱 기반으로 유저 이동
        • 버튼을 통한 UI 활성화/비활성화
      • 퀘스트
        • 시작가능, 진행중, 완료된 퀘스트의 정보 확인
      • 강화
        • 장비아이템 강화 기능
        • 강화가 불가능한 상태 처리
      • 낚시
        • 낚시용 인벤토리
        • 버튼으로 파워게이지 조절하여 낚시 시작
        • 낚시 찌를 화면에서 드래그하여 물고기의 입 주위 범위에서 유지할 시 낚시 성공
      • 던전
        • 맵 버튼으로 주위 탐험가능한 던전 표시
        • 던전 난이도 선택
        • 던전 입장
      • 상점
        • 구매
        • 판매
    • 플레이어
      • 데이터를 json 방식으로 로컬에 저장
      • 각종 행동처리
      • 필드 아이템을 줍도록 처리
      • 포화, 갈증, 배변, 피로도 수치 표시
    • 아이템
      • ItemDatabase 를 이용하여 json 방식으로 저장된 Item 클래스 정보를 입/출력에 이용
      • 장비, 소비, 기타 아이템의 구분
      • 아이템 버리기 기능
      • 아이템 정보보기
      • 아이템 사용
  3. 향후 진행 방향
    • 파이어 베이스를 이용한 경매장 시스템 구현을 목표로 한다.
    • 유저 데이터는 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
  • 메인 화면 (Home Scene)

  • 게임 화면 (Game Scene)
      • 해변
      • 절벽
      • 동굴
  • 게임 구성
    • 엔티티
      • 플레이어
      • NPC
      • 몬스터
      • 오브젝트
      • 아이템
    • 매니저
      • DialogManager (= GameManager)
      • TalkManager
      • QuestManager
      • ItemDatabase
      • SpawnManager
      • SoundManager