yseungpil.github.io

[ 목차 ]

1. 게임명: Seven sins

2. 컨셉

3. 관련 동영상

4. 대표 이미지

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

6. Senven sins의 구성 요소

7. 게임 시스템 디자인

     a. 게임 오브젝트 분해

     b. 파라미터(속성)

     c. 행동

     d. 상태

     e. 폰 오브젝트 상태

     f. 게임의 규칙

     g. 게임에서 사용될 공식

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

     a. 요구사항(1년)

     b. 시간별 흐름도

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

     d. 용어정리

     e. 스토리보드

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

10. 이후 개발

프로젝트명: seven sins (양승필)



[컨셉]

메인컨셉 : 긴박함, 스릴

서브 컨셉 1 : 난이도

서브 컨셉 2 : 속도

서브 컨셉 3 : 다양화

서브 컨셉 4 : 제한시간

서브 컨셉 5 : 전략



[관련 이미지 & 동영상]



[대표 이미지]



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

대표이미지 기반 :

(UI)

(배경)

(적)

(플레이어)

적이 스테이지당 하나씩 7개의 스테이지가 있으며 스테이지마다 움직이는 패턴, 속도, 공격 패턴 등으로 차이점이 있습니다. 어설픈 난이도로는 스릴을 주기 힘들기 때문에 7개의 스테이지를 진행하면서 점차 쉽게 깰 수 없는 난이도를 가지고 있습니다. 빠르게 움직이는 적의 공격에 캐릭터를 조종해 여러가지 방법들을 활용해 피하면서 움직이는 적에게 공격을 맞추어 스테이지를 클리어해 나갑니다.



[ 구성 요소]


1. 메커니즘

[도전 과제]

  1. 적의 공격을 피하고 살아남아라
  2. 제한시간 내에 적을 쓰러트리고 다음 스테이지로 나아가라
  3. 7개의 적을 모두 물리쳐라

[재미 요소]

  1. 캐릭터와 적 모두 빠른 속도감으로 스릴을 준다
  2. 어려운 난이도의 긴박한 상황을 이겨내고 클리어 했을 때의 쾌감
  3. 적마다 다른 다양한 패턴
  4. 대쉬, 실드, 트랩, 스킬 등을 활용한 전략적인 플레이


2. 이야기

[만들게 된 배경]
인간의 본성은 악일까 선일까 세계사 이래 인간이 발견한 모든 요소는 악용되지 않은 적이 없다고 한다. 예를 들어 불이 났을 때 자신의 안위를 위해 질서 없이 도망가는 일이 굉장히 흔하다. 질서를 잘 지키면서 차분하게 현장을 빠져나간다면 많은 사람들이 대피할 수 있다 는 걸 알고 있는데도 말이다.그 결과 다른 사람들이 압사하는 일이 생기더라도 그게 인간의 본성이기 때문이라는 것이다. 인간은 모두 이 게임처럼 악한 감정과 선한 감정의 줄다리기 가 아닐까 생각한다.

[카메라 관점]
인간이 저지른 죄들로 인해 실망한 신은 선과 악 둘 중 무엇이 인간의 본질 인지 시험을 내린다. 한 사람을 만들어 인간이 죄를 저지르게 하는 감정 칠 죄종에 물든 인격과 대비되는 선함을 유발하는 감정 칠주선의 인격을 넣어 시험한다. 칠죄종의 인격이 주인공의 몸을 차지하기 위해 공격하자 칠주선 의 인격이 이를 막기 위해 이 이야기는 시작된다. (교만 인색 질투 분노 음욕 탐욕 나태) 칠죄종 (겸손 자선 친절 인내 순결 절제 근면) 칠주선


3. 미적요소

[디자인][컬러]
적은 칠죄종의 각각의 상징물이다.

적의 공격과 캐릭터의 공격 또한 잘 보이도록 밝은 계열의 컬러를 사용하되, 정신없고 눈의 피로를 느끼게 할 수도 있어 채도와 명도를 낮춰 조절한다

[배경] 각 칠죄종이 상징하는 상징물과 잘어울리는 배경

[카메라] 전체 화면을 비추고 있어 플레이어가 한눈에 볼 수 있도록 함

UI를 최소화해 화면을 가리는 곳을 최소화

[음향] 타격 시 타격감을 느끼도록 적절한 효과음과 긴장감을 유지해주는 BGM

캐릭터가 점프, 대쉬, 공격할 때 등에도 알맞은 효과음을 넣는다.


4. 기술

[게임 시스템 디자인]

a. 게임 오브젝트 분해 (구성 요소 분석)

연번 오브젝트 이름 오브젝트 이미지
1 wisp
2 lust
3 pride
4 Envy
연번 오브젝트 이름 오브젝트 이미지
5 Wrath
6 Sloth
7 Greed
8 Gluttony


연번 오브젝트 이름 오브젝트 이미지
9 shield
10 trap
11 Lust field
12 Pride field


|연번|오브젝트 이름|오브젝트 이미지| |:—-:|:—-:|:—-:| |14|Envy field|| |15|Wrath field|| |16|Sloth field|| |17|Greed field||

연번 오브젝트 이름 오브젝트 이미지
18 Gluttony field
19 Lust Pawn
20 Pride Pawn
21 Envy Pawn


연번 오브젝트 이름 오브젝트 이미지
22 Wrath Pawn
23 Sloth Pawn
24 Greed Pawn
25 Block
26 gate


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


1) 오브젝트 이름 : Wisp

속성 영문명칭 설명 비고
이동 스피드 Speed 캐릭터의 이동 속도  
공격 속도 Loadspeed 캐릭터가 공격하고 다음공격하기 까지의 준비 속도  
대쉬 속도 Dash speed 캐릭터의 대쉬 속도  
점프 높이 Jump height 캐릭터의 점프 높이  
상태 Status 캐릭터의 실드와 트랩 보유 상태  
투사체 속도 AttSpeed 캐릭터가 공격하는 투사체의 속도  
공격력 Damage 캐릭터의 공격력  

2) 오브젝트 이름 : Enemy

속성 영문명칭 설명 비고
이동 스피드 E_Speed 적의 이동 스피드  
체력 E_hp 적의 체력 수치  
투사체 속도 E_AttSpeed 적이 공격하는 투사체의 속도  

3) 오브젝트 이름 : Sheild

속성 영문명칭 설명 비고
지속 시간 Shieldtime 실드가 지속되는 시간  
실드 횟수 Shieldcount 실드가 막는 공격횟수.  
생성 시간 Createshield 실드 생성 시간  

4) 오브젝트 이름 : Trap

속성 영문명칭 설명 비고
지속 시간 Traptime 트랩 지속시간  
공격력 Trapdamage 트랩의 데미지  
생성 시간 Createtrap 트랩 생성 시간  

5) 오브젝트 이름 : Pawn

속성 영문명칭 설명 비고
지속 시간 Pawntime 폰 지속시간  
생성 시간 CreatePawn 폰 생성 시간  
이동 스피드 P_Speed 폰 이동 스피드  
체력 P_hp 폰 체력 수치  

c. 행동 뽑아 보기

1) 오브젝트 이름 : Wisp

행동 설명
이동 방향키로 이동한다,(← , →)
점프 점프키를 누르면 점프한다 점프하여 블록 위로 오를수도 있다
더블 점프 공중에서 점프키를 누르면 한번 더 점프한다
공격 공격키를 누르면 플레이어 앞에 공격 오브젝트가 생성되어 날라가며 적에게 닿으면 사라지며 데미지를 준다
위 공격 위 방향키와 함께 공격키를 누르면 위로 공격한다
대쉬 대쉬키를 누르면 일정거리를 빠르게 이동한다 그 과정에서 부딪히는 적의 공격은 무시한다(무적판정)
함정 설치 데미지를 주는 함정과 적의 이동에 제약을 주는 함정을 설치한다
실드 사용 적의 공격을 일회성으로 막아주는 실드를 사용한다
스킬 사용 3초간 무적이 되는 스킬을 사용한다

2) 오브젝트 이름 : Enemy

행동 설명
공격 적이 투사체를 발사한다
이동 적이 공중에서 이동한다
사망 공격을받아 체력이 0이 되면 소멸한다

3) 오브젝트 이름 : Trap

행동 설명
공격 적에게 닿는다면 데미지를 준다

4) 오브젝트 이름 : Pawn

행동 설명
공격 플레이어를 향해 공격한다
이동 정해진대로 이동하거나 플레이어를 쫓는다
사망 공격을받아 체력이 0이 되면 소멸한다

d. 상태 뽑아 보기

1) 오브젝트 이름 : Wisp

현상태 전이상태 전이조건
대기 이동(→ , ←) 이동키 버튼 클릭
대기 or 이동 점프 점프키 버튼 클릭
점프 더블점프 공중에서 점프키 한번더 클릭
대기 or 이동 or 점프 공격 공격 버튼 클릭
대기 or 이동 or 점프 위 공격 위방향키와 공격버튼 함께 클릭
대기 or 이동 or 점프 대쉬 대쉬 버튼 클릭
모든 상태 함정 획득 함정 아이템 획득
함정 획득 함정 설치 함정 설치 버튼 클릭
대기 실드 생성 실드 아이템 획득
모든 상태 무적 상태 스킬 사용
모든 상태 죽음 일정 시간 안에 적을 쓰러트리지 못하거나 적의 공격에 맞는 경우

2) 오브젝트 이름 : Enemy

현상태 전이상태 전이조건
대기 이동 조건 없이 정해진대로 움직임
모든 상태 공격 조건없이 정해진대로 공격
모든 상태 죽음 일정 시간 안에 hp가 0이 될 경우

3) 오브젝트 이름 : Shield

현상태 전이상태 전이조건
비활성화 활성화 캐릭터가 실드 아이템 획득
활성화 비활성화 플레이어가 획득한 후 30초가 지나거나 적의 공격에 맞을 경우

4) 오브젝트 이름 : Trap

현상태 전이상태 전이조건
비활성화 활성화 캐릭터가 함정 설치
활성화 비활성화 설치된 후 30초가 지나거나 적에게 닿을 경우

6) 오브젝트 이름 : Gate

현상태 전이상태 전이조건
비활성화 활성화 적을 쓰러트리고 스테이지 클리어시 생성

## e. 스테이지별 폰 상태

스테이지 상태 행동
스테이지1 아래로 드랍 좌우로 이동한다
스테이지2 아래로 드랍 고정된 위치에서 투사체 발사
스테이지3 아래로 드랍 플레이어를 쫓으며 이동
스테이지4 일정 시간 후 생성 플레이어를 쫓으며 이동하고 플레이어의 공격 상쇄
스테이지5 고정된 위치에 생성 플레이어를 쫓아 느리게 공중이동
스테이지6 사방으로 다수 생성 플레이어를 쫓아 빠르게 공중이동
스테이지7 적 복제 생성 적 행동

f. 게임의 규칙

1) 핵심 규칙

▷ 총 7개의 스테이지로 구성되어 있으며 각 스테이지마다 있는 하나의 적을 제한시간 내에 쓰러트려야 한다

▷ 제한시간 안에 적을 쓰러트린다면 게이트가 나타나 다음 스테이지로 넘어갈 수 있다

▷ 제한시간 안에 쓰러트리지 못하거나 적의 공격에 맞는다면 패배한다

▷ 7개의 스테이지를 모두 클리어하면 승리한다

2) 보조 규칙

▷ 공격, 대쉬는 사용 후 쿨타임을 갖게 되어 바로 재사용이 불가능하다

▷ 점프는 연속으로 두번이 최대이다

▷ 일정 시간마다 실드와 함정아이템이 떨어진다

▷ 함정과 실드는 일회성이며 영원히 지속되는 것이 아닌 30초 후 사라진다

g. 게임에서 사용될 공식

◇. 제한시간 – 진행시간(Timescale)의 값(result)을 구한다

◇. 적의 최대 체력 – 플레이어의 공격 데미지 = 적의 현재 체력



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

a. 요구사항(1년)

### 그래픽

▶ 7개의 적인 칠죄종을 각각의 상징물에 맞는 이미지로 만든다

적은 구체의 투사체로 공격

그림



▶ 배경은 상징물에 어울리는 배경을 만든다



▶ 화면



▶ 플레이어



### 프로그래밍

▶ 화면



▶ 플레이어 캐릭터



▶ 적

▷ 음욕 = 플레이어의 이동속도를 느리게 만든다

▷ 교만 = 10초동안 공격할 수 없게 된다

▷질투 = 투사체의 속도가 느려진다

▷나태 = hp를 회복한다

▷분노 = 적의 투사체가 더 빨라진다

▷인색 = 아이템이 나오지 않는다

▷탐욕 = 블록을 삭제시킨다



▶ 블록

▶ 실드

▶ 트랩

▶ 스킬

▶ 소리

# 시간별 흐름도

그림

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

그림

# [용어정리]

그림

# [스토리보드]

그림

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

그래픽

1주차

2주차

▶ 화면

7개의 적인 칠죄종을 각각의 상징물에 맞는 이미지로 만든다

그림

배경은 상징물에 어울리는 배경을 만든다

플레이어

3주차

프로그래밍

▶ 화면

▶ 플레이어 캐릭터

4주차

▶ 플레이어 캐릭터

▶ 적(스테이지1,2)



5주차

▶ 적(스테이지1,2)

▶ 블록

▶ 플레이어

6주차

개발일정표

그림

수정사항

이후 개발

-6. 이후 개발

- 6-1 스테이지-

– 다른 패턴으로 4~7스테이지 추가 제작-

– 6-2 미완료된 사운드, 이펙트 제작-

– 6-3 졸개-

- 3~7 스테이지 졸개 생성

- 6-4 게임 스토리 이해를 도울 대화창 생성

6-1 스테이지

6-2 졸개

6-3 UI 그래픽

6-4 애니메이션

*추가

1 탄막의 비중이 높아 다른 공격 패턴을 추가한다

3 플랫폼 변화

4 이동 패턴 추가