1️⃣ 개인작업
스킬 기반 작업 2
스킬을 사용할 기반을 마련했고 캐릭터가 스킬을 사용하도록 연결했다.
캐릭터들이 일반 공격과 함께 조건에 따라 스킬을 사용했다.
그러면서 몇 가지 어색한 점과 한 가지 심각한 문제를 발견했다.
어색한 점
- 캐릭터의 애니메이션과 공격 타이밍이 일치하지 않아 어색함.
- 캐릭터들이 각각 공격을 할 뿐 밋밋함.
- 애니메이션 트랜지션이 지나치게 길어서 어색함.
- 지금 스킬을 그때 그때 인스턴스하고 있는데 이걸 오브젝트 풀링으로 돌려야한다.
심각한 점
어색한 점들은 하나씩 고쳐나가면 되는 캐릭터 마나 수급 문제는 다른 방식의 해결책이 필요했다.
최초 기획에서 캐릭터들은 일반 공격(평타)를 치면 자신의 스펙에 맞게 마나를 회복하도록 생각했다.
하지만 실제로 적용해보니 우연찮게 공격에 안 맞는 경우도 발생했다.
원거리 클래스의 캐릭터들은 적과 떨어진 곳에서 평타를 날린다.
원거리 클래스 캐릭터들의 공격은 대체로 직선형 투사체를 직접 날리고 있다.
그리고 워리어 클래스의 경우 일반 공격을 한 명에게 데미지를 주기보다는
공격 범위를 좀 넓게 잡아 여럿에게 데미지를 가하는 방법으로 제작했다.
이유는 워리어 클래스 자체가 전방에서 공세를 막아내는 일종의 탱커를 겸하도록 생각했기 때문에
단일 하나의 적에게 데미지를 주기보다는 가까이 있는 적들 다수에게 데미지를 주는 것이 맞겠다고 생각했다.
그리고 이로 인한 결과는 워리어 클래스의 경우에 마나 수급이 2~3배 많아졌다.
일반 공격 방식 변경
원인 정리
- 캐릭터가 스킬을 발동하면 스킬 오브젝트가 생성된다.
이때 스킬 오브젝트는 트리거 형태로 구현하여 주변에 닿은 적에게 부여된 스킬 효과를 적용한다.
- 적에게 닿은 순간, 분리해뒀던 스킬 액션들이 순차적으로 발동한다.
- 일반 공격 중 직선형 투사체는 안 맞을 수 있기에 액션 자체가 발동하지 않는다.
- 일반 공격 중 근접형 공격은 적 다수에게 공격이 닿기 때문에 스킬 액션이 여러번 발동한다.
해결법
- 일반 공격에 한해서는 공격을 투사체나 히트박스 형태의 공격이 아니라 일종의 즉발형 공격으로 구현하기로 했다.
- 레인저로 예를 들면 활시위를 당기면 투사체가 날아가는 듯한 느낌만 주도록 트레일 정도만 남기고, 바로 적에게 공격이 닿는 형식이다.
- 워리어의 경우에도 마찬가지로 일반 공격을 범위형으로 두지 말고 단일 타겟에게 공격을 가하도록 변경한다.
해결법의 이유
- 기획을 바꾸기 보다는 단일 타겟 스킬을 구현함으로써 추후 기획적으로나 새로운 스킬 개발을 위한 확장성을 확보할 수 있다고 생각했다.
- 문제가 심각한 것과 별개로 간단한 해결책을 사용한 이유는 아직 개발 도중이며
기반 개발 중에 발생하는 시행착오이기 때문에 사실 그렇게 또 심각하게 느껴지진 않았다.
- 약간 아차 싶은 심정이긴 했으나, 언제든 예상못한 문제는 나타날 거고 이걸 고쳐나가는 것이 일상이라 그렇다.
어색한 점 수정
- 애니메이션 트랜지션 시간을 짧게 잡아 수정했다.
- 스킬 오브젝트에 대해 오브젝트 풀링을 적용하여 최적화를 진행했다.