본문 바로가기
대학생활/과제

게임밸런스및시뮬레이션 7주차 - 전투밸런스, 중간과제

by se.jeon 2023. 10. 23.
728x90
반응형

전투 밸런스 방식은 크게 3가지를 사용한다.

그대로 방식

공격력만큼 체력을 그대로 감소시키는 방식

비교적 밸런스가 쉽고 명확하지만, 확장성이 낮다.

 

피탱(체력이 높은 탱커)은 있어도, 방탱(방어력이 높은 탱커)은 없다.

피탱에게 유리한 딜러, 방탱에게 유리한 딜러가 나뉘지 않는다.

 

미리 정해진 스테이지를 클리어하는 형식이나 캐릭터 수집형 게임에서는 적합하지 않다.

ex : 클래시로얄

빼기 방식

방어력만큼 차감하여 데미지를 감소시키는 방식

데미지가 직관적이고 쉽게 계산이 가능하다.

 

전략적으로 데미지를 계산해야 하는 SRPG에 비교적 잘 어울린다.

공격력, 방어력 강화가 무엇보다 중요하다. (스타에서 업그레이드 건물이 중요한 이유)

방어력이 공격력보다 높아지면 데미지가 -값으로 나올 수 있기 때문에 최소 데미지 설정이 필요하다.

 

ex : 파랜드택틱스, 스타크래프트

나누기 방식

방어력으로 방어도를 0~1로 설정하여 비율로 데미지를 감소시키는 방식

방어력 외로 방어도라는 개념을 사용한다.

 

AOS 장르처럼 성장형 PvP 대전 게임이나, RPG 장르처럼 대폭 성장하는 게임에 적합하다.

방어력을 높일수록 방어도의 성장치가 조금씩 떨어져 방어력이 공격력보다 높아져도 데미지가 무의미하게 낮아지지 않는다.

ex : WoW. LoL

 

각 밸런스의 핵심 포인트는 기준 (체력 & 데미지)을 통한 비율 (%) 밸런스

체력 계산식 = 캐릭터항목(x) + 아이템항목(y) + 재능(z) + BM($)

 

왜 HP를 기준으로 잡는가?

기준이 잡히면 모든 밸런스가 이해된다.

HP의 기준이 잡혀야, 의도된 밸런스를 이해할 수 있다.

 

적을 타격한 후 주변 적에게 반동되며 적을 타격하는 스킬인 '반동'의 경우

반동되며 적을 타격하는 화살의 공격력은 기본 공격력의 몇%가 되어야 적당할까?

DPS (Damage Per Second, 초당 피해량)

전투 시간 = 상대의 체력/ 공격력 DPS

판단 기준을 만들기 위해 DPS(Damage Per Second) 사용

 

DPS = 공격력 X 공격속도

- 1번 공격하기 위해 필요한 시간 : 값이 작을수록 공격속도가 빠르다.

- 1초동안 공격하는 횟수 : 값이 높을수록 공격속도가 빠르다.

- 개별 애니메이션 배속 조절 (액션 게임) : 배속이 빠르다고 공격속도가 반드시 빠르지는 않다.

 

DPS 계산에서 활용되는 방식은 1초동안 공격하는 횟수이다.

치명타 확률과 치명타 대미지 증가

치명타 (Critical Hit) : 대미지를 특정 배율로 증폭시켜 피해를 입히는 치멱적 타격

초기 치명타는 고정값으로 1.5배나 2배의 피해를 입히는 시스템이었다.

하지만 최근에는 '치명타 확률'과 '치명타 피해'라는 2개의 능력치로 치명타를 관리하는 것이 일반적이다.

 

치명확률 - 치명타가 발생할 확률, 100%가 최대값

치명피해 - 치명타 발생시 증가하는 데미지 비율, 100% 이상으로 증가 가능

치명피해 능력치는 치명확률에 종속된 능력치이다.

 

 

치명확률이 10%라는 것은 무슨 의미일까?

100번 때리면 10번은 치명타가 발생한다는 의미.

공격력이 50이고 치명타 피해가 2배라면 10번 때렸음에도 11번 때린 효과

=> '공격력에 치명확률 10%가 추가되었더니, 공격력이 10% 증가했다.'

 

공격력 X 공격속도 계산식에 치명확률이 반영되면 데미지 배율이 높아지도록 계산식을 만들어야 한다.

확률식의 경우 그대로 곱하지 않는다. 확률이 0%라면 앞의 내용또한 사라져버리기 때문.

계산식 = 공격력 X 공격속도 X (1 + 치명확률) ... 10%일 경우 1.1이 되는 형태.

 

치명 피해를 더하면

공격력 X 공격속도 X (1 + 치명확률 X 치명 피해)의 형태가 된다.

치명타 수식에 집중하기보다, 치명피해 처리 원리에 집중해야 한다.

 

 

치명확률을 높이는 것이 유리할까, 치명피해를 높이는 것이 유리할까?

안정적인 딜링이냐, 한 번에 큰 딜링이냐의 차이.

실습 진행

데미지 식 계산

 

상성 추가

 

데이터 유효성 검사

 

Match 함수와 VLookup 함수를 통해 시뮬레이터 형태로 제작

- Match 함수 : 찾고자 하는 값을 범위 내에서 찾아서 상대 위치값을 알려준다.

- Index 함수 : 범위 내에서 열과 행에 따라 값을 리턴한다.

- VLookup 함수 : 범위 내에서 찾고자 하는 값을 찾아 연계된 다른 값을 알려준다.

- HLookup 함수 : 범위 내에서 찾고자 하는 값을 찾아 연계된 다른 값을 알려준다.

 

 

레벨 보정은 활용도가 높은 수식 중 하나이다.

 

 

방어력은 계산하지 않은 실습.

데미지에 영향을 주는 항목은 다양하다. 명중, 어디에 적중했는지, 후측, 방어관통...

중간 과제 제출

728x90
반응형