CJoungA.github.io

프로젝트명: Passing Bot

[ 목차 ]

1. [게임명 : Passing Bot]

2. 컨셉

3. 관련 이미지와 동영상

4. 대표 이미지

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

6. Passing Bot의 구성 요소

7. 게임 시스템 디자인

a. 게임 오브젝트 분해

b. 파라미터

c. 행동

d. 상태

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

f. 게임의 규칙

g. 게임에서 사용될 규칙

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

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

b. 시간별 흐름도

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

9. 스토리보드

10. 개발작업 일정

a. 개발작업(1주)

b. 개발작업(2주)

c. 개발작업(3주)

d. 개발작업(4주)

e. 개발작업(5주)

f. 개발작업(6주)

[컨셉]

메인컨셉 : 도전

서브 컨셉 1 : 총기

서브 컨셉 2 : 봇(적)

서브 컨셉 3 : 점수

서브 컨셉 4 : 사운드

서브 컨 5 : 통계


[관련 이미지 & 동영상]

[대표 이미지]

그림



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

대표이미지 기반

컨셉 기반

  • 도전 : 도전을 통해 자신의 실력이 늘어나고 있음을 느꼈을 때의 성취감이 목표
  • 총기 : 플레이어마다 선호하는 총기가 다르므로 다양한 총기를 선택 할 수 있도록 하고 탄약에 제한을 두어 신중한 플레이를 할 수 있도록 함
  • 봇(적) : 타격시 부위별로 데미지가 증감하며 시간이 지날수록 체력이나 이동속도 등이 오르며 난이도를 증가시킴/플레이어를 공격하지 않음
  • 점수 : 도전을 끝마쳤을 때 플레이어가 직관적으로 본인의 수준을 알 수 있게 해주는 지표
  • 사운드 : 시원한 타격감을 플레이어에게 전달하는 수단으로 지루할 수도 있는 도전 중 긴장감을 끌어 올려줄 bgm
  • 통계 : 점수와 함께 본인의 부족한 부분 등을 알 수 있고 전략을 수정할 수도 있음



[Passing Bot 구성요소]


1. 메커니즘

[도전 과제]

  1. 제한시간내에 봇들을 최대한 처치해라
  2. 봇들이 목표지점까지 도달하기전에 처치해라

[재미 요소]

  1. 약점(머리)를 공격하면 높은 데미지와 처치에 성공한다면 많은 점수를 준다
  2. 일정시간이 지나면 이동속도 및 체력이 증가한 봇이 등장한다.
  3. 플레이어가 죽는다는 부담감 없이 봇들을 처치할 수 있다.
  4. 탄약에 제한이 있어 탄약관리를 해야한다.


2. 이야기

[스토리]

[만들게 된 배경]

[카메라 관점]


3. 미적요소

[디자인][컬러]

[음향]


4. 기술



[ 게임시스템디자인 ]


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

연번 오브젝트 이름 오브젝트 이미지
1
2
3 총알
4 통계


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

1) 오브젝트 이름 : bot

속성 영문명칭 설명
타입 bot_type 봇의 타입을 나타낸다. 0 = 기본, 1 = 이동속도 강화, 2 = 체력강화
체력 bot_hp 봇의 체력을 나타낸다. 기본 = 100, 이동속도 타입 = 80, 체력 타입 = 150
이동속도 bot_speed 봇의 이동속도를 나타낸다. 기본 = 1.0, 이동속도 타입 = 1.5, 체력 타입 = 0.8
점수 bot_score 봇을 처치시 획득하는 점수를 나타낸다. 기본 = 100, 이동속도 타입 = 200, 체력 타입 = 200
머리 bot_head 봇의 피격 부위 중 머리를 나타낸다.
bot_body 봇의 피격 부위 중 몸을 나타낸다.
bot_arm 봇의 피격 부위 중 팔을 나타낸다.
다리 bot_leg 봇의 피격 부위 중 다리을 나타낸다.

2) 오브젝트 이름 : gun

속성 영문명칭 설명
총기 타입 gun_type 총기의 타입을 나타낸다. 0 = M4A1, 1 = AK47, 2 = Revolver
대미지 gun_damage 총기의 대미지를 나타낸다.
탄약 gun_ammo 주어지는 탄약의 총합을 나타낸다.
현재 탄약 gun_current_ammo 총기의 현재 탄약을 나타낸다.
최대 탄약 gun_maxlmum_ammo 한 탄창에 들어갈 수 있는 최대 탄약을 나타낸다. 0 = 30, 1 = 30, 2 = 6
보유 탄약 gun_extra_ammo 재장전 가능한 탄약을 나타낸다.
연사력 gun_rateoffire 총기의 연사력을 나타낸다.
반동 gun_recoil 총기의 반동을 나타낸다.
재장전 gun_reload 총기의 재장전을 나타낸다.
재장전 시간 gun_reload_time 총기의 재장전 시간을 나타낸다.

3) 오브젝트 이름 : bullet

속성 영문명칭 설명
속도 bullet_speed 발사된 총알의 속도를 나타낸다.
대미지 bullet_damage 총알의 대미지를 나타낸다.
머리 대미지 bullet_hit_head 머리 부위의 피격판정을 나타낸다.
몸통 대미지 bullet_hit_body 몸통 부위의 피격판정을 나타낸다.
팔 대미지 bullet_hit_arm 팔 부위의 피격판정을 나타낸다. 0 = 왼쪽, 1 = 오른쪽
다리 대미지 bullet_hit_leg 다리 부위의 피격판정을 나타낸다. 0 = 왼쪽, 1 = 오른쪽

4) 오브젝트 이름 : statistics

속성 영문명칭 설명
명중률 accuracy 명중률을 나타낸다.
약점명중률 critical_hit 머리 명중률을 나타낸다.
점수 score 현재 점수를 나타낸다.
타격 부위 hit_part_count 타격한 부위를 나타낸다.


3. 행동 뽑아 보기

1) 오브젝트 이름 : bot

행동 설명
스폰 스폰지점에서 생성된다.
이동 스폰지점에서 목표지점으로 이동한다.
사망 hp가 0이 될 경우 사망하여 소멸한다.
이동완료 목표지점으로 이동할 경우 소멸한다.

2) 오브젝트 이름 : gun

행동 설명
발사 플레이어가 좌클릭을 누르면 총알을 발사된다.
재장전 현재 탄약을 최대 탄약으로 변경한다.
발사 안됨 현재 탄약이 0일 경우 혹은 재장전상태일 때 발사가 되지 않는다.

3) 오브젝트 이름 : bullet

행동 설명
발사 플레이어가 좌클릭을 누르면 총알이 발사된다.
타격 총알이 봇에 맞으면 hp를 감소시킨다.
소멸 총알이 봇 혹은 오브젝트에 적중하거나 일정시간 이후 소멸한다.


4. 상태 뽑아 보기

1) 오브젝트 이름 : bot

현상태 전이상태 전이조건
존재하지 않음 생성 시간
생성 사망 hp가 0이 됐을 때
생성 소멸 목표지점에 이동했을 때
사망 소멸 사망 후 일정 시간이 지날 때

2) 오브젝트 이름 : gun

현상태 전이상태 전이조건
발사 가능 상태 발사 불가능 상태 현재탄약이 0일 때
재장전 상태 발사 가능 상태 재장전을 하여 현재 탄약이 1이상 일때
발사 가능 상태 재장전 상태 재장전 키를 누를 때
발사 불가능 상태 재장전 상태 발사키 혹은 재장전 키를 누를 때

3) 오브젝트 이름 : bullet

현상태 전이상태 전이조건
발사 타격 타격에 성공 했을 때
발사 소멸 일정시간이 지났을 때
타격 소멸 타격에 성공 했을 때


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

속성 영문명칭 설명
gun 선택된 총기를 나타낸다.
점수 score 현재 점수를 나타낸다.
탄약 ammo 탄약을 나타낸다.
명중률 accuracy 명중률을 나타낸다.
약점명중률 critical_hit 머리 명중률을 나타낸다.


6. 게임의 규칙

1) 핵심 규칙

2) 보조 규칙


7. 게임에서 사용할 공식

1) 재장전

2) 점수

3) 명중률(%)

4) 약점 명중률(%)

[ 요구사항 ]


[ 요구사항 1년 ]

  1. 시작화면, 게임화면, 총기선택화면, 통계화면 총4개의 화면이 있다.
  2. 시작화면에는 도전시작, 설정 ,통계 3가지 버튼이 있다.
  3. 설정을 클릭하면 사운드조절 창이 등장한다.
  4. 통계를 클릭하면 무기별 통계화면으로 이동한다.
  5. 점수보기 화면에서는 무기별 탭이 존재하며 무기별로 통계를 보여준다.
  6. 도전시작을 누르면 총기선택 화면으로 전환된다.
  7. 총기선택화면에는 3가지의 총기버튼이 존재하며 총기를 클릭하면 게임화면으로 전환된다.
  8. 마우스의 움직임으로 카메라 전환이 된다.
  9. 총기는 각각 고유의 반동과 능력치를 가진다.
  10. 게임화면에는 상단에 남은시간, 현재점수, 명중률 하단에 현재탄약, 남은탄약 가운데에 크로스헤어가 표시된다.
  11. 탄약의 총합, 총기의 최대탄창과 현재탄창 등을 정립한다.
  12. 시작 후 3개의 지점에서 적들이 생성된다.
  13. 일반, 이동속도강화, 체력강화 타입의 적이 있다.
  14. 조작은 마우스 좌클릭으로 발사, WASD로 이동하며 R키로 재장전한다.
  15. 남은시간이 0이거나 남은 탄약과 현재 탄약의 합이 0일경우 게임이 종료된다.
  16. 게임이 종료되면 통계화면으로 전환된다.
  17. 통계화면에는 점수 및 명중률, 치명타 명중률, 부위별 명중률이 표기되며 시작화면버튼이 있다.
  18. 점수는 일반적은 100점 강화된적은 200점을 주며 치명타(머리)를 맞췄을 경우 2배 증가한다.
  19. 다양한 효과음과 BGM이 들어간다.
  20. 마우스 감도를 조절할수 있다.
  21. 재장전관련 사항을 만든다.

[ 요구사항 6주차 ]

  1. 마우스의 움직임으로 카메라 전환을 한다.
  2. W,A,S,D를 통해 이동한다.
  3. 마우스 좌클릭으로 발사하며, R키로 재장전한다.
  4. 화면 중앙에 고정된 크로스헤어를 제작한다.
  5. 고유의 반동과 능력치를 가진 총기1을 제작한다.
  6. 적은 3개의 지점에서 생성된다.
  7. 이동 및 총기,적에게 효과음을 넣는다
  8. 일반, 이동속도강화, 체력강화 타입의 적이 있다.
  9. 적을 죽이면 점수가 올라간다.
  10. 재장전관련 사항을 만든다.
  11. 탄약의 총합이 0이거나 남은시간이 0이되면 게임을 종료한다.

[ 시간별 흐름도 ]

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

[스토리보드]



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

[개발작업(1주)]

작업명 : 플레이어 캐릭터설정

해당 요구사항 :

작업 내용 :

  1. 캐릭터 모델과 무기모델을 추가하여 플레이어 캐릭터를 생성한다. (100%)
  2. 마우스로 캐릭터 시점을 이동시키며 W,A,S,D로 이동한다. (100%)
  3. 플레이어가 마우스 좌클릭을 눌렀을 경우 총기 발사모션을 설정한다. (100%)
  4. 총기 발사모션에 총기 사운드와 총구 이펙트를 추가한다. (100%)
  5. 쉬프트를 눌러 느리게 걷기를 추가한다.(달리기 대체) (100%)

[개발작업(2주)]

작업명 : 플레이어 캐릭터설정

해당 요구사항 :

작업 내용 :

  1. 플레이어 캐릭터의 사운드를 추가한다. (100%)
  2. 플레이어가 마우스 좌클릭을 눌렀을 경우 총기 발사모션을 설정한다. (100%)
  3. 총기 발사모션에 총기 사운드와 총구 이펙트를 추가한다. (100%)
  4. 총기의 탄창 및 탄약을 구현한다. (70%)
  5. 재장전을 구현한다. (100%)

[개발작업(3주)]

작업명 : 재장전 마무리 및 총기1, 크로스헤어 제작

해당 요구사항 :

작업 내용 :

  1. 탄창과 탄약을 구분하여 재장전 공식에 따라 탄약이 차감 되며 탄창에 재장전 된다. (90%)
  2. 화면 중엥에 고정되에 목표물을 조준할 수 있는 크로스헤어(조준점)을 제작한다. (100%)
  3. 총기의 대미지를 구현한다. (0%)
  4. 총기의 반동을 구현한다.(패턴 or 랜덤) (10%)
  5. 총기를 발사시 착탄 구현 (100%) 추가

[개발작업(4주)]

작업명 : 총기 마무리 및 적 생성

해당 요구사항 :

작업 내용 :

  1. 총기 대미지를 구현한다.
  2. 총기 반동을 구현한다.
  3. 적의 스폰지점 및 도착지점 3개를 생성한다.
  4. 일반 타입의 적을 제작한다.
  5. 적의 이동을 제작한다.

[개발작업(5주)]

작업명 : 적 타입 구분 및 점수,시간 추가

해당 요구사항 :

작업 내용 :

  1. 각 타입의 적 구분
  2. 적을 처치하면 점수를 획득
  3. 도전시간 설정
  4. 탄약의 총합이 0이거나 남은시간이 0이 되면 게임종료

[개발작업(6주)]

작업명 : 작업 마무리

해당 요구사항 :

작업 내용 :

  1. 적의 타입별 구분.
  2. 총기1의 반동구현.
  3. 적 효과음 추가.
  4. 맵 디자인.
  5. 메인메뉴 제작.