KoreanFoodie's Study
언리얼 실습용 게임 WithTheLight 기획 본문
Level Design
컨셉 : 무한맵. 4 개중의 하나의 방향으로 이동함. 목표 지점이 정해져 있음. 목표지점에 도달하여, 성화를 봉송하면 게임이 클리어.
전투 : 새 공간에 도착하면, 문이 닫히면서 적이 랜덤으로 스폰된 적과 싸우게 됨. 목표 지점에 가까이 갈수록 적이 강력해짐. 목표 지점 방에서는 보스와 전투를 하게 만들 수도 있음.
전투 완료 : 적을 전부 무찌르면, 2개의 아이템 박스가 나옴. 이때 선택을 해야 함.
선택지는 다음과 같음.
- 무기변경
- 무기강화
- 무기 내구도 수리
- 캐릭터 HP 증가
- 캐릭터 이동속도 증가
- 캐릭터 공격속도 증가
다만 2 가지 전부 효과 카테고리는 같은데, 하나는 "100% 확률로 10% 성능 향상" 이며, 나머지 하나는 "10% 확률로 성능 50% 상승, 40%확률로 성능 20% 상승, 40% 확률로 성능 10% 하락, 10% 확률로 성능 10% 하락"임.
다만 무기 변경의 경우는 위의 선택지가 적용이 되지 않음. 무기를 변경할 때는 기존 무기를 사용할 것인지, 변경할 것인지만 알려줌. (같은 무기일 경우, 강화 능력치 그대로 계승)
내부 디자인은 어둡게 유지. 모양은 정사각형.
맵을 따라가며 전투는 반복해서 진행됨.
*시야 범위를 조정해서(안개 등으로) 내부에서 오브젝트들을 랜덤으로 생성하는 plain 을 무한으로 생성하는 식으로 만들어도 괜찮을 듯.
*방향을 4개로 한정짓지 말고, 8 방향으로 만들고, plain 생성 시 이동 방향에 해당하는 영역 3개씩을 생성하도록 만들어주면 될듯 -> 추후에 맵이 너무 커지면 리소스를 너무 많이 잡아 먹을 텐데? -> 일단 목표 지점을 짧게 잡기. 힘들면 Stage 를 나눠서 구성하거나, 포탈을 태워서 외딴 곳으로 이동시킨 후, 기존 plain 들을 삭제.
*목표 지점은 성화를 통해 파악할 수 있도록 하기. 성화를 허리춤에 장착하는데, (장착시 왼손에 소지) 목표지점과 플레이어의 방향이 일치할수록 성화가 타오르거나 색이 변하는 식으로 구현.
플레이어 디자인
플레이어 스테이트 :
- 체력 (0이 되면 게임 오버)
- 경험치 (레벨업 하면 체력 회복, HP 최대치 증가)
- 공격력 (레벨업 하면 기본 공격력이 올라감)
- 이동 속도
- 스태미나 시스템 (시간이 남으면)
플레이어 동작 :
- 걷기
- 뛰기 (Shift) : 속력 변경
- 점프 (Space) : 무기 장착 안 했을 시
- 구르기 (Space) : 무기 장착 했을 시
- 공격 (좌클릭) : 무기(한손/양손/마법) 에 따라 다른 공격 몽타주 호출. 콤보 공격 시 이동 불가 구현
방어 (우클릭) : 한손검일 때, 방패 습득하면 방패들기. -> 이건 애니메이션 있으면 추가하고 없으면 미구현- 무기 교체 (1, 2, 3, 4, 5) : 1은 권법, 2는 한손검, 3은 양손검, 4는 마법(파이어볼?), 5는 성화 장착 (한손검과 마법 장착시만 가능)
무기 디자인
무기별 속성 :
- 공격력
- 공격 범위
- 공격 속도
장착을 해제하고 장착을 다시 해주는 방식으로 구현플레이어의 경우, 몇번 무기를 들고 있는지 체크해서 같은 경우를 체크.
적 디자인
기본적으로 Player 를 상속받아서 구현. 다만 몬스터 무료 애셋이 있으면, 가져다 써도 괜찮다.
적 AI 구현은 기본적으로 탐지 -> 공격 -> 따라가기로 구현 (멀리 있으면 따라가지 않는 것으로)
적 AI 의 경우, 무기가 있으면 이동 속도와 공격 속도를 느리게 만들어 준다.
Infinity Blade : Advarsaries 활용
UI 디자인
게임 시작 시, 캐릭터를 선택할 수 있도록 만들기.선택하는 캐릭터 별로 능력치에 차등을 준다. (체력, 공격력, 이동속도, 공격 속도)M 을 누르면 게임을 일시정지하고 메뉴를 띄워줌.게임 메뉴는 게임 계속하기 / 타이틀 화면으로 구성
'Game Dev > Unreal C++ : Dev Log' 카테고리의 다른 글
[언리얼] Helper Function - 로그 (Log) 2 : 화면에 출력하기 (0) | 2022.04.19 |
---|---|
[언리얼] Helper Function - 로그 (Log) 1 : 콘솔에 출력하기 (0) | 2022.04.19 |
언리얼 UPROPERTY 자동 들여쓰기 조정 (0) | 2022.03.26 |
언리얼 모듈 빌드 에러 - 게임 모듈을 로드하지 못했습니다. 운영체제 오류가 있거나 모듈 설정이 제대로 되지 않았을 수 있습니다. (0) | 2022.03.22 |
언리얼 C++ 버그 / 에러 / 튕김 : Pure virtual function being called (0) | 2022.03.14 |