공지사항

2017. 1. 22. 02:14

오랜만에 글을 남기네요 ㅎㅎ. 요즘은 그럭저럭 지내고 있답니다...


오늘 주제는 리더 중심의 파티 전투 AI이며 그 중에서는 타깃 선정을 하는 규칙을 풀어 볼까 합니다.



해당 작업을 하게된 이유부터 얘기하자면


제가 몸담고 있는 프로젝트의 타깃 선정하는 규칙이 그냥 흔히 사용하는 [가까운 적을 공격한다]여서 실제 파티 전투를 하게 되면 아쉬움이 많더라구요.


특히 탱 딜 힐에 준하는 클래스 체계가 갖추어 졌음에도 말이죠.


그래서 예전 MMO의 파티 사냥 때 처럼 탱커를 중심으로 하는 AI를 구축하면 좋겠다 싶어서 한번 만들어 봤어요.


헌데 왜 탱커 중심의 파티 전투  AI 가 아니라 리더 중심의 파티 전투 AI라고 했을까요?


그건 리딩하는 클래스가 항상 탱커가 아닐 수도 있기 때문이에요. 예를 든다면 파티 구성할 때 탱커 없이 딜러들로만 구성해서 전투에 참여 할 수도 있기 때문이죠. 


이에 탱커 중심이 아닌 리더 중심으로 규칙을 풀었답니다.


그럼 본격적으로 들어갈 볼까요.


◎ 리더 중심의 파티 전투 AI


▪ 리더


◦ 리더란?

: 파티 전투의 진행을 총괄하는 역할을 리더라 한다.


◦ 리더 선정 방법

: 캐릭터의 리더 우선 순위를 비교하여 우선 순위가 높은 캐릭터가 리더로 선정된다. (캐릭터 테이블에 리더 우선 순위를 나타내는 파라미터가 필요)

: 우선 순위가 동일할 경우 높은 Lv을 기준으로 한다.

: Lv도 동일할 경우 랜덤하게 선정한다.


◦ 리더가 사망할 경우

: 리더 선정 방법에 따라 살아 있는 캐릭터 들 중에서 리더를 선정한다.

: 사망한 리더가 부활할 경우 리더로 복귀한다.


▪ 타깃 선정 규칙

타깃 선정 규칙은 크게 리더인가 아닌가에 따라 아래와 같이 구분된다.


◦ 리더의 타깃 선정


◦ 리더가 아닌 파티원의 타깃 선정


▪ 선정된 타깃에 대한 공격 관련 규칙

선정된 타깃에 대해서는 아래와 같은 규칙에 따라 공격이 진행된다.




해당 규칙의 핵심은 파티원은 타깃을 선정할 타이밍에서 항상 리더가 타깃으로 잡고 있는 적을 일점사하여 공격한다는 것이고


리더는 타깃을 선정할 타이밍에 항상 자신을 포함한 파티원들의 HP 상태를 확인하여 위험한 파티원을 보호하는 것을 우선으로 한다는 것입니다.





▪ 타깃 선정 프로세스


- 끝 -


실질적으로 해당 규칙은 제가 참여하는 프로젝트에 적용되는지 못했구요 (제가 전투 담당이 아니라서...)


원래는 여기에 이동시 규칙들을 정립하여 추가하려고 했었는데 그냥 여기까지만 하기로 했어요. 뭐 다음에 또 맘이 동하면 할지도...



또한 추가적으로 2가지 이슈가 있는데



첫번재는 위의 프로세스가 파티원들 중에 1명은 유저가 선택하여 진행 할수도 있다 라는 전제가 붙어 있어요. (자동 모드와 수동 모드)


그래서 자동 모드일때보다는 1명을 유저가 선택하여 진행하는 수동모드가 전체적으로 파티플레이가 안정되게 될 수 있도록 AI의 디테일이 좀 떨어지긴 해요. 



그리고 두번재는 결론적으로 보면 위의 규칙은 그냥 기본 개념이고 


클래스에 따라 타깃 선정을 하는 규칙들을 각각 두는 것이 좀더 완성도를 높이는 일이 아닐까 생각했답니다.


뭐... 클래스에 따라 진행되는 규칙들 역시 나중에 맘이 동하면 작업해 볼지도 모르겠네요.