기획서


 

몬스터 AI와 사운드 및 시야로 인한 잠입 기능

1. 다크 소울, 엘든링 과 같이 플레이어의 소리 또는 몬스터 시야에 들어가 발각 당하는 기능 구현

2. 몬스터의 기믹 구현 및 피격 부위 분리 

 

  • 이 개발을 하면서 꼭 구현해보고 싶은 것 :             
  • 개발을 마치고 추가적으로 구현할 것으로 우선순위를 뒤로 미룬 것 :                 

플레이어 -  ACharacter

  • 이동 : APlayerController  
    • 이동 (WASD 키) : 기본적인 XY축 이동
    • 점프 (C키) : Z축으로 점프
    • 회피 (Space 키) : 회피 기능 / 회피 프레임간 무적 판정
    • 카메라 (Mouse) : 마우스로 2D Vector 타입 구현
  • 스테이터스 - AHUD (화면에 스테이터스 출력)
    • HP : 체력 -  APlayerState (최대 체력, 현재 체력, 현재 스테미나)
    • 스테미나 : 구르기, 점프, 공격 과 같은 행동마다 소모
  • 피격 : APlayerController(피격시 경직 또는 넘어)
    • 약한 공격 : 데미지가 일정 밑의 공격은 단순 경직
    • 강한 공격 : 특수 공격은 넘어짐으로 인해 더 많은 데미지와 넘어지는 시간으로 리스크를 주어 플레이어에게 피하도록 유도
  • 사운드 Value APlayerState (은신 수치)
    • 플레이어는 모든 행동에 사운드를 내며 그 사운드는 동작마다 Value의 크기가 다르다 그 소리의 Value값에 비례해 유저의 은신 범위 구축
    • 심화 구현으로는 벽또는 장애물에 소리가 막히면 Value값 조정

 

몬스터

  • AI  : AIController
    • Patrol : 특정 구간 순찰(Patrol)
    • 어그로 
      • 일반 몬스터 : 플레이어의 사운드 및 시야에 노출시 추격/전투 돌입
      • 보스 몬스터 : 보스전은 한정적인 구역에서 플레이어와 전투를 하기에 어그로 개념이 없이 계속 추격/전투
    • 공격
      • 일반 몬스터 : 일반 공격 2~3개 구현하여 랜덤하게 출력
      • 보스 몬스터
        • 일반 공격 :  일반 몬스터와 동일하게 여러개의 공격중 랜덤으로 실행
        • 잡기 공격 : 공격을 통해 유저를 잡아 높은 피해을 입힘
        • 기믹 : 특정 체력 이하로 내려가면 무조건 적으로 진행하는 공격 동작
          • 로스트아크 처럼 특정 행동을 하게할지, 소울류처럼 강한 공격을 할지 미정
  • 피격 판정
    • 유저의 무기 (원거리 - 탄환 / 근거리 - 무기의 스태틱 매시? or 캡슐 컴포넌트?)가 닿을 시 피격
      • 피격 부위 분리
        • 머리 : 약점으로 피격시 더 많은 데미지와 그로기 수치 다운
        • 몸통 / 다리 / 팔 : 일반적인 데미지

레벨

  • 몬스터 스포너 : AGameModeBase
    • 일반 레벨 : 지정된 지점에 몬스터 스폰
    • 보스 레벨 : 보스 1기 소환

ACa

+ CDO를 통해 초기 설정값 및 밸런스

  • 최대 체력 (ex: 100.0f)
  • 회피 소모값 (ex: 30.0f)
  • 사운드 Value (ex: 80.0f)

이런식으로 값을 생성자에 등록해두면 밸런싱을 할때 이 곳에서 변경하면서 밸런싱이 가능하다.


+ Recent posts