Skip to content

주인공 게임 시스템

rapa1130 edited this page Jan 10, 2023 · 3 revisions

주인공 이동 기능

이동?

캐릭터를 마우스나 키보드 조작을 통해 화면 상에서 움직이는 것을 말한다.

이동 방식

Image

위 그림과 같이 바라보는 화면 기준으로 8개의 방향으로 일정한 속도로 움직인다.

조작은 WASD 나 방향 키 그리고 마우스를 통해 할 수 있다.

WASD 와 방향 키를 통한 이동

Image

위 그림과 같이 W,S,A,D 에 대해 상,하,좌,우 순으로 이동할 수 있다.

마찬가지로 방향키 ↑,↓,←,→ 에 대해 상,하,좌,우 순으로 이동할 수 있다.

그리고 대각선 방향에 대해서도 이동할 수 있다.

상,하,좌,우에 해당하는 이동 키를 조합하여 대각선 방향으로 이동할 수 있다.

조합은 그림을 보면 알 수 있다.

마우스를 통한 이동

Image

마우스를 통한 이동은 클릭 후 클릭을 유지한 채로 마우스를 이동하여 캐릭터를 움직일 수 있다.

마우스를 통한 이동은 조작 특성 상 방향이 8개로 제한되지 않고, 이동 키 기반 이동 방식에 비해 자유로운 방향 설정이 가능하다.

Image

위 그림을 보면 알 수 있듯이 처음 클릭할 때 화면 상의 좌표가 저장되고, 그 후 마우스를 이동하면 마우스가 움직인 방향과 같은 방향으로 캐릭터가 또한 일정한 속도로 이동한다.

참고로 마우스 클릭은 우클릭, 좌클릭 모두 가능하다.

그 외 필요한 것들

카메라는 캐릭터에 고정되어 있어야 한다.

Image

위 그림과 같이 캐릭터 이동 잔상을 통해 역동감을 줄 수 있다.

주인공 체력 및 피격

휴먼 서바이벌의 주요 수치인 체력

이 '휴먼 서바이벌' 게임은 이름처럼 서바이벌, 즉 생존하는 것이 주 컨셉인 게임이다.

주인공은 체력이 있는데 해당 체력이 0까지 내려가면 죽어 게임 오버이다.

사방에서 몰아치는 적들에게 닿거나 적들의 공격에 닿으면 혹은 함정에 닿으면 체력이 내려간다.

주인공은 이 몰아치는 적들을 피하거나 공격해 없애서 생존해 나갈 수 있다.

주인공 체력

Image

주인공은 체력이라는 수치를 가지고 있다. 이 수치는 기본적으로 100 이다.

체력은 다양한 공격에 의해 감소 될 수 있다.

체력의 감소를 보통 데미지를 입는다고 표현한다.

데미지를 입어서 체력이 0으로 내려가면 죽게 된다. 죽으면 게임 오버 화면을 띄운다.

주인공 방어력

Image

주인공은 또한 방어력이란 수치를 가지고 있다. 방어력은 데미지를 경감 해주는 역할을 한다.

데미지를 입을 때 방어력의 수치만큼 덜 데미지를 입는다.

  • 예를 들어 방어력이 3이고 데미지가 8이라면 8 - 3 = 5 , 즉 8이 아닌 5만큼 만 데미지를 입는다.

만약 방어력이 데미지보다 크거나 같다면 난이도 급감을 방지하기 위해 받는 데미지를 1로 고정하도록 하자.

Image

피격의 종류

적과의 접촉에 의한 피격

Image

주인공은 적과 접촉하고 있으면 짧은 주기마다 지속적으로 데미지를 입는다.

데미지의 크기는 접촉한 적이 보유한 데미지 수치이다. 이 데미지는 적의 종류마다 다르다.

적의 공격에 의한 피격

  • 투사체로 인한 피격

일반적으로는 적은 접촉을 통한 공격 만을 하는데 반해 일부 적은 플레이어에게 원거리 투사체를 발사한다. 주인공이 이 투사체에 접촉한다면 투사체 공격력만큼 주인공이 데미지를 입는다.

+폭발하는 적에 의한 피격

Image

플레이어가 적의 폭발 범위 내로 접근하면 폭발하여 플레이어가 폭발 범위 안에 있다면 큰 데미지를 입힌 후 소멸한다.

함정에 의한 피격

Image

이 함정은 특정 스테이지에서 만 등장하는 요소이다. 긴 주기 마다 플레이어 주위에 무작위한 위치에 폭발 전 이펙트를 보여준 뒤 일정시간 후 플레이어가 미리 설정된 폭발 범위 안에 있다면 데미지를 받는다.

주인공 피격 시 연출

시각 효과는 크게 2가지 요소로 나뉜다.

  1. 주인공 색 변화
  2. 흩날리는 피 연출

주인공 색 변화

Image

위 그림과 같이 주인공은 맞으면 바로 빨간색 이미지로 바뀐다.

그러고 이제 시간이 지나면 원래 이미지 색으로 돌아와야 한다.

그 시점은 언제인가?

그걸 설명하기에 앞서 알아야 할 것이 있다.

주인공은 고유의 피격 주기가 있다.

닿아있는 동안 1프레임 마다 데미지가 다는 것이 아니라 정해진 고유의 주기가 있어 해당 주기마다 데미지를 입는다.

이 피격 시 캐릭터의 빨간색이 원래 색으로 돌아오는 시점은 이 피격 주기로 설명할 수 있다.

다음 피격 주기가 되면 원래 색으로 바로 돌아온다.

흩날리는 피 파티클

Image

위 이미지를 좀 자세히 보면 빨간색 점들이 보일 것이다.

그것이 흩 뿌려지는 피 연출이다.

매 피격 마다 파티클 단위 하나가 생성되는 것으로 보인다.

캐릭터 중심 점에서 생성되어 아래로 떨어진다.

떨어지며 개개의 빨간 점(?) 들은 서로 흩어진다.

주인공 체력 회복 기능

주인공의 체력 회복 수단

주인공은 체력이란 수치가 있다.

이 체력은 적으로부터 데미지를 입으면 감소하고 0이되면 게임 오버이다.

하지만 체력은 반대로 증가 시킬 수도 있다.

그 방법은 크게 2가지가 있다.

  1. 치킨(아이템)을 통한 체력 회복
  2. 자동 체력 재생을 통한 체력 회복

치킨(아이템)을 통한 체력 회복

치킨?

Image

치킨은 체력 회복 아이템이다.

그 전에 맵 오브젝트를 알아야한다.

게임 플레이 중엔 스테이지에 무작위로 오브젝트들이 배치된다.

이 오브젝트들은 체력이 있어 주인공 스킬 공격에 데미지를 입을 수 있다.

오브젝트의 체력이 0이 되면 오브젝트는 파괴되고 아이템을 드랍한다.

오브젝트 구현은 추후에 다룰테니 일단 치킨만 생각하자

맵 오브젝트 파괴시 확률적으로 치킨이 드랍 되기도 한다.

치킨을 수집하면 주인공은 기본적으로 30의 체력을 회복한다.

여기서 체력 회복량은 주인공의 회복 스탯에 따라 변화할 수 있다.

회복량 = 기본 회복량 ( 30 ) * ( 1 + 회복 스탯 )

Image

자동 체력 재생을 통한 체력 회복

체력은 시간이 지남에 따라 자동으로 재생되기도 한다.

매 초 마다 한 번 재생된다.

재생량은 주인공의 회복스탯과 같다.

체력 재생량 = 회복 스탯

드랍 기능

드랍?

이 휴먼 서바이벌 게임에선 주인공은 다양한 아이템들이 맵 상에 존재한다.

체력 회복 아이템, 경험치, 업그레이드 보물 상자 그리고 돈 등의 아이템이 맵 상에 존재할 수 있다.

어떤 아이템이 맵 상에 존재하게 될 때 이를 아이템이 드랍 되었다고 표현한다.

해당 To Do 과제

다양한 드랍 아이템에 대한 공통적인 처리를 구현하자

드랍 아이템의 종류

드랍 될 수 있는 아이템의 종류는 다양하다.

  • 경험치
  • 보물 상자 스킬이나 패시브 혹은 돈을 얻을 수 있다.
  • 체력 회복 아이템
  • 패시브 스킬
  • 효과 아이템 추가적인 공격이나 맵 전체 경험치 수집 그리고 적 전체 얼리기 등의 효과를 가진 아이템이다.

드랍 기능의 공통적인 특성

  1. 무언가(적 이나 맵 오브젝트)를 파괴하면 파괴된 위치에 아이템이 확률 적으로 생성된다.
  2. 캐릭터의 아이템 수집 범위가 있는데, 이 범위 안에 아이템이 들어오면 아이템은 수집 된다.
  3. 아이템 드랍 확률은 주인공의 행운 수치에 영향을 받는다.
  4. 아이템이 주인공의 중심 점에 도착하면 해당 아이템의 효과가 작동한다.

아이템 별 차이점

아이템 별로 아이템이 수집 되었을 때 어떤 일이 일어나는 지가 다르다.

추후에 각각 아이템에 대해 자세히 다룰 것이니 각각 아이템에 대한 구체적인 처리는 제쳐두자

수집 범위

Image

캐릭터에겐 고유의 아이템 수집 범위가 있다.

이는 원형이다.

이 수집 원의 크기는 캐릭터의 자석스탯의 영향을 받아 더 커질 수 있다.

최종 수집 원 반지름 = 기본 원 반지름 * ( 1 + 자석 스탯 / 100 )

원의 크기는

수집 경로 및 속도

수집 범위에 들어선 아이템은 약간 주인공으로부터 멀어진 뒤 다시 주인공을 향해 날아간다.

Image

Image

오류, 가속 방식이 아니라 초기 속도만 있음

Image

수집 되고 있는 드랍템은 주인공 방향으로 등가속 운동을 한다.

마지막으로 주인공 중심 점에 아이템이 다다르면 그때 아이템의 효과가 발휘된다.

Clone this wiki locally