Luseol.github.io

프로젝트명: 패턴 미로

[ 목차 ]

1. 컨셉

2. 관련 이미지와 동영상

3. 대표 이미지 그리고 컨셉과 대표이미지 기반 작품 묘사

4. 구성 요소

5. 게임 시스템 디자인

6. 요구사항(6주차)

7. 요구사항(1년차)

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

9. 용어 정리

10. 개발 작업

11. 1주차 작업 결과

12. 2주차 작업 결과

13. 3주차 작업 결과

14. 4주차 작업 결과

15. 5주차 작업 결과

15. 6주차 작업 결과

16. 6주차 이후 추가 작업

17. 포트폴리오1 중간 작업

18. 포트폴리오1 마무리 작업

19. 사용한 주요 코드 일부

20. 향후 계획

[컨셉]

메인컨셉 : 미로

서브 컨셉 1 : 시각

서브 컨셉 2 : 판단

서브 컨셉 3 : 단순

서브 컨셉 4 : 타이밍

서브 컨셉 5 : 순서



[관련 이미지와 동영상]



[대표 이미지]

그려본거



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

대표이미지 기반 :

컨셉 기반:



[패턴 미로 구성 요소]

1. 메커니즘

[도전 과제]

  1. HP가 다 닳기 전에 미로를 탈출한다.
  2. 여러 기믹을 이용해 미로를 바꿔 탈출한다.

[재미 요소]

  1. 미로를 클리어 하는 재미
  2. 패턴을 파악하고 파훼하는 재미


2. 이야기

[만들게 된 배경]
모바일 게임 가디언 테일즈를 하다가 문득 생각나서 만들게 됨

[카메라 관점]
캐릭터의 위치에 고정된 탑뷰


3. 미적요소

[디자인][컬러]
기믹들은 밝은 색, 배경이 되는 미로는 어두운 색으로 해서 구별이 쉽게 하고 함정은 함정의 컨셉에 맞는 색 으로 할 예정

[음향]


4. 기술

유니티3D

[게임 시스템 디자인]

게임 오브젝트 분해

파라미터

1) 오브젝트 이름 : 미로

속성 영문명칭 설명
크기 size 미로의 크기
light 빛으로 플레이어의 시야를 제한해 미로 전체를 못 보게 함
시작 지점 start point 캐릭터의 시작,부활 장소
끝 지점 end point 캐릭터의 목표 지점
wall 캐릭터의 이동을 방해하는 벽

2) 오브젝트 이름 : 캐릭터

제목 내용 설명
체력 HP 캐릭터의 체력. 0이되면 게임 오버
이동속도 speed 캐릭터의 체력이 낮을수록 이동속도가 증가함
상태 status 캐릭터의 현재 체력과 이동속도

3) 오브젝트 이름 : 함정

제목 내용 설명
화염 함정 fire trap 체력을 매우 조금 감소시키는 함정
창 함정 spear trap 체력을 조금 감소시키는 함정
얼음 함정 ice trap 이동을 방해하는 얼음함정
처형 함정 guillotine trap 체력을 대폭 감소시키는 함정

4) 오브젝트 이름 : 기믹

제목 내용 설명
위치 이동 move location 캐릭터의 위치를 이동시킴
벽 생성 generate wall 미로에 벽을 생성시킴
체력 회복 HP recovery 캐릭터의 체력을 회복시킴
벽 제거 eliminate wall 특정한 벽을 제거함

행동 뽑아 보기

1) 오브젝트 이름 : 캐릭터

행동 설명
이동 키 입력으로 캐릭터를 이동
상호 작용 키 입력으로 기믹을 작동시킴

2) 오브젝트 이름 : 함정

행동 설명
충돌 캐릭터와의 충돌로 캐릭터의 체력을 감소시킴
이동 방해 캐릭터의 키 입력을 방해함

3) 오브젝트 이름 : 기믹

행동 설명
체력 회복 캐릭터와의 상호작용으로 캐릭터의 체력을 회복시킴
위치 이동 캐릭터의 위치를 이동시킴
벽 제거 미로의 일부 벽을 제거시킴
벽 생성 미로에 새로운 벽을 추가시킴

상태 뽑아 보기

1) 오브젝트 이름 : 캐릭터

현상태 전이상태 전이조건
체력이 많음,이동속도 보통 체력이 적당함,이동속도 빠름 함정에 피격당함
체력이 적당함,이동속도 빠름 체력이 적음,이동속도 매우 빠름 함정에 피격당함
체력이 적음,이동속도 매우 빠름 체력이 적당함,이동속도 빠름 기믹을 통해 체력을 회복함
체력이 적당함,이동속도 빠름 체력이 많음,이동속도 보통 기믹을 통해 체력을 회복함

2) 오브젝트 이름 : 함정

현상태 전이상태 전이조건
함정 발동 함정 대기 정해진 순서에 따라 변함
함정 대기 함정 발동 정해진 순서에 따라 변함

플레이어 캐릭터 속성

속성 영문명칭 설명 비고
체력 HP 캐릭터의 체력. HP가 0이되면 게임이 끝난다.  
속도 speed 캐릭터의 속도. HP가 적을수록 빨라진다. 100%~67% =1 66%~34% =1.2 33%~1% =1.4
상태 status 캐릭터의 상태.체력과 속도를 나타냄  

게임의 규칙

1) 핵심 규칙 미로의 함정에 HP가 모두 소진되어 사망하지 않고 미로에서 탈출 하는 것이 목표.

2) 보조 규칙 시간 제한은 없지만 함정에 닿을 경우 HP가 소진되므로 천천히 함정의 패턴을 파악하며 플레이할 수 있음. HP가 0 이하가 될 경우 캐릭터가 사망하며 시작 지점에서 다시 게임이 시작됨.

게임에서 사용될 공식

캐릭터의 체력은 100 캐릭터의 체력이 100%~67%이면 1의 이동속도 66%~34% =1.2의 이동속도 33%~1% =1.4의 이동속도

개발 요구사항

요구사항[6주차]

1) WASD 키로 상하좌우 이동, F키로 상호작용을 할 수 있다.

2) 미로의 기본적인 형태를 만든다.

3) 미로의 벽은 통과할 수 없게 만든다.

4) 미로의 시작점과 끝점을 만들고 끝에 도착하면 게임이 종료되게 한다.

5) 카메라를 캐릭터의 위에 위치시킨다.

6) 카메라의 시야를 제한하거나 높이를 조절해 모든 미로를 파악하지 못하게 한다.

7) 캐릭터의 체력을 설정하고 함정에 피격당하면 체력이 줄어든다.

8) 함정이 발동되는 시간을 설정한다.

9) 함정마다 캐릭터의 체력이 줄어드는 정도를 다르게 설정한다.

10) 특정 기믹에 상호작용 해서 체력을 회복시킨다.

11) 캐릭터의 체력에 따라 이동속도를 다르게 설정한다.

12) 캐릭터가 사망 했을때 캐릭터를 시작지점으로 이동시킨다.

요구사항[1년차]

  1. 특정 기물에 상호작용을 했을때 미로의 정해진 벽이 일부 바뀌게 한다.
  2. 더 다양한 함정들과 기믹들을 추가한다.
  3. 미로를 추가한다.

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

키보드이벤트

용어정리

개발 작업 일정

일정

1주차 작업 결과

작업명 : 맵 구성,플레이어 이동&상호작용

  1. 플레이어의 조작은 WASD 키로 이동과 F키로 상호작용을 한다. -> 50%

  2. 카메라를 플레이어 캐릭터의 위에 위치시킨다. -> 0%

  3. 미로 틀 제작 -> 40%

작업내용

  1. WASD 키로 이동 구현
  2. 미로 일부 제작

2주차 작업 결과

작업명 : 맵구성 , 플레이어 이동 & 상호작용 , 캐릭터 제작

  1. 미로 맵 소폭 변경 -> 100%

  2. 캐릭터 기본 외형 제작 -> 100%

  3. 플레이어의 조작은 WASD 키로 이동과 F키로 상호작용을 한다. -> 상호작용 키 추가 -> 75%

작업 내용

1

2

01

상호작용키는 만들었으나 실제로 작동하는지 아직 모름

3주차 작업 결과

작업명 : 캐릭터의 체력 추가,캐릭터와 함정의 충돌 체크 & 충돌 시 HP감소

요구사항 :

7.캐릭터의 체력을 설정하고 함정에 피격당하면 체력이 줄어든다.

10.특정 기믹에 상호작용 해서 체력을 회복시킨다.

작업내용

1) 캐릭터의 체력을 추가 - 100%

2) 캐릭터와 함정의 충돌을 Debug.Log 로 체크 - 100%

3) 캐릭터와 함정이 충돌 시 캐릭터의 체력을 감소 시킴 - 100%

4) F키를 통한 오브젝트와의 상호작용 완성 - 100%

4주차 작업 결과

작업명 : 함정의 발동 시간 설정,캐릭터의 체력에 따른 이동 속도의 변화

해당 요구사항 :

8.함정이 발동되는 시간을 설정한다

  1. 함정마다 캐릭터의 체력이 줄어드는 정도를 다르게 설정한다.

11.캐릭터의 체력에 따라 이동 속도를 다르게 설정한다.

작업 내용 :

  1. 함정이 2초는 활성화, 4초는 비활성화 되도록 설정 -> 0%

  2. 일부 함정은 캐릭터의 체력을 대폭 감소 시키도록 설정 -> 100%

  3. 캐릭터의 체력이 100%~67% 일 때 1의 이동 속도를 66%~34% 일 때 1.2배의 이동 속도를 33%~1% 일 때 1.4배의 이동 속도를 가짐 -> 100%

  4. 캐릭터의 체력이 회복되면 이동 속도가 원래대로 줄어들도록 설정 -> 100%

5주차 작업 결과

구현 5주차 목표

해당 요구 사항

8) 함정이 발동되는 시간을 설정한다

12) 캐릭터가 사망 했을 때 캐릭터를 시작 지점으로 이동 시킨다.

5주차 작업 내용

  1. 일부 함정이 2초는 활성화, 4초는 비활성화 되도록 설정 -> 50%
  1. 다른 일부 함정은 처음 2초 비활성화 상태로 있다가 2초 후에 2초간 활성화, 이후 4초는 비활성화 되도록 설정 -> 0%
  1. 캐릭터의 체력이 0이하로 떨어지면 캐릭터의 위치를 시작 지점으로 이동 -> 100%

  2. 캐릭터를 시작 지점으로 이동 시킨 후 캐릭터의 체력을 다시 100으로 설정 -> 100%

6주차 작업 결과

해당 요구사항 :

  1. 미로의 시작점과 끝점을 만들고 끝에 도착하면 게임이 종료되게 한다.

  2. 함정이 발동되는 시간을 설정한다.

작업 내용 :

  1. 미로에 끝에 포인트를 만들고 그곳에 들어가면 게임이 끝나게 한다. -> 100%

  2. 함정이 발동되는 시간을 설정해서 활성화,비활성화 시간을 확실하게 나눈다. -> 100%

  3. 함정과 상호작용 아이템을 맵 곳곳에 배치한다. -> 20%

추가 작업 내용 :

  1. 상호작용을 통해 미로의 벽을 없앤다. -> 100%

  2. 상호작용을 통해 지정된 위치로 순간 이동한다. -> 100%

  3. 미로의 끝에 도달했을때 게임이 끝나고 씬이 전환된다. -> 100%

6주차 이후 추가 작업

  1. 함정과 상호작용 아이템을 맵 곳곳에 배치한다. -> 100%

E01

포트폴리오1 중간 작업

  1. 기존에 사용했던 단색 메테리얼들 대신 에셋 스토어에서 새로운 메테리얼들을 가져와 적용시킨다. -> 70%

중간

  1. 빌드후 실행시 함정이 정상적으로 발동되지 않던 오류를 수정한다. -> 100%

인게임1

  1. 새로운 카메라를 추가해 시점의 변경이 가능하게 한다. -> 70%

카메라시점전환

포트폴리오1 마무리 작업

  1. 기존에 사용했던 단색 메테리얼들 대신 에셋 스토어에서 새로운 메테리얼들을 가져와 적용시킨다. -> 100% ezgif-2-dd0d1d183a

ezgif-2-a0cb293f22

  1. 캐릭터의 외형을 변경한다. -> 100%

ezgif-2-640986c1e4

  1. 효과음과 배경음악을 추가한다 -> 100%

https://user-images.githubusercontent.com/91230459/173573428-340295fd-9534-4041-94e4-36b89df20abd.mp4

  1. 카메라로 시점의 변경이 가능하게 한다. -> 취소

  2. 튜토리얼과 게임 시작 등 다양한 씬들을 추가한다. -> 100%

패턴미로 2022-06-14 오후 9_02_56

패턴미로 2022-06-14 오후 9_03_07

사용한 주요 코드 일부

  1. 플레이어를 강제로 이동하게 하는 코드

강제이동함정코드

  1. 움직이는 함정의 코드

함정이동코드

  1. 효과음 작동 코드

브금작동코드

향후 계획

  1. 스테이지의 추가
  2. 함정의 다양화
  3. 플레이어가 사용할 수 있는 아이템 추가 ( 취소했던 카메라 등)
  4. 브금과 함정들의 효과음 변경&다양화