Dstravel.github.io

D’s travel 설계 발표

D’s travel 목차

컨셉

관련 이미지 관련 동영상

컨셉과 대표 이미지

게임구성요소

게임 시스템 디자인

개발 요구사항과 흐름도

스토리보드

개발작업 일정

각주 개발작업 일정

컨셉

메인 컨셉 : 나약함

모험과 스토리

나약함과 협력

서브컨셉1 : 캐릭터

서브컨셉2 : 패턴

서브컨셉3 : 협력과 전략

서브컨셉4 : 스킬

전투를 통하여 스킬 포인트를 얻을 수 있음

서브컨셉5 : 로그라이’트’

서브컨셉6 : 긴박감

서브컨셉(?) : 욕심과 목표

관련 이미지와 관련 동영상

컨셉과 대표 이미지

컨셉

캐릭터

플레이어블 캐릭터

스테이지 컨셉

스토리 컨셉

작품묘사

게임구성요소

1. 매커니즘

도전과제

재미요소

2. 스토리

시놉시스

한 아이가 있었습니다. 어디에서나 볼 수 있는 평범한 아이였습니다. 하지만 불행히도 아이는 마을 밖을 돌아다니다가 납치를 당하였고, 전쟁 중이던 이웃나라로 팔려가고 말았습니다. 그 후에 무슨 일이 있었는지는 아이는 기억하지 못했습니다만, 마지막으로 기억이 돌아왔을 때, 아이는 전쟁 한복판에서 전투가 준비 중이였습니다. 치열한 전투가 진행되던 중에 아이는 두려움에 떨며 숨었습니다. 그렇게 누구에게도 들키지 않으면서 숨은 아이는 전투가 끝난 후 슬그머니 숨은 곳에서 나왔습니다. 사방은 시체투성이 였습니다. 아이는 집에 가고 싶어했지만, 자신이 집에 가지 못할 거라는 생각에 절망했습니다. 그런데 그 순간 아이는 어떤 남자가 전쟁터를 지나가는 것을 보았습니다. 검은 망토를 두른 남자였습니다. 방법이 없던 아이는 그 남자를 그냥 따라갔습니다. 그렇게 두 사람의 이야기가 시작되었습니다.

stage1 전투 끝난 벌판

전투 끝에는 죽음이 있습니다. 하지만 죽음만 있는 것은 아닙니다. 포식하게 될 까마귀와 살아남은 말, 그리고 겨우 목숨을 부지한 패잔병들과 한 푼이라도 벌어보려는 시체꾼들이 생존을 위해 싸우기 시작합니다. 남자와 아이의 생존을 위한 싸움도 시작합니다.

3. 미적요소

4. 기술

게임 시스템 디자인

게임 오브젝트 분해

몬스터들의 이미지는 제작과정중에 달라질 수 있습니다.

번호 이름 이미지 비고
1 배경  
2 울타리  
3  
4 UI  
5 시체더미  
6 아이  
7 남자  
8  
9 몬스터들 자세한 내용은 아래쪽에
10 보스 몬스터들 자세한 내용은 아래쪽에

파라미터(속성) 뽑아보기

플레이어블 캐릭터

1)오브젝트 이름: 아이

속성 속성 값 설명 비고
체력 3 데미지를 입을때마다 1씩 줄어든다  
속도 1 아이의 이동속도  
스킬 개수 1 사용가능 한 스킬 개수  
스킬트리 2 올릴 수 있는 스킬트리  

2)오브젝트 이름: 남자

속성 속성 값 설명 비고
무기 전투 가능한 무기  
체력 X 무적이기 때문에 체력이 없다  
공격거리 1 공격 가능한 거리  
이동속도 1 남자의 이동속도  
스킬 개수 2 사용가능 한 스킬 개수  
스킬트리 3 올릴 수 있는 스킬트리  

스킬 오브젝트

1) 아이의 스킬

속성 속성 값 설명 비고
스킬1 맷집 체력이 1칸 늘어난다.  
스킬2 민첩 구르기 스킬의 쿨타임이 2초 감소한다.  

1) 남자의 스킬

속성 속성 값 설명 비고
스킬1 스킬강화 수동 스킬의 데미지를 1늘립니다.  
스킬2 공속강화 자동스킬게이지를 2줄입니다.  
스킬3 맷집강화 적의 cc기를 확률적으로 막고 데미지를 줍니다.  

일반 오브젝트

2)오브젝트 이름: 울타리

속성 속성 값 설명 비고
체력 20 울타리는 통과할 수 없다  

2)오브젝트 이름: 불

속성 속성 값 설명 비고
체력 X 무적이기 때문에 체력이 없다 몬스터가 던진 건 사라진다.
데미지 1 닿으면 데미지를 입는다  

2)오브젝트 이름: 날뛰는 말

속성 속성 값 설명 비고
체력 X 무적이기 때문에 체력이 없다  
공격거리 한 줄 공격 가능한 거리  
이동속도 5 말의 이동속도  

3)오브젝트 이름: 시체더미

속성 속성 값 설명 비고
체력 10 체력있는 방해물  

4)오브젝트 이름: 날뛰는 말

속성 속성 값 설명 비고
체력 X 무적이기 때문에 체력이 없다  
공격거리 1줄    
공격패턴개수 1    

몬스터 오브젝트

1)오브젝트 이름: 죽어가는 병사(검)

속성 속성 값 설명 비고
무기 데미지를 주기위한 무기  
체력 5 0이 되면 죽는다  
공격거리 1칸, 3칸    
공격방법횟수 2   튜토리얼은 1개만 사용한다

2)오브젝트 이름: 죽어가는 병사(창)

속성 속성 값 설명 비고
무기 데미지를 주기위한 무기  
체력 5 0이 되면 죽는다  
공격거리 2칸, 4칸    
공격방법횟수 2   튜토리얼은 1개만 사용한다

3)오브젝트 이름: 죽어가는 병사(활)

속성 속성 값 설명 비고
무기 데미지를 주기위한 무기  
체력 3 0이 되면 죽는다  
공격거리 1줄    
공격방법횟수 1   튜토리얼은 1개만 사용한다

4)오브젝트 이름: 죽어가는 병사(방패)

속성 속성 값 설명 비고
무기 방패,창 데미지를 주기위한 무기  
체력 7 0이 되면 죽는다  
공격거리 2칸, 3칸    
공격방법횟수 2   튜토리얼은 1개만 사용한다

5)오브젝트 이름: 시체 까마귀

속성 속성 값 설명 비고
무기 부리,발톱 데미지를 주기위한 무기  
체력 3 0이 되면 죽는다  
공격거리 1칸, 3칸    
공격방법횟수 2    

6)오브젝트 이름: 시체꾼

속성 속성 값 설명 비고
무기 단검, 섬광탄, 검 데미지를 주기위한 무기  
체력 12 0이 되면 죽는다  
공격거리 1칸, 2칸    
공격방법횟수 2~3    

보스 몬스터

1)오브젝트 이름: 거대한 시체 까마귀

속성 속성 값 설명 비고
무기 부리, 발톱, 날개 데미지를 주기위한 무기  
체력 50 0이 되면 죽는다  
공격범위 9칸(3X3칸), 6칸(2X3칸),5칸    
공격방법횟수 5    

2)오브젝트 이름: 베테랑 시체꾼

속성 속성 값 설명 비고
무기 단검, 채찍, 섬광탄 데미지를 주기위한 무기  
체력 75 0이 되면 죽는다  
공격거리 1칸    
공격방법횟수 5    

오브젝트의 행동

플레이어블 캐릭터

1)오브젝트 이름: 아이

행동 설명
이동 방향키를 이용한 이동
구르기 스페이스바를 이용한 일반 스킬
도구사용 자판을 이용한 도구사용
명령 남자에게 명령하는 스킬
스킬 위기를 대처하는 스킬

2)오브젝트 이름: 남자

행동 설명
이동 적이 있는 위치혹은 아이가 있는 위치로 자동으로 이동
공격 근처의 적을 자동으로 공격
자동스킬 공격하면서 자동으로 사용하는 스킬
수동스킬 직접 조작키를 눌러 사용하는 스킬

몬스터의 행동

1)오브젝트 이름: 죽어가는 병사(검)

행동 설명
공격 근처의 적을 자동으로 공격
스킬1(목숨 건 휘두르기) 0.5초후 전방 1칸을 공격
스킬2(목숨 건 찌르기) 0.75초후 돌진하면서 전방 3칸을 공격

2)오브젝트 이름: 죽어가는 병사(창)

행동 설명
공격 근처의 적을 자동으로 공격
스킬1(목숨 건 찌르기) 0.5초후 전방 2칸을 공격
스킬2(제발 죽어라) 0.75초후 전방 4칸을 공격

3)오브젝트 이름: 죽어가는 병사(활)

행동 설명
공격 근처의 적을 자동으로 공격
스킬1(활쏘기) 0.5초후 전방 1줄을 공격
스킬2(곡사쏘기) 0.5초후 아이가 있는 칸을 공격

4)오브젝트 이름: 죽어가는 병사(창, 방패)

행동 설명
공격 근처의 적을 자동으로 공격
스킬1(찌르기) 0.5초후 전방 2칸을 공격
스킬2(방패돌진) 0.5초후 전방 3칸을 공격, 맞으면 1초동안 스턴

5)오브젝트 이름: 시체 까마귀

행동 설명
공격 근처의 적을 자동으로 공격
날기 위쪽에서 날아다니면서 대기
스킬1(강하) 목표지정 0.5초후 4(2X)칸을 공격
스킬2(휩쓸기) 목표지정 0.5초후 전방 3칸을 공격

6)오브젝트 이름: 시체꾼(단검)

행동 설명
공격 근처의 적을 자동으로 공격
스킬1(기습) 0.5초후 점프하여 아이가 있는 칸을 공격(최대 5칸)
스킬2(빠른베기 즉시 1칸 공격
스킬3(섬광탄) 투척 0.5초후 시야를 가림
스킬4(불꽃탄) 투척 0.5초후 4(2X2)칸을 불로 채움

7)오브젝트 이름: 시체꾼(검)

행동 설명
공격 근처의 적을 자동으로 공격
스킬1(익숙한 베기) 0.5초후 전방 2칸을 공격
스킬2(강력한 베기) 0.75초후 전방 6(2X3)칸을 공격
스킬3(섬광탄) 투척 0.5초후 시야를 가림(2초지속)
스킬4(불꽃탄) 투척 0.5초후 4(2X2)칸을 불로 채움(3초지속)

보스 몬스터의 행동

1)오브젝트 이름: 거대한 시체 까마귀

행동 설명 비고
공격 근처의 적을 자동으로 공격  
날기 하늘을 날아다니면서 대기  
스킬1(뭉개기) 목표지정 0.5초후 9칸(3x3)을 공격  
스킬2(먹이 낚아채기) 0.5초후 전방 12(2X6)칸을 공격  
스킬3(쪼기) 0.5초후 전방 4칸을 공격  
스킬4(날개로 찢기) 0.5초후 전방 6(2X3)칸을 공격=>6칸 공격후 1칸 전진하여 한 번 더 공격 뒤의 패턴은 체력 50퍼이하로 줄어든 후 발동
스킬5(까악!) 땅에 내려앉은 후 소리를 질러 3초간(아이한정) 공포상태로 만듬 체력이 50퍼 이하로 줄어든 후 발동

2)오브젝트 이름: 베테랑 시체꾼

행동 설명 비고
공격 근처의 적을 자동으로 공격(기본 공격사거리 3칸)  
스킬1(익숙한 채찍질) 0.5초후 전방 5칸을 공격  
스킬2(무자비한 채찍질) 1초후 본인 기준 25(5X5)칸을 4초간 공격  
스킬3(단검투척_ 0.5초후 단검 2개를 던져 전방 1->3줄을 공격 뒤의 숫자는 체력이 50퍼 이하로 줄어들면 발동
스킬4(섬광탄) 투척 0.5초후 시야를 가림(3초지속)  
스킬5(불꽃탄) 점프후 불꽃탄 1->3개를 던져 4(2X2)칸을 불로 채움(4초지속) 뒤의 숫자는 체력이 50퍼 이하로 줄어들면 발동

오브젝트의 상태

플레이어블 캐릭터

1)아이

현상태 전이상태 전이조건
대기 이동 방향키를 조작할 때
대기 사망 체력이 0일 될 경우
대기 구르기 스킬키를 눌렀을 경우
대기 혼란상태(공포,혼란,기절) 적의 CC기에 맞았을 경우

2)남자

현상태 전이상태 전이조건
대기 이동 주변에 적이 있거나 아이가 부를 경우
대기 전투 자동으로 근처의 적을 공격함
대기 스킬사용 스킬을 사용할 때
대기 혼란 적의 CC기에 맞았을 경우

일반 오브젝트

1)울타리,시체더미

현상태 전이상태 전이조건
정상 파괴 체력이 0이 될경우

2)불

현상태 전이상태 전이조건
정상 파괴 시간이 지날경우 자동으로 사라짐(몬스터가 발생시킨 경우만 한정)

몬스터 오브젝트

1) 일반 몬스터

현상태 전이상태 전이조건 비고
정상 사망 체력이 0이 될경우  
정상 준비자세 스킬을 사용하려는 경우  
날기 준비자세 스킬을 사용하려는 경우 까마귀 한정

2)보스 몬스터

현상태 전이상태 전이조건 비고
정상 사망 체력이 0이 될경우  
정상 준비자세 스킬을 사용하려는 경우  
정상 발악 체력이 50%이하로 떨어지는 경우  
날기 준비자세 스킬을 사용하려는 경우 까마귀보스 한정

플레이어 캐릭터의 속성

1) 아이

속성 속성 명칭 설명 비고
현재 체력 curHP 캐릭터의 현재 체력 0이 될 경우 사망한다  
최대 체력 maxHP 캐릭터가 버틸수 있는 최대 체력 스킬로 올릴 수 있다.  
스킬포인트 skill point 캐릭터의 스킬을 강화하기 위한 포인트 보스를 잡을때마다 1개씩 얻을 수 있다.  
이동속도 move speed 캐릭터가 얼마나 빨리 이동할 수 있는지 알수 있는 이동속도  
스킬 skill 캐릭터의 스킬, 위기상황을 극복할 수 있게 해준다  
스킬트리 skill tree 다양한 방식으로 위기를 견딜수 있게 해준다. 총 2가지로 나뉜다. 한 개만 선택가능

2)남자

속성 속성명칭 설명 비고
공격력 ATK 캐릭터의 공격력 적에게 주는 데미지 수치이다. 기본 데미지는 1
공격속도 ATK speed 한번에 얼마나 많은 공격을 할 수있는지 정해지는 수치  
스킬포인트 skill point 캐릭터의 스킬을 강화하기 위한 포인트 보스를 잡을때마다 1개씩 얻을 수 있다.  
이동속도 move speed 캐릭터가 얼마나 빨리 이동할 수 있는지 알수 있는 이동속도  
스킬 skill 캐릭터의 스킬, 적에게 추가 데미지를 줄 수 있다. 자동 스킬과 수동 스킬로 나뉜다
스킬게이지 skill gage 공격할수록 스킬게이지가 쌓인다. 게이지가 다 쌓이면 자동스킬을 자동으로 사용한다  
스킬트리 skill tree 다양한 방식으로 전투를 하게 해준다. 총 3가지로 나뉜다. 한 개만 선택 가능

게임 규칙

1) 핵심 규칙

2) 보조규칙

게임에서 사용될 공식

1)남자가 적에게 데미지를 주었을 때 : 적의 체력- 남자가 준 데미지=남은 체력=> 0이 될 경우 사망

2)스킬 쿨타임 : 기본스킬 쿨타임-(기본 스킬 쿨타임-스킬강화로 얻는 스킬감소량/100)=>강화된 스킬쿨타임

개발 요구사항과 흐름도

D’s travel의 요구사항(1년/6주)

(검정색은 1년 파란색은 6주)

시작화면

플레이

시스템

제작을 하게 되면서 구현하고자 하는 것

게임화면

키보드 이벤트에 대한 흐름도

용어정리

스토리보드

프롤로그 부분

개발작업 일정

각주 개발작업 일정

1주차

사운드=>시작 화면과 플레이 화면에 넣을 ost찾아보기

결과

시작화면 및 저장페이지 화면 설계. 설정화면은 아직 못함(75%)

사운드=> 플레이에 쓸 사운드 확보=>100%

개발 2주차 목표

작업명

1)시작화면,설정화면 설계및 구현하기

2)맵제작

3)프로그램설계

4)보스몬스터 에셋찾기

5)일반 몬스터,오브젝트 배치

6)사운드=>보스몹테마

해당 요구사항

1)게임을 시작하면 시작버튼, 설정버튼, 끝내기 버튼이 있다.

2)시작화면에는 게임시작, 설정, 끝내기버튼, 총 3가지가 있다. =>설정화면에 들어갈 요소들을 설계해서 구현하기

3)끝내기버튼 클릭시 화면이 종료된다.

4)기본적으로 맵은 가로로 긴 직사각형 모양의 맵이다.

5)시작하면 몇분 가량의 튜토리얼을 하게된다. (일단은 튜토리얼 부분은 완성 시킬수 있도록한다)

6)게임화면에서는 아이와 남자 그리고 몬스터가 등장한다.(몬스터만)

설명

(작업명 기준입니다)

1)요구사항에 들어있는 요소와 함께 설정화면에 들어갈 요소를 설계하고 구현하기

2)맵 제작=>일단은 튜토리얼 부분만=>(맵 전체의 4분의 1~5분의1 정도)

3)어떠한 프로그래밍이 필요한지 분석하기(일단은 분석만)

4)보스몬스터는 일반 몬스터와 비슷하지만 좀더 화려하고 덩치가 큰걸로 찾기 =>(만약 힘들경우 일반 몬스터 덩치를 키워서 사용하기)

5)아직 구하지 못한 일반 몬스터 에셋을 찾아서 오브젝트와 함께 배치하기(튜토리얼 파트부분만) =>현재 몬스터 1개의 에셋을 찾지 못했음)

6)보스몹테마에 사용할 곡 2개 찾기

결과

아직 몬스터 오브젝트를 배치하지 못함 (오브젝트는 다 찾아놓아서 배치만 하면 끝)

개발 3주차

결과

변경해서 남자 에셋(혹은 비슷한)을 찾아서 작업 =>비슷한 에셋을 찾아서 작업함(100%)

오브젝트 물리충돌외에 프로그래밍 작업 =>물리충돌작업 프로그래밍은 끝났으나 문제가 없는지 체크를 하지 못함(90%)

NPC(남자) AI와 적 AI 설계하고 프로그래밍해서 프로토타입 만들기 =>프로토 타입 제작은 완성했으나 중간중간 문제가 있어 스크립트 수정이 필요함(60%)

개발 4주차 목표

해당 요구사항

1)남자 ai 버그 수정해서 완료하기
2)맵 오브젝트(불) 데미지 프로그래밍하기
3)몬스터 배치 및 전투구현하기

설명

중간중간 발생하는 버그 수정하기 맵 오브젝트중 하나인 불에 데미지주는 프로그래밍하기 몬스터 배치 및 전투 구현 하기(3기정도)

결과

-새 노트북에 자료를 옳기는 과정에서 유니티 압축파일에 문제가 발생한 것이 확인됨

(아마 피방에서 자료를 옳기는 과정에서 문제가 생긴듯하다.)

-복구를 시도해보았으나 복구 할 수가 없어서 작업한 게 소실 됨.

-그래서 다음 주 까지 작업한 것을 최대한 복구하는 것을 목표로 함.

(이렇게 쓰면서 자괴감이 많이 들었다)

개발 5주차 목표

결과

  1. 시작화면->저장화면-> 게임화면으로 이동할 수 있게 완료 =>100%

2.게임화면에 ost넣기 완료=>100%

3.게임내의 일반 오브젝트 충돌 및 데미지 프로그래밍 완료=>90%(아직 체크를 하지 못했습니다)

  1. 게임화면에 캐릭터와 NPC배치는 하였으나 프로그래밍 오류 및 완성을 하지 못해서 완료를 다 하지 못한 상태이다(6주차에 마무리 할 예정).=> 50%

5.몬스터 배치 및 프로그래밍은 6주차에 마무리할 예정=>0%

(애니메이션 오류 및 버그 등등의 문제가 아직 남아있음)

개발 6주차 목표

1.남자의 ai프로그래밍 수정하고 다시만들기(힘들다면 자동공격부터라도 먼저 만들기)

2.적 오브젝트 배치및 전투패턴 프로그래밍하기

3.플레이어블 캐릭터 이동 오류난거 수정하기 및 목표지정 프로그래밍하기

4.시간이 된다면 UI만들기

설명

  1. 매우 까다롭고 힘든작업이기 때문에 자동공격부터라도 먼저 만들기.(가장 큰 우선순위)

2.남자의 자동전투에 필요한 적 오브젝트배치(힘들다면 오브젝트 배치만이라도)

  1. 영상에서 봤듯이 오류난거 수정하고 전투에 필요한 목표지정 시스템 구현하기=>두번째 우선순위

4.정 안된다면 플레이캐릭터 체력부분이라도 구현해보기

결과

  1. 자동공격은 결국 실패, 남은 기간동안 다시 수정해볼 예정.

2.적들은 일단 랜덤으로 움직이게 만듬

3.카메라 이동에 문제가 생김. 문제를 찾아서 수정 할 예정.