프로그래밍 공부
작성일
2024. 5. 28. 01:44
작성자
WDmil
728x90

 

 

목표점

  1. 각 Actor가 우선하는 목표를 탐색하고 우선순위에 의거하여 공격엑터를 판별하고 공격하게 함.
  2. 여러 Collision을 검사할 필요 없이, 각 부대간 Collision처리를 이용하여, 타겟팅된 부대끼리만 전투처리를 진행
  3. 전투처리 이후에는 다른목표를 찾아 공격

 

실패

실패사유

우선하는 목표를 탐색하기 위해서는, 각 엑터의 우선순위권을 EQS에서 탐색하고 목표를 정해야 하는데 EQS에서는 탐색목표에 있는 우선순위 데이터를 가져올 수 없었다.

 

각 부대간 Collision처리를 진행하려고 하였다. 그러나 충돌된 Actor의 상대 Actor인지 아군Actor인지 판별해야 하는데 , 마찬가지로 우선순위 데이터를 가져올 수 없던것처럼 팀 데이터를 가져올 수 없기 때문에 실패

 

근본적인 해결책

C++을 통하여, Collision을 처리하기 위한 Enum데이터를 재정의하고,

Pawn이외에 Collsion범위목록을 제어할 수 있게된다면 가능하다.

블루프린트로는 Collision을 지정하려면 허가범위를 넘어가기 때문에 안된다.

 

 

대체된 현 해결방안

AI의 공격방식을 좀 더 단순화 시켰다.

행동순서를 다음과 같이 정의하였다.

전체 개요
중간 개요 Position Manager는 진형의 형태를 담당한다.
세부 Order


AI Master

 

 



AI Master는 Suqad Manager들을 스폰하는 역할을 맡는다.

멀티를 고려하여 다중플레이어가 같은 전장에서 스폰되는 경우를 상정하였다.


Squad Manager

Squad Manager는 스폰 시 해당 팀(컴퓨터 또는 플레이어들)이 가진 모든 Pawn을 스폰 한 후

같은 종류끼리 Squad로 묶고 관리하는 역할을 한다.

 

Squad는 같은 종류의 Actor끼리 통제된 동작을 효율적으로 지시한다.

 

Position Manager에서 지정된 Position으로 진형을 갖추게 된다.

대강 만든 Order 리스트들

 


Pawn

Pawn은, 아주 단순한 명령만 이행한다.

 

  1. Vector3로 이동
  2. 적 객체가 사거리에 도달하면 공격
  3. Position을 재구축 하라는 Order시 재구축 Order수행

 

이 3가지만 수행한다.

 

복잡한 Vector위치연산과 타겟지정은 Squad Manager가 담당한다.

 

 

진행중인 작업

9. AI

9.2 AI공격행동 처리

 

 

진행 예정 작업

0. 디테일화 ( 베이스를 기반으로 스킬, 카드, 캐릭터, 적, 맵 추가작업 )

9. AI

9.2 최적의 공격 판별 알고리즘 제작(감지된 공격가능 적 에 따라 가장 효율적인 공격방식을 택함)

9.3 최적의 공격대상 판별 알고리즘 제작 (감지된 공격가능 적들 중 가장 효율적인 적을 공격함)

9.4 삼국지의 병사분대간 진형싸움처럼, 각각 효율적인 진형을 사용할 수 있게 판단알고리즘 제작

 

완료된 작업

1. 캐릭터 베이스 구현

 

2. 베이스 구현

2.1 무기 베이스 구현

2.2 카드 베이스 구현

2.2.1 카드의 이동 에 따른 캐릭터 이동 구현

2.2.2 카드 내부의 객체 UI 세부출력

2.3 스킬 베이스 구현

2.3.1 카드 업그레이드 스킬 구현

 

3. 플레이어 상호작용 구현

 

4. 스테이지 이동 구현

4.1 스테이지 간 저장데이터 Save&Load구현

4.2 플레이어 데이터 세이브 구현

 

5. 스테이지 셀렉트 구현

5.1 스테이지 이벤트 베이스 구현( 이벤트는 보스를 제외하면 무작위 여야한다.

[Battle Event, Boss Event, Bonefit Event] )

5.2 스테이지 무작위 배치 구현 ( 규칙성 무작위, 다음 노드는 전 노드배열과 사이즈가 같거나 더 커야한다. )

5.3 스테이지 무작위 간선연결 구현 (규칙성 무작위, Self 노드는 항상 연결된 노드가 존재해야 한다. [고립성 배제])

5.4 플레이어의 노드이동 & 이벤트 처리 구현

5.5 플레이어의 시작시 스테이지 페이드인 페이드아웃 구현

 

6 상점 구현

 

7. 전투 준비단계 구현

7.1 플레이어와 자원, 카드메니저의 연동구현작업

7.2 상점레벨 업그레이드, 손쉬운 카드정보추가

7.3 카드잠금, 카드 구매&판매연동

 

8.9 세이브 안정화

EXTRA. 세이브데이터 세이브데이터로드 연동, 데이터 연동시 필요사항 추가 기입.

 

9. AI

9.0 공통EQS사용 처리

9.1 스킬 사용 판별여부를 위해, 공격가능한 스킬 데이터를 재정리중

 

 

728x90

'작업사항 정리 > Unreal' 카테고리의 다른 글

Table_War 240524_21  (0) 2024.05.28
Table_War 240521_20  (0) 2024.05.28
Table_War 240510_18  (0) 2024.05.28
Table_War 240507_17  (0) 2024.05.28
Table_War 240503_16  (0) 2024.05.28