목표점
- 각 Actor가 우선하는 목표를 탐색하고 우선순위에 의거하여 공격엑터를 판별하고 공격하게 함.
- 여러 Collision을 검사할 필요 없이, 각 부대간 Collision처리를 이용하여, 타겟팅된 부대끼리만 전투처리를 진행
- 전투처리 이후에는 다른목표를 찾아 공격
실패
실패사유
우선하는 목표를 탐색하기 위해서는, 각 엑터의 우선순위권을 EQS에서 탐색하고 목표를 정해야 하는데 EQS에서는 탐색목표에 있는 우선순위 데이터를 가져올 수 없었다.
각 부대간 Collision처리를 진행하려고 하였다. 그러나 충돌된 Actor의 상대 Actor인지 아군Actor인지 판별해야 하는데 , 마찬가지로 우선순위 데이터를 가져올 수 없던것처럼 팀 데이터를 가져올 수 없기 때문에 실패
근본적인 해결책
C++을 통하여, Collision을 처리하기 위한 Enum데이터를 재정의하고,
Pawn이외에 Collsion범위목록을 제어할 수 있게된다면 가능하다.
블루프린트로는 Collision을 지정하려면 허가범위를 넘어가기 때문에 안된다.
대체된 현 해결방안
AI의 공격방식을 좀 더 단순화 시켰다.
행동순서를 다음과 같이 정의하였다.



AI Master
AI Master는 Suqad Manager들을 스폰하는 역할을 맡는다.
멀티를 고려하여 다중플레이어가 같은 전장에서 스폰되는 경우를 상정하였다.


Squad Manager
Squad Manager는 스폰 시 해당 팀(컴퓨터 또는 플레이어들)이 가진 모든 Pawn을 스폰 한 후
같은 종류끼리 Squad로 묶고 관리하는 역할을 한다.
Squad는 같은 종류의 Actor끼리 통제된 동작을 효율적으로 지시한다.
Position Manager에서 지정된 Position으로 진형을 갖추게 된다.

Pawn
Pawn은, 아주 단순한 명령만 이행한다.
- Vector3로 이동
- 적 객체가 사거리에 도달하면 공격
- 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 스킬 사용 판별여부를 위해, 공격가능한 스킬 데이터를 재정리중
'작업사항 정리 > 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 |