leewh0929.github.io

프로젝트명: Virus Resistance(바이러스 저항성)

목차

컨셉

메인컨셉 :

서브 컨셉 1 :

서브 컨셉 2 :

서브 컨셉 3 :

서브 컨셉 4 :

서브 컨셉 5 :



관련 이미지 & 동영상



대표 이미지



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

대표이미지 기반 :

게임은 가상현실에서 플레이 가능하고 목표는 바이러스 봇들로 부터 핵심 코어를 지켜야한다.
바이러스를 제거하면 얻는 포인트로 무기를 업그레이드, 혹은 도구를 구매가능하다.
여러 턴에 나오는 강력해진 적을 쓰러트리며 점수를 얻어 최고점수를 찍는 게임이다.

컨셉 기반:

메인컨셉인 방어는 다가오는 바이러스 봇들을 파괴하여 메인 코어를 지켜 포인트와 점수를 얻으면 된다.
서브컨셉 중 로봇은 바이러스 봇들의 종류가 다양하게 나타난다. 현재로썬, 작고 빠른 드론형 봇, 보통사이즈의 근접형, 대형사이즈의 탱커형 봇,
원거리에서 공격하는 봇 등 여러 봇이 있다.
도구는 여러 무기와 바이러스를 없에는 도구들이 있다. EMP 탄의 경우 다가오는 적들을 일시적으로 멈추게 할 수 있다. 그리고 방패또한 설치할 수 있다.
스테이지는 난이도별 스테이지가 있다. 평지부터 여러 벽이 있는 곳 등등.
가상현실은 VR속에서 하는 게임이지만, 그 속에서도 가상현실로 들어가 싸우게 된다.
웨이브가 지날수록 더욱 강력해지는 적을 쓰러트리며, 최고 점수를 찍는 게임이 될것이다.



Virus Resistance 구성 요소

1. 메커니즘

[도전 과제]

  1. 코어를 지키며 최대한 방어하여 살아남아야 한다.
  2. 도구를 이용하여 봇들의 침입을 방해해야한다.

[재미 요소]

  1. 본인이 얼마나 잘 막을 수 있는가
  2. 여러 무기와 도구를 이용하여 막을수 있는가


2. 이야기

[만들게 된 배경]

여러가지 게임을 생각 하던 중, VR로 만들 수 있으면서 재미있게 할 수 있는 게임이 뭐가 있을까 생각하다.
플레이어가 직접 목표를 디펜스를 하는 게임은 어떤가 하고 떠오르게 되었다.


[참신함]

여러 도구를 활용하여 봇들을 처치할 수 있고, 봇들의 종류도 여러 기술을 쓰는 적들이 있다.
그리고 브알로 직접 디펜스를 하는 게임도 그리 많지 않을 것이다.


[카메라 관점]

본인이 바이러스 봇을 막는 백신의 시점이 된다. VR로 하는 게임이다보니 1인칭이 될것이다.


3. 미적요소

[디자인][컬러]

스테이지 : 여러곳이 막혀있어 플레이어한테 도움이 되는 맵이 있는 반면 평지로 시아가 탁 트여있지만
그만큼 적들이 올 곳도 많기에 어려운 난이도로 될 것이다.
캐릭터 : 적군은 로봇으로 만들어 이 바이러스 봇은 위협적이다라는걸 느낄 수 있도록 할 것이다.
컬러 : 컴퓨터 속이라는 설정과 더불어 VR에서 눈에 피로가 되지 않을선으로 색감을 잡을 것이다.

[음향]

각종 무기의 소리와 여러 음향효과를 추가할 예정이다. 그리고 BGM으로는 사이버틱 하거나 8bit로 들어갈 예정이다.

4. 기술

현재 가지고 있는 Meta Quest2를 사용해 Oculus Integration을 활용한 게임을 만들것이다.
그리고 게임 엔진툴은 Unity3D, 모델링툴은 Blender, 텍스쳐링툴은 Substance Painter를 이용할 예정이다.

게임 시스템 디자인

1. 게임 오브젝트 분해

연번 오브젝트 이름 오브젝트이미지
1
2 메인 코어
3 방어막
4
5 무기
6 도구
7 플레이어

2. 파라미터(속성)

1. 적

속성 영문명칭 설명 비고
형태 botType 적의 형태(1. 일반 2. 탱커 3. 드론)  
체력 Hp 적의 형태에 따른 체력  
공격력(플레이어) PlayerDamage 플레이어를 향한 공격력  
공격력(메인코어) CoreDamage 메인코어를 향한 공격력  
이동속도 Spd 적의 형태에 따른 이동속도  
프리팹 BotModelPrefab 적의 3D 모델 프리팹  
스폰 오프셋 SpawnOffset 소환될 때의 오프셋  
공격 범위 AtkRange 공격을 할 수 있는 범위  
포인트 enePoint 쓰러트릴 때 얻을 랜덤 포인트 값  

2. 메인코어

속성 영문명칭 설명 비고
체력 mainHp 메인코어의 체력  

3. 방어막

속성 영문명칭 설명 비고
체력 sheildHp 방패막의 체력  

4. 맵

속성 영문명칭 설명 비고
스폰포인트 rangeObject 적들의 소환 위치  
스폰제외포인트 notRangeObject 적들의 소환의 제외하는 위치  
일반 봇 최대 maxNormalEnemyCnt 소환할 수 있는 일반 봇의 최대값  
드론 봇 최대 maxDroneEnemyCnt 소환할 수 있는 드론 봇의 최대값  
탱크 봇 최대 maxTankEnemyCnt 소환할 수 있는 탱크 봇의 최대값  
일반 봇 개체 증가치 increaseNormalEnemyCnt 일반 봇이 라운드당 나오는 개체 수 할당  
일반 봇 웨이브 증가치 increaseNormalEnemyWave 일반 봇이 라운드당 나오는 웨이브 할당  
드론 봇 개체 증가치 increaseDroneEnemyCnt 드론 봇이 라운드당 나오는 개체 수 할당  
드론 봇 웨이브 증가치 increaseDroneEnemyWave 드론 봇이 라운드당 나오는 웨이브 할당  
탱크 봇 개체 증가치 increaseTankEnemyCnt 탱크 봇이 라운드당 나오는 개체 수 할당  
탱크 봇 웨이브 증가치 increaseTankEnemyWave 탱크 봇이 라운드당 나오는 웨이브 할당  
타이머 waitTimer 소환까지의 남은 시간  
딜레이 spawnDelay 소환할때의 딜레이 시간  
일반 봇 normalBot 일반 봇에 대한 데이터  
드론 봇 droneBot 드론 봇에 대한 데이터  
탱크 봇 tankBot 탱크 봇에 대한 데이터  

5. 무기

속성 영문명칭 설명 비고
종류 GunType 무기의 종류 (1. 근접형 2. 권총형 3. 소총형 4. 미니건)  
공격력 Damage 무기의 형태에 따른 공격력  
총알 갯수 MaxBullet 무기의 형태에 따른 최대 총알 갯수  
속도 Spd 총알의 속도  
딜레이 Time 총이 나갈 때, 사이에 있는 딜레이  
기본 탄 갯수 BasicTan 기본적으로 지급되는 탄창 갯수  
가격 Price 상점에서 가격  
개체 Prefab 게임 오브젝트  
아이콘 Icon 아이콘  

6. 도구

속성 영문명칭 설명 비고
종류 SupType 도구의 종류  
이름 SupName 도구의 이름  
사용 시간 UseTimee 도구에 있는 공격력  
스턴 시간 StunTime 플레이어 본인이 가지고 있는 도구의 수량  
데미지 Damage 맞았을때 데미지  
힐 용량 HealHp HP 회복  
투척용 IsThrow 던지는 도구인가  
가격 Price 상점에서 가격  
개체 Prefab 게임 오브젝트  
아이콘 Icon 아이콘  

3. 행동

1. 적

행동 설명
이동 설정된 속도에 따라 메인코어를 향해 이동
공격 메인코어로 가는 중에 플레이어가 공격 혹은 메인코어가 공격범위 내에 있을 때 공격
사망 체력이 0이 되어 사망
기절 도구로 인해 이상상태가 되었을 때 기절
체력 감소 플레이어가 공격을 하였을 때 받는 데미지

2. 메인코어

행동 설명
체력 감소 적들로부터 받는 공격으로 인하여 얻는 데미지
파괴 체력이 0이 되어 파괴되고 게임이 종료

3. 방어막

행동 설명
전개 방어막이 설치되어 전개
체력 감소 적들로부터 받는 공격으로 인하여 얻는 데미지
파괴 체력이 0이 되어 파괴
해제 플레이어가 설치된 방어막을 해제

4. 맵

행동 설명
웨이브 추가 웨이브가 끝날 때마다 1씩 추가
적 스폰 웨이브가 시작될 때, 설정된 적 개수만큼 소환

5. 무기

행동 설명
발사 총알을 발사 (총알 개수가 부족하면 발사되지 않는다)
재장전 총탄을 재장전

6. 도구

행동 설명
사용 도구의 기술을 사용
도구 충전 도구를 얻을 때 추가

7. 플레이어

행동 설명
이동 설정된 이동속도에 따라 이동
체력 감소 적들로부터 받는 공격으로 인하여 얻는 데미지
도구 사용 보유하고 있는 도구를 사용
무기 사용 들고있는 무기를 사용

4.상태

1. 적

현상태 전이상태 전이조건
소환 대기 초반 적이 소환될 때
대기 이동 메인코어로 목표 설정될 때
대기 기절 소환되고 EMP도구를 맞을 때
대기 사망 소환되고 체력이 0이 되었을 때
이동 공격 이동 중 플레이어로부터 공격을 받거나 메인코어가 공격 범위 안에 들어올 때
이동 기절 이동 중 EMP 도구를 맞을 때
이동 사망 이동 중 체력이 0이 되었을 때
공격 기절 공격 중 EMP 도구를 맞을 때
공격 사망 공격 중 체력이 0이 되었을 때
기절 대기 EMP 도구의 지속사건이 끝났을 때
기절 사망 기절 중 체력이 0이 되었을 때

2. 메인코어, 방어막

현상태 전이상태 전이조건
기본 기본 기본적인 상태일 때
기본 데미지 공격을 받았을 때
데미지 파괴 공격을 받고 체력이 0이 되었을 때

3. 맵

현상태 전이상태 전이조건
시작 기본 초기 시작하고 플레이어 소환하고 웨이브1 시작
기본 휴식 적들이 전멸할 때
휴식 소환 휴식 시간이 끝날 때
소환 기본 해당 웨이브마다 설정된 적이 소환 다 되고 게임을 시작할 때
기본 종료 메인 코어가 파괴되어 게임을 종료할 때

4. 무기

현상태 전이상태 전이조건
대기 대기 가만히 있을 때
대기 발사 플레이어가 트리거를 눌러 발사를 시작할 때
발사 대기 플레이어가 트리거를 뗄 때
발사 재장전 필요 총기의 탄약이 없을 때
대기 재장전 플레이어가 재장전을 할 때

5. 도구

현상태 전이상태 전이조건
대기 대기 가만히 있을 때
대기 사용 플레이어가 도구를 들고 사용을 하였을 때
사용 대기 플레이어가 도구의 사용을 완료하였을 때
대기 사용 불가 도구의 개수가 0일 때

6. 플레이어

현상태 전이상태 전이조건
대기 대기 가만히 있을 때
대기 이동 플레이어가 이동을 할 때
이동 대기 플레이어가 이동을 끝냈을 때

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

속성 영문명칭 설명 비고
체력 playerHp 플레이어의 체력  
속도 playereSpd 플레이어의 속도  
도구 목록 playerToolList 플레이어가 가지고 있는 도구의 목록  
무기 목록 playerWeaponList 플레이어가 가지고 있는 무기의 목록  

6. 게임의 규칙

다가오는 적들로부터 메인코어가 파괴되지 않도록 플레이어가 모든 도구와 무기를 써서 지키면 된다.

개발 요구사항 & 흐름도

요구사항

- 메인(그래픽)

  1. 화면은 시작화면, 게임화면, 점수화면 총 3가지가 있다.
  2. 시작화면에는 시작과 종료버튼이 있고 사운드를 조절할 수 있는 바가 있다.
  3. 시작화면에서 왼쪽에는 총 점수 순위가 있다.

- 메인(프로그래밍)

  1. 종료버튼을 누르면 게임이 종료된다.
  2. 사운드 바를 좌우로 움직이면 모든 음량을 조절할 수 있다.
  3. 시작하기를 누르면 게임화면으로 넘어가게된다.

- 플레이어(그래픽)

  1. 게임화면에서 왼쪽 팔에 플레이어의 체력 게이지, 메인코어 체력 게이지, 플레이어의 포인트 텍스트가 있다.
  2. 캐릭터는 헬멧을 쓴 사람으로 한다. - 사양문제 -

- 플레이어(프로그래밍)

  1. 왼손 조이스틱을 이용하여 이동 가능하다.
  2. 오른손 조이스틱을 이용하여 시야를 움직일 수 있다.
  3. 트리거를 이용하여 사용을 할 수 있다.(총기는 발사, 도구는 사용, 화면에선 선택)
  4. 그립버튼을 이용하여 물체를 잡을 수 있다.
  5. B버튼을 누르면 메뉴창이 나온다.(변경)

- 게임(그래픽)

  1. 메인코어 옆면엔 조작이 가능한 모니터가 있고, 모니터에는 상점이 있다.(변경)
  2. 맵은 평지와 미로형태의 맵이 있고 중앙에는 메인코어(빛나는 수정이 떠있는 모양)가 있다.(변경)
  3. 봇들은 일반봇, 탱커봇, 드론봇이 있다.

- 게임(프로그래밍)

  1. 게임화면에서 메인코어에 웨이브 시작까지 남은 시간 텍스트, 스톱워치 텍스트, 메인코어 체력바, 지금까지의 웨이브가 표시된다.
  2. 웨이브 대기 시간은 20초이다.
  3. 웨이브 시작까지 남은 시간이 0이 되면 웨이브는 1 증가하고 스톱워치는 시작된다.
  4. 웨이브가 시작되면 맵 가장자리에 지정된 위치에 랜덤적으로 봇들이 소환된다.
  5. 일반봇은 1턴마다 5마리씩 늘어난다.
  6. 드론봇은 3턴마다 3마리씩 생성된다.(3, 6, 9,…)
  7. 탱커봇은 5턴마다 1마리씩 생성된다.(5, 10, 15,…)
  8. 맵에 봇들이 더이상 없는 경우 스톱워치는 중단되고, 웨이브 시작시간까지 남은 시간이 흘러간다.
  9. 플레이어 체력이 0이하가 되면, 5초의 대기시간동안 눈앞은 흑백이 되고 아무것도 못한다.
  10. 메인코어 체력이 0이하가 되면 점수화면으로 넘어가 게임은 끝난다.

- 적(그래픽)

  1. 일반봇은 칼을 손에 들고있는 근첩형 로봇이다.
  2. 드론봇은 프로펠러가 1개 내장되었고, 소형 총이 탑재된 드론형태의 로봇이다.
  3. 탱커봇은 플레이어보다 2배크며 망치가 손에 장착되 있는 로봇이다.(변경)

- 적(프로그래밍)

  1. 봇들은 메인코어에 우선순위를 두어 이동한다.
  2. 봇들은 플레이어로부터 공격을 받을 시 우선순위를 변경한다.
  3. 봇들은 인식 범위 안에 있어야 공격을 시작한다.
  4. 일반봇은 근처에서 5의 데미지를 주며 100의 체력을 가지고 있다.
  5. 일반봇은 메인코어에 3의 데미지를 줄 수 있다
  6. 드론봇은 근처에서 2의 데미지를 주며 25의 체력을 가지고 있다.
  7. 드론봇은 메인코어에 1의 데미지를 줄 수 있다.
  8. 탱커봇은 중거리에서 7의 데미지를 주며 200의 체력을 가지고 있다.
  9. 탱커봇은 메인코어에 5의 데미지를 줄 수 있다.

- 점수(그래픽)

  1. 점수를 나타내는 텍스트랑 메인 메뉴로 돌아가는 버튼이 있다.

- 점수(프로그래밍)

  1. 게임이 끝나고 합산된 점수를 표시해준다.

- 상점(그래픽)

  1. 상점버튼을 누르면 무기와 도구에 대한 버튼들이 좌우구역으로 나눠져 있다.
  2. 각 버튼에는 해당 아이템에 대한 아이콘이 표시되 있다.
  3. 무기는 근접형, 권총형, 돌격소총형, 미니건이 있다.(변경)
  4. 도구는 EMP수류탄, 힐킷, 설치형 방패막, 지뢰가 있다.(변경)

- 상점(프로그래밍)

  1. 각 버튼을 누르면 해당 아이템을 구매할 수 있다.

- 무기(그래픽)

  1. 근첩형은 야구배트처럼 생겼다.
  2. 권총형은 미래형이다.
  3. 돌격소총형은 Vector형태로 미래형이다.
  4. 미니건형은 미니건형태의 레이저총이다.(삭제)

- 무기(프로그래밍)

  1. 근첩형은 한번 휘두르면 50의 데미지와 크리티컬로 총 75데미지가 들어간다.
  2. 권총형은 한발당 20의 데미지와 한탄창당 15발, 총 10탄창이 주어진다.
  3. 돌격소총형은 한발당 30데미지와 한 탄창당 30발, 총 5탄창이 주어진다.
  4. 미니건형은 한발당 40데미지와 한번에 100발, 총 200발을 쏠 수 있다.(삭제)
  5. 총기류는 총기 옆에 홀로그램 형식 텍스트로 남은 탄창이 적혀있다.

- 도구(그래픽)

  1. EMP 수류탄은 수류탄 모양에 안전핀, 트리거가 있다.(외형 변경)
  2. 힐킷은 주사기형태에 초록 액체가 담겨있다.
  3. 설치형 방패막은 조금 넓은 범위의 전자막모양이다.
  4. 지뢰는 네모난 형태의 C4같은 하고있다.(취소)

- 도구(프로그래밍)

  1. EMP 수류탄의 안전핀을 뽑고 트리거를 누르면 5초의 타이머가 시작된다.
  2. EMP 수류탄이 5초가 지난후 터지면 주변 로봇들은 다 비활성화(기절상태)가 된다.
  3. 힐킷을 들고 몸에 바늘쪽을 찌르고 트리거를 누르면 25의 체력이 회복된다.(삭제)
  4. 방패막은 플레이어의 총탄, 플레이어는 통과 가능하지만, 봇은 통과가 불가능하다.
  5. 방패막은 총 30의 체력이 지니고 있다.
  6. 방패막은 드론봇은 피해가지만, 일반봇과 탱커봇은 공격을 해 파괴한다.
  7. 지뢰는 바닥과 벽면에 설치가 가능하다.(취소)
  8. 지뢰를 벽에 설치하면 레이저가 보이며 그 범위에 닿으면 폭발한다.(취소)
  9. 지뢰는 100의 데미지를 준다.(취소)

컨트롤러 이벤트에 대한 흐름도

용어정리

개발작업 일정

1주차

작업명 : 초기 이동구현 및 메인화면 디자인

해당 요구사항 :

  1. 왼손 조이스틱을 이용하여 이동 가능하다.
  2. 오른손 조이스틱을 이용하여 시야를 움직일 수 있다.
  3. 트리거를 이용하여 “사용”을 할 수 있다.(총기는 발사, 도구는 사용. UI화면에선 선택)
  4. 그립버튼을 이용하여 물체를 잡을 수 있다.
  5. B버튼을 누르면 메뉴창이 나온다.
  6. 캐릭터는 헬멧을 쓴 사람으로 한다.
  7. 화면은 시작화면, 게임화면, 점수화면 총 3가지가 있다.
  8. 시작화면에는 시작과 종료버튼이 있고 사운드를 조절할 수 있는 바가 있다.
  9. 시작화면에서 왼쪽에는 총 점수 순위가 있다.
  10. 시작하기를 누르면 게임화면으로 넘어가게된다.
  11. 메인코어 옆면엔 조작이 가능한 모니터가 있고, 모니터에는 상점과 업그레이드 버튼이 있다.
  12. 맵은 평지와 미로형태의 맵이 있고 중앙에는 메인코어(빛나는 수정이 떠있는 모양)가 있다.

설명 :

초반에 VR내에서 이동이 가능하도록 만들고, 컨트롤러에 키 입력이 되도록 설정한다. 그 후에, 메인화면에서 메뉴들이 잘 작동하는지 확인을 하고, 게임 맵과 메인화면에 들어갈 오브젝트들을 제작한다.

2주차

작업명 : 플레이어 조종, 메인화면 마무리 및 게임화면 웨이브 구현

해당 요구사항 :

  1. 오른손 조이스틱을 이용하여 시야를 움직일 수 있다. (100%)
  2. 트리거를 이용하여 사용을 할 수 있다.(총기는 발사, 도구는 사용, 화면에선 선택) (100%)
  3. 그립버튼을 이용하여 물체를 잡을 수 있다. (100%)
  4. B버튼을 누르면 메뉴창이 나온다. (25%)
  5. 종료버튼을 누르면 게임이 종료된다. (100%)
  6. 시작하기를 누르면 게임화면으로 넘어가게된다. (100%)
  7. 게임화면에서 메인코어에 웨이브 시작까지 남은 시간 텍스트, 스톱워치 텍스트, 메인코어 체력바, 지금까지의 웨이브가 표시된다. (35%)
  8. 웨이브 대기 시간은 20초이다. (100%)
  9. 웨이브 시작까지 남은 시간이 0이 되면 웨이브는 1 증가하고 스톱워치는 시작된다. (100%)
  10. 웨이브가 시작되면 맵 가장자리에 지정된 위치에 랜덤적으로 봇들이 소환된다. (50%)
  11. 맵에 봇들이 더 이상 없는 경우 스톱워치는 중단되고, 웨이브 시작시간까지 남은 시간이 흘러간다. (75%)
  12. 메인코어 옆면엔 조작이 가능한 모니터가 있고, 모니터에는 상점과 업그레이드 버튼이 있다. (0%)

작업 내용 :

  1. 플레이어가 움직이는 방법을 선택 가능하게 만든다. (25%)
  2. 플레이어가 손에 컨트롤러를 이용하여 사물과 상호작용이 가능하게 만든다. (100%)
  3. 시작화면에서 게임시작과 종료가 가능하도록 만든다. (100%)
  4. 게임화면에서 플레이어가 생성되고 적이 0이 되면 웨이브가 종료되도록 만든다. (100%)

동영상 :
VR 오른쪽 눈 기준 영상

3주차

작업명 : 게임 디자인 틀 완성 및 적들의 구현

해당 요구사항 :

  1. 게임화면에서 메인코어에 웨이브 시작까지 남은 시간 텍스트, 스톱워치 텍스트, 메인코어 체력바, 지금까지의 웨이브가 표시된다.(100%)
  2. 웨이브가 시작되면 맵 가장자리에 지정된 위치에 랜덤적으로 봇들이 소환된다.(100%)
  3. 일반봇은 1턴마다 5마리씩 늘어난다.(100%)
  4. 봇들은 일반봇, 탱커봇, 드론봇이 있다.(85%)
  5. 봇들은 메인코어에 우선순위를 두어 이동한다.(100%)
  6. 봇들은 플레이어로부터 공격을 받을 시 우선순위를 변경한다.(25%)
  7. 봇들은 인식 범위 안에 있어야 공격을 시작한다.(25%)
  8. 일반봇은 근처에서 5의 데미지를 주며 100의 체력을 가지고 있다.(50%)
  9. 일반봇은 메인코어에 3의 데미지를 줄 수 있다(100%)
  10. 드론봇은 근처에서 2의 데미지를 주며 25의 체력을 가지고 있다.(50%)
  11. 드론봇은 메인코어에 1의 데미지를 줄 수 있다.(100%)
  12. 탱커봇은 중거리에서 7의 데미지를 주며 200의 체력을 가지고 있다.(50%)
  13. 탱커봇은 메인코어에 5의 데미지를 줄 수 있다.(100%)

작업 내용 :

  1. 게임씬에 있는 틀을 간단하게 완성한다.(100%)
  2. 봇들이 움직이게 한다.(100%)
  3. 봇들의 종류를 여러가지로 만든다.(100%)
  4. 봇들이 공격하게 만든다.(75%)

동영상 :
VR 오른쪽 눈 기준 영상

4주차

작업명 : 적들의 공격 및 총기구현

해당 요구사항 :

(프로그래밍)

  1. 근첩형은 한번 휘두르면 50의 데미지와 크리티컬로 총 75데미지가 들어간다.(25%)
  2. 권총형은 한발당 20의 데미지와 한탄창당 15발, 총 10탄창이 주어진다.(50%)
  3. 돌격소총형은 한발당 30데미지와 한 탄창당 30발, 총 5탄창이 주어진다.(50%)
  4. 미니건형은 한발당 40데미지와 한번에 100발, 총 200발을 쏠 수 있다.(50%)
  5. 총기류는 총기 옆에 홀로그램 형식 텍스트로 남은 탄창이 적혀있다.(0%)
  6. 봇들은 플레이어로부터 공격을 받을 시 우선순위를 변경한다.(50%)
  7. 봇들은 인식 범위 안에 있어야 공격을 시작한다.(100%)
  8. 일반봇은 근처에서 5의 데미지를 주며 100의 체력을 가지고 있다.(100%)
  9. 드론봇은 근처에서 2의 데미지를 주며 25의 체력을 가지고 있다.(100%)
  10. 탱커봇은 중거리에서 7의 데미지를 주며 200의 체력을 가지고 있다.(100%)

(그래픽)

  1. 근첩형은 야구배트처럼 생겼다.(0%)
  2. 권총형은 미래형이다.(0%)
  3. 돌격소총형은 Vector형태로 미래형이다.(0%)
  4. 미니건형은 미니건형태의 레이저총이다.(0%)
  5. 일반봇은 칼을 손에 들고있는 근첩형 로봇이다.(75%)
  6. 드론봇은 프로펠러가 1개 내장되었고, 소형 총이 탑재된 드론형태의 로봇이다.(75%)
  7. 탱커봇은 플레이어보다 2배크며 미니건같은 총구가 손에 장착되 있는 로봇이다.(75%)

작업 내용 :

  1. 적들의 공격 방식을 완료한다.(100%)
  2. 적의 그래픽을 만든다. (75%)
  3. 총기의 종류에 따라 다른 공격을 만든다. (75%)
  4. 총기의 디자인을 만든다. (0%)

동영상 :

5주차

작업명 : 무기, 도구 개발 및 상점

해당 요구사항 :

(프로그래밍)

  1. 근첩형은 한번 휘두르면 50의 데미지와 크리티컬로 총 75데미지가 들어간다.(0%)
  2. 권총형은 한발당 20의 데미지와 한탄창당 15발, 총 10탄창이 주어진다.(90%)
  3. 돌격소총형은 한발당 30데미지와 한 탄창당 30발, 총 5탄창이 주어진다.(90%)
  4. 미니건형은 한발당 40데미지와 한번에 100발, 총 200발을 쏠 수 있다.(80%)
  5. 총기류는 총기 옆에 홀로그램 형식 텍스트로 남은 탄창이 적혀있다.(100%)
  6. 각 버튼을 누르면 해당 아이템을 구매할 수 있다.(0%)
  7. B버튼을 누르면 메뉴창이 나온다.(75%)
  8. EMP 수류탄의 안전핀을 뽑고 트리거를 누르면 5초의 타이머가 시작된다.(0%)
  9. EMP 수류탄이 5초가 지난후 터지면 주변 로봇들은 다 비활성화(기절상태)가 된다.(0%)
  10. 힐킷을 들고 몸에 바늘쪽을 찌르고 트리거를 누르면 25의 체력이 회복된다.(0%)

(그래픽)

  1. 근첩형은 야구배트처럼 생겼다.(0%)
  2. 권총형은 미래형이다.(100%)
  3. 돌격소총형은 Vector형태로 미래형이다.(100%)
  4. 미니건형은 미니건형태의 레이저총이다.(85%)
  5. EMP 수류탄은 수류탄 모양에 안전핀, 트리거가 있다.(0%)
  6. 힐킷은 주사기형태에 초록 액체가 담겨있다.(0%)
  7. 메인코어 옆면엔 조작이 가능한 모니터가 있고, 모니터에는 상점과 업그레이드 버튼이 있다.(0%)

작업 내용 :

  1. 무기 디자인 및 프로그래밍 완료(75%)
  2. 상점 디자인(0%)
  3. 도구 초기 틀 제작(0%)

6주차

작업명 : 버그잡기

해당 요구사항 :

작업 내용 :

  1. VR에서 이동 방식에 오류수정(75%)
  2. 메인화면내에 있는 VR포인트가 게임화면에선 적용 안되는 오류 수정(0%)
  3. 다른 VR기기에 있는 이동 수정(0%)
  4. 프로젝트 첫 시도때 VR이 인식 안되는 오류 수정(0%)

7주차

작업명 : 목표 플랫폼 변경 및 SDK 변경

해당 요구사항 :

작업 내용 :

  1. 오류가 나는 SteamVR SDK에서 Oculus SDK로 변경(75%)

8주차

작업명 : 목표 플랫폼 변경 및 SDK 변경 마무리

해당 요구사항 :

작업 내용 :

  1. 오류가 나는 SteamVR SDK에서 Oculus SDK로 변경(100%)
  2. 오큘러스용 이동 스크립트 작성(100%)
  3. 오큘러스용 UI 레이저 관련 스크립트 작성(100%)

9주차

작업명 : 총기 설정

해당 요구사항 :

  1. 권총형은 한발당 20의 데미지와 한탄창당 15발, 총 10탄창이 주어진다.
  2. 돌격소총형은 한발당 30데미지와 한 탄창당 30발, 총 5탄창이 주어진다.
  3. 총기류는 총기 옆에 홀로그램 형식 텍스트로 남은 탄창이 적혀있다.

작업 내용 :

  1. SteamVR에 적용된 컨트롤러에서 Oculus 컨트롤러로 변경(100%)

10주차

작업명 : 점수 시스템 추가

해당 요구사항 :

  1. 점수를 나타내는 텍스트랑 메인 메뉴로 돌아가는 버튼이 있다.
  2. 게임이 끝나고 합산된 점수를 표시해준다.

작업 내용 :

  1. 적을 처치하면 점수를 차지(100%)
  2. 게임이 끝나면 합산된 점수를 표시(100%)
  3. 닉네임을 작성해 온라인으로 점수를 저장(100%)
  4. 온라인에 저장된 점수를 순위를 나눠 게임 내에 표시(100%)

11주차

작업명 : 도구 제작

해당 요구사항 :

  1. 봇들은 플레이어로부터 공격을 받을 시 우선순위를 변경한다.
  2. EMP 수류탄의 안전핀을 뽑고 트리거를 누르면 5초의 타이머가 시작된다.
  3. EMP 수류탄이 5초가 지난후 터지면 주변 로봇들은 다 비활성화(기절상태)가 된다.
  4. 힐킷을 들고 몸에 바늘쪽을 찌르고 트리거를 누르면 25의 체력이 회복된다.
  5. 방패막은 플레이어의 총탄, 플레이어는 통과 가능하지만, 봇은 통과가 불가능하다.
  6. 방패막은 총 30의 체력이 지니고 있다.
  7. 방패막은 드론봇은 피해가지만, 일반봇과 탱커봇은 공격을 해 파괴한다.

작업 내용 :

  1. 도구에 대한 기본틀 제작(100%)
  2. 각각 도구에 대한 기능 제작(100%)
  3. 방패에 대한 설정(75%)
  4. 플레이어가 공격하면 우선순위 변경(100%)

12주차

작업명 : 상정 구현

해당 요구사항 :

  1. 메인코어 옆면엔 조작이 가능한 모니터가 있고, 모니터에는 상점과 업그레이드 버튼이 있다.
  2. 상점버튼을 누르면 무기와 도구에 대한 버튼들이 좌우구역으로 나눠져 있다.
  3. 각 버튼에는 해당 아이템에 대한 아이콘이 표시되 있다.
  4. 무기는 근접형, 권총형, 돌격소총형, 미니건이 있다.
  5. 각 버튼을 누르면 해당 아이템을 구매할 수 있다.

작업 내용 :

  1. 상점 구현(50%)
  2. 기초 UI 제작(25%)

13주차

작업명 : 플레이어 UI 디자인, 체력 수정

해당 요구사항 :

  1. 게임화면에서 왼쪽 팔에 플레이어의 체력 게이지, 메인코어 체력 게이지, 플레이어의 포인트 텍스트가 있다.
  2. 플레이어 체력이 0이하가 되면, 5초의 대기시간동안 눈앞은 흑백이 되고 아무것도 못한다.

작업 내용 :

  1. 플레이어 팔쪽 UI제작(75%)
  2. 플레이어가 죽을 시 5초동안 정지였다가 그 후 리스폰(95%)

14주차

작업명 : 탱크 봇에 대한 공격 추가 및 봇 그래픽 작업

해당 요구사항 :

작업 내용 :

  1. 탱크봇에 대한 범위공격 추가
  2. 모든 봇들에 애니메이션 작업
  3. 모든 봇들에 텍스쳐링 작업

15주차

작업명 : 그래픽 작업 및 마무리

해당 요구사항 :

  1. 근첩형은 야구배트처럼 생겼다.
  2. 권총형은 미래형이다.
  3. 돌격소총형은 Vector형태로 미래형이다.
  4. EMP 수류탄은 수류탄 모양에 안전핀, 트리거가 있다.
  5. 힐킷은 주사기형태에 초록 액체가 담겨있다.
  6. 설치형 방패막은 조금 넓은 범위의 전자막모양이다.

작업 내용 :

  1. 도구에 대한 그래픽 작업
  2. 무기에 대한 그래픽 작업
  3. UI 아이콘 제작
  4. 전체 테스트 및 빌드