jeongwoo1788029.github.io

[ 목차 ]

1. 게임명 : Scenario

2. 컨셉

3. 관련 이미지와 동영상

4. 대표 이미지

5. 컨셉 and 대표이미지 기반 작품묘사

6. Scenario 구성 요소

7. 게임 시스템 디자인

  a. 게임 오브젝트 분해

  b. 파라미터(속성)

  c. 행동

  d. 상태

  e. 플레이어 캐릭터 속성(파라미터)

  f. 게임의 규칙

  g. 게임에서 사용될 공식

8. 개발 요구사항 & 흐름도

  a. 요구사항(1년/6주)

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

  c. 용어정리

9. 스토리보드

10. 개발작업 일정 (6주)

11. 1주차 작업 결과

12. 2주차 작업 결과

13. 3주차 작업 결과

14. 4주차 작업 결과

15. 5주차 작업 결과

16. 6주차 작업 결과

17. 1차 최종 작업 결과

18. 최종 작업 결과

프로젝트명: Scenario

[컨셉]

메인컨셉 : 탈출

서브 컨셉 1 : 퀴즈

서브 컨셉 2 : 컨트롤

서브 컨셉 3 : 선택

서브 컨셉 4 :멀티 엔딩

서브 컨셉 5 : 아이템



[관련 이미지 & 동영상]



[대표 이미지]

서브이미지



[컨셉 & 대표이미지 기반 작품묘사]

대표이미지 기반 작품묘사 :

컨셉 기반 : 추리와 컨트롤이 필요한 3D 탈출 게임.



[ 구성 요소]


1. 메커니즘

[도전 과제]

  1. 한 공간에서 다음 공간으로 이동하기 위한 미션들을 수행한다.
  2. 오브젝트를 이용해서 답을 찾아야 한다.
  3. 장애물을 피하거나 없애서 미션을 수행한다.
  4. 3개의 엔딩을 볼 수 있다.

[재미 요소]

  1. 다양한 컨셉의 방이 존재해서 다음 방에 대한 궁금증을 유발한다.
  2. 아이템을 활용하여 미션을 더 쉽게 깰 수 있다.
  3. 한 공간마다 깨는 재미가 있다.
  4. 최종 엔딩에 대한 추리도 같이 할 수 있다.

[조작]

W : 앞으로 이동

A : 왼쪽으로 이동

S : 뒤로 이동

D : 오른쪽으로 이동

Space Bar : 점프

E : 오브젝트와 상호작용

마우스 왼쪽 클릭 : 공격

1 : 일시정지


2. 이야기

[만들게 된 배경]

[게임 스토리 및 결말]

[카메라 관점]


3. 미적요소

[디자인][컬러]

[음향]

4. 기술



[게임 시스템 디자인]

a. 게임 오브젝트 분해

연번 오브젝트 이름 이미지
1 로봇(플레이어)
2 열쇠(아이템)
3 총,총알(아이템) ,
4 포션(아이템)
5 장애물(총 쏘는 몬스터)
6 맵 구성 오브젝트
7 문(다음 공간으로 갈 수 있는 매개체)

b. 파라미터(속성)

1) 오브젝트 이름 : 총(아이템) and 총알

속성 영문명칭 설명 비고
데미지 damage 플레이어가 총을 쏘면 몬스터에게 일정 데미지를 줄 수 있다. 또한 플레이어가 몬스터의 총알에 맞으면 일정 데미지를 맞는다. 총알에 데미지 수치가 부여된다.  
속도 gspeed(gun speed) 총알이 나아가는 속도  
방향 gdirect 총알이 나아가는 방향  
크기 gsize 총 및 총알의 크기  

2) 오브젝트 이름 : 포션(아이템)

속성 영문명칭 설명 비고
체력 회복량 HpReco(very) 일정 회복 수치가 지정된다.  
크기 psize(potion size) 포션의 크기  

3) 오브젝트 이름 : 맵 구성 오브젝트(문, 쪽지, 열쇠)

속성 영문명칭 설명 비고
상호작용 interaction 플레이어와 오브젝트가 ‘e’키로 상호작용 할 수 있다. 상호작용이 되지 않는 오브젝트가 있다.  
씬이동 teleport 충돌 시 플레이어를 다른 씬으로 이동시킨다.  

4) 오브젝트 이름 : 장애물(총 쏘는 몬스터)

속성 영문명칭 설명 비고
현재 체력 mHP 플레이어의 총알에 맞으면 일정 체력이 줄어든다. 0이 되면 파괴되어 사라진다.  
최대 체력 mMaxHP 장애물의 최대 체력  
데미지 mdamage(monster damage) 몬스터 공격의 데미지  
공격속도 mspeed 몬스터의 공격속도  
방향 mdirect 플레이어를 향해 공격한다.  
공격범위 mrange 일정 범위안에 플레이어가 들어왔을 때 공격한다.  

5) 발판 and 레이져

속성 영문명칭 설명 비고
데미지 odamage(object damage) 특정 발판이나 레이져에 충돌할 시 일정 데미지를 준다.  
속도 ospeed 일정 속도로 이동한다.  
범위 orange 일정 범위를 움직인다.  
크기 osize 크기를 지정한다.  

c. 행동

1) 오브젝트 이름 : 로봇(플레이어)

행동 설명
이동 일정거리를 일정속도로 움직인다.
점프 일정높이를 점프하면서 앞으로 나아갈 수 있다.
공격 총을 이용해 장애물을 공격하여 없앨 수 있다.
상호작용 오브젝트와 상호작용 할 수 있다. 아이템(열쇠)를 이용해서 오브젝트와 상호작용 할 수 있다.
습득 무기, 열쇠 등 아이템과 상호작용하면 아이템UI에 표시가 되면서 습득된다.
방향전환 마우스로 바라보고 있는 방향을 전환할 수 있다.

2) 오브젝트 이름 : 장애물(총 쏘는 몬스터)

행동 설명
공격 일정범위 안에 들어오면 플레이어를 향해 공격한다.
정지 플레이어가 범위 안으로 들어오지 않거나 벗어나면 행동이 정지 된다.

3) 오브젝트 이름 : 발판, 레이져

행동 설명
생성과 제거 일정시간을 간격으로 생성과 제거가 반복된다.
움직임 일정 범위를 움직인다.

4) 오브젝트 이름 : 열쇠

행동 설명
생성 방안에서 일정 조건을 만족하면 생성
제거 플레이어와 상호작용하면 사라진다.

5) 오브젝트 이름 : 문

행동 설명
제거 플레이어가 일정 조건(열쇠를 습득, 번호키에 정답 입력 등)을 달성하면 제거가 되면서 다음 방으로 갈 수 있다.

d. 상태

1) 오브젝트 이름 : 로봇(플레이어)

현상태 전이상태 전이조건
정상 상태 피격 상태 외부 공격 또는 낙하로 체력이 줄어든 상태
피격 상태 사망 상태 현재 체력이 0이 된 상태
사망 상태 정상 상태 리스폰되어 체력이 가득 찬 상태

2) 오브젝트 이름 : 장애물(총 쏘는 몬스터)

현상태 전이상태 전이조건
정상 상태 피격 상태 플레이어의 공격으로 체력이 줄어든 상태
피격 상태 사망 상태 몬스터의 현재 체력이 0이 되어 제거된 상태

e. 플레이어 캐릭터 속성(파라미터)

속성 영문명칭 설명 비고
현재 체력 HP(Hit Point) 플레이어의 체력. 적의 공격에 맞거나 높은 곳에서 떨어지면 일정 체력이 줄어든다. 체력이 0이 되면 플레이어는 리스폰 포인트에서 다시 생성된다.  
최대 체력 MaxHP 플레이어의 최대 체력  
점프력 jump 플레이어는 점프의 일정 높이와 거리가 지정된다.  
이동속도 speed 플레이어는 움직이는 속도가 지정된다.  

f. 게임의 규칙

1) 핵심 규칙

2) 보조 규칙

g. 게임에서 사용될 공식



[개발 요구사항 & 흐름도]

a. 요구사항(1년)

개발

  1. 시작화면, 게임화면 전체적으로 총 2개의 화면이 있다.★

  2. 시작화면에 ‘플레이’버튼이 있다.★

  3. 시작화면에 ‘조작키’와 ‘타이틀’이 나타난다.★

  4. 게임화면에는 좌측상단에 체력과 총알 갯수, 좌측하단에 갖고 있는 아이템이 나타난다.★

+ 4-1 체력 구현

  1. 플레이버튼 클릭 시 게임화면으로 이동한다.★

    • ‘1’을 누를 시 게임이 일시정시 되면서 나가기 버튼이 표시된다.★

    • 나가기 버튼을 누르면 시작화면으로 돌아간다.★

  2. 배경음악 재생★

  3. esc를 누를 시 ‘다시하기’버튼이 있다.★

8. w,a,s,d를 누를 시 앞쪽,왼쪽,뒤쪽,앞쪽으로 일정 속도로 이동한다.

9. spacebar를 누를 시 일정 높이를 점프한다.(2단점프)

10. 마우스로 보는 방향을 전환한다.

11. 마우스 스크롤로 아이템을 선택할 수 있다.(숫자키로 구현)

  1. 맵 제작(칸 나누기)

13 특정 오브젝트(쪽지, 문, 번호키, 열쇠)와 ‘e’키로 상호작용할 수 있다.

+ 13-1 특정 오브젝트에 다가갈 시 화면 중앙 하단에 ‘e’ 메시지가 뜬다.

14 쪽지와 상호작용하면 글자가 써져있는 창이 뜬다.

+ 14-1 ‘e’키를 누를 시 다시 창이 사라진다.(-> 버튼으로 대체)

15. 열쇠를 들고 있으면 문과 상호작용할 수 있다.

16. 번호키와 상호작용하면 마우스로 누를 수있는 ‘1~9의 숫자’와 ‘나가기’ 버튼이 있다.-> 키보드로 입력하는 걸로 구현

+ 16-1 정답 번호를 누를 시 ‘문을 열수 있다.’라는 메시지가 뜬다. -> 문과 상호작용할 수 있다.

+ 16-2 나가기’ 버튼을 왼쪽 클릭 시 창이 닫힌다.

17. 원거리 몬스터의 공격을 받을 시 현재체력이 최대체력의 1/10이 줄어든다.

18. 레이져와 접촉 할 시 현재체력이 최대체력의 1/3이 줄어든다. -> 변동 및 수정 상시 가능

19. 낭떠러지로 떨어지면 체력이 0이 된다.

20. 체력이 0이 되면 죽었던 방 안에서 다시 스폰된다.(스폰포인트)

  1. 포션과 접촉 시 현재체력이 최대체력의 1/3만큼 회복된다.★

22. 발판 및 레이져 생성

23. 생성과 제거가 일정시간을 간격으로 반복되는 발판 및 레이져가 있다.

24. 눈에 보이지만 밟을 수 없는 발판 및 레이져가 존재한다.

25. 움직이는 발판 및 레이져가 있다.

  1. 배드엔딩 구현★
  2. 해피엔딩 및 히든엔딩 구현★

그래픽

  1. 플레이어

2. 열쇠

3. 쪽지

  1. 총알

6. 발판

7. 레이져

  1. 맵 구성 오브젝트

  2. 원거리 공격 몬스터

  3. 포션

11. 번호키

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

c. 용어정리



[게임 시나리오 & 스토리보드]

1. 플레이어 관점 흐름(시나리오)

● 시작방

● 레이져방

● 점프방

● 퀴즈방1(물건갯수)

● 퀴즈방2

● 퀴즈방3(줄무늬방)

● 엔딩방(배드)

● 엔딩방(해피)

2. 시나리오 참고자료

1. 시작 맵(문 1개)

1) 캐릭터 생성(1인칭)

2. 움직이는 레이져방 (+ 장애물) 방 – 난이도업 다르게 3개

1) 죽었을 때 스폰 -> 체력이 0이 되었을 시, 레이져와 접촉 시 2) 레이져 생성 -> 땅바닥에서 움직이는 레이져, 공중에서 움직이는 레이져(스피드 조절-난이도 조절) -> 플레이어와 접촉 시 플레이어 일정 체력이 깎인다. 3) 포션 -> 접촉 시 일정 체력이 회복된다.

3. 점프 (+ 장애물) 방 – 난이도업 다르게 3개

1) 죽었을 때 스폰 -> 체력이 0이 되었을 때 2) 발판, 움직이는 발판, 일정 시간을 간격으로 사라졌다 나타났다하는 발판 3) 일정 시간을 간격으로, 플레이어를 향해, 공격 하는 원거리 몬스터(장애물)
4) 포션 -> 접촉 시 일정 체력이 회복 된다.

5) 점프해서 앞으로가는방, 위로 올라가는 방 존재 6) 가짜발판 점프맵

4. 퀴즈방 – 다른 퀴즈로 5개 + a, 퀴즈 정답 시 열쇠 생성 + 메시지, 오답 시 틀렸다는 메시지만 뜨고 아무런 일도 일어나지 않는다.

1) 세로 드립 or 대각선 드립 – 이미지(UI) 이용 – 방 안에 있는 물건 개수 - 답은 숫자로 입력

2) 짧은 퀴즈

3)..

5. 선택의 방(단순히 문), 단서, 흔적 - 스토리 관련

1) 가장 중요한 것은? 평화, 돈, 시간, 노력, 운 —> 세계 평화를 위해 만들어진 로봇이다 –> 해피엔딩

2) “와본적이 있는것같다.”“익숙한느낌이다” 기타 등등

3) 검은색 배경에 흰색 덧칠 vs 흰색 배경에 검은 색 덧칠 방 , 문2개 ,체크문늬 or 반 나눠서

6. 엔딩 방 – 2개(+ 히든)



[개발작업 일정(6주)]



[1주차 작업 결과]

작업명 : 전체적인 맵 구성 및 플레이어 이동

해당 요구사항

8) w,a,s,d를 누를 시 앞쪽,왼쪽,뒤쪽,오른쪽으로 일정 속도로 이동한다. - [100%]

10) 마우스로 보는 방향을 전환한다. - [100%]

12) 맵 제작(칸 나누기) - [100%]

작업내용

구현영상

[2주차 작업 결과]

작업명 : 2주차 점프, 발판, 플레이어 체력 프로그래밍

해당 요구사항

  1. spacebar를 누를 시 일정 높이를 점프한다. - [100%]

22-1. 발판 생성 - [100%]

4-1. 체력 구현 - [100%]

작업 내용

1) 플레이어 점프 구현 (Script) - [100%]

2) 발판 생성 , 임의로 배치 - [100%]

3) 플레이어 체력 구현 (Script, UI) - [100%]

구현영상

[3주차 작업 결과]

작업명 : 쪽지,열쇠 상호작용 및 리스폰

해당 요구사항

4-3-1 열쇠(Object, GUI) - [100%]

11.마우스 스크롤로 아이템을 선택할 수 있다. - [0%]

  1. 특정 오브젝트(쪽지, 문, 번호키, 열쇠)와 ‘e’키로 상호작용할 수 있다. - [50%]

13-1 특정 오브젝트(쪽지, 문, 번호키, 열쇠)에 다가갈 시 화면 중앙 하단에 ‘e’ 메시지가 뜬다. - [50%]

쪽지와 상호작용하면 글자가 써져있는 창이 뜬다. - [100%]

14-1 ‘e’키를 누를 시 다시 창이 사라진다. -> (16 - 2로 대체)

16-2 나가기’ 버튼을 왼쪽 클릭 시 창이 닫힌다. - [100%]

  1. 낭떠러지로 떨어지면 체력이 0이 된다. - [100%]

  2. 체력이 0이 되면 죽었던 방 안에서 다시 스폰된다.(스폰포인트) - [50%]

작업 내용 :

열쇠 오브젝트 추가 - [100%]

아이템 UI 추가(열쇠 습득 표시) - [100%]

마우스 스크롤로 아이템 선택 - [0%]

열쇠 오브젝트에 일정거리 다가갈 시 상호작용 메시지 표시 - [100%]

열쇠 오브젝트와 상호작용 시 열쇠 오브젝트 제거 + 아이템 UI에 습득 - [100%]

쪽지 오브젝트 추가 - [100%]

쪽지 오브젝트에 일정거리 다가갈 시 상호작용 메시지 표시 - [100%]

쪽지 오브젝트와 상호작용 시 새로운 창 생성 + 나가기 버튼 - [100%]

체력이 0이 될 시 방 시작점에서 리스폰 - [50%]

낭떠러지로 일정거리 떨어질 시 체력이 0이 된다. - [100%]

구현영상

1)

2)

3)


추가,기타 사항

[4주차 작업 결과]

작업명 : 문과 상호작용

해당 요구사항

3 특정 오브젝트(쪽지, 문, 번호키, 열쇠)와 ‘e’키로 상호작용할 수 있다. - [75%] (쪽지, 문, 열쇠)

13-1 특정 오브젝트(쪽지, 문, 번호키, 열쇠)에 다가갈 시 화면 중앙 하단에 ‘e’ 메시지가 뜬다. - [75%] (쪽지, 문, 열쇠)

14-1-1 열쇠를 들고 있으면 문과 상호작용 할 수 있다. - [100%]

작업 내용 :

열쇠 장착(+ 아이템 선택 기능) - [100%]

열쇠 장착 시 문과 상호작용 가능 - [100%]

문과 상호 작용 시 문이 열린다. - [99%]

종이(쪽지)와 상호작용 시 마우스와 이미지 뒤 게임 화면이 동시에 움직이는 현상 해결 -> 이미지 뒤 게임 화면 고정 - [100%]

방 이동 시 스폰 포인트 재설정 - [100%]

구현영상

1)

2)

-> 나가는 버튼을 누름과 동시에 다시 활성화 됩니다.

2-1)

-> 문을 열고 다음 방을 건너가는 도중에 설치하여, 스폰 장소가 재지정됩니다.

추가,기타 사항

[5주차 작업 결과]

작업명 : 번호키 및 레이져 생성

해당 요구사항

13 특정 오브젝트(쪽지, 문, 번호키, 열쇠)와 ‘e’키로 상호작용할 수 있다. - [100%] (쪽지, 문, 열쇠, 번호키)

13-1 특정 오브젝트에 다가갈 시 화면 중앙 하단에 ‘e’ 메시지가 뜬다. - [100%] (쪽지, 문, 열쇠, 번호키)

16 번호키와 상호작용하면 마우스로 누를 수있는 ‘1~9의 숫자’와 ‘나가기’ 버튼이 있다.-> 키보드로 입력하는 걸로 변경 - [100%]

16-1 정답 번호를 누를 시 ‘문을 열수 있다.’라는 메시지가 뜬다. -> 문과 상호작용할 수 있다. - [100%]

16-2 나가기 버튼을 왼쪽 클릭 시 창이 닫힌다. - [100%]

22-2 레이져 생성 - [100%]

작업 내용 :

번호키 오브젝트 생성 - [100%]

번호키와 ‘E’키로 상호작용 구현 - [100%]

번호키와 상호작용 했을 때 나타나는 ‘번호 입력 화면’ 구현 - [100%]

번호 입력 UI-Text 구현 - [100%]

특정 번호(정답)을 입력했을 때 ‘번호 입력 화면’에 ‘문을 열 수 있습니다.’라는 메시지 표현 - [100%]

‘번호 입력 화면’ 나가기 버튼 구현 - [100%]

특정 번호(정답) 입력 시 문과 상호작용이 가능하도록 구현 - [100%]

레이져 오브젝트 생성 - [100%]

레이져에 충돌 할 시 플레이어의 일정 체력이 줄어든다. - [100%]

구현영상

1)

2)

추가,기타 사항

[6주차 작업 결과]

작업명 : 레이져, 발판 기능 추가 보충(엔딩, 문제 이미지 추가) 및 마무리(배치)

해당 요구사항

12-1 방마다 컨셉에 맞춰 구성하기(배치) - [40%]

  1. 생성과 제거가 일정 시간을 간격으로 반복되는 발판 및 레이져가 있다. - [100%]

  2. 눈에 보이지만 밟을 수 없는 발판 및 레이져가 존재한다. - [100%]

  3. 움직이는 발판 및 레이져가 있다. - [100%]

  4. 배드엔딩 구현 - [60%] (씬 전환만)

  5. 해피엔딩 및 히든엔딩 구현 - [60%] (해피엔딩 씬 전환만)

작업 내용 :

  1. 생성 제거가 일정 시간을 간격으로 반복되는 발판 , 레이져 기능 추가 - [100%]

  2. 눈에 보이지만 밟을 수 없는 발판 및 레이져 기능 추가 - [100%]

  3. 움직이는 발판 및 레이져 기능 추가 - [100%]

  4. 해피엔딩 씬전환 구현 + 간단한 맵 - [100%]

  5. 배드엔딩 씬전환 구현 + 간단한 맵 - [100%]

  6. 쪽지(종이) 상호작용 시 나타나는 문제를 방마다 다르게 설정 - [100%]

  7. 방마다 컨셉에 맞춰 오브젝트 배치 - [40%]

구현영상

1)

2)

추가,기타 사항

[1차 최종 작업 결과]

작업 사항

보완 사항

[최종 작업 결과]

작업 사항

 - 인트로 화면 구성
 - 오브젝트 추가 배치 및 구성
 - 사운드 추가