개발공부

마비노기 재우's AI 다운로더 - 02 '행동 시퀸스 생성 HOOK'

카로루딘 2023. 11. 30. 01:23

행동 시퀸스를 분석하고 흉내를 내보자. 스타일링은 현재 고려사항이 아니며 기능만 우선 흉내내는 것이다. 몇 번의 테스트를 통해 마비노기의 펫 AI는 문법에 오류가 생기지만 않으면 띄워쓰기 등은 어느정도 자동으로 수정하는 것을 알아냈다. 하지만 혹시 모를 변수를 최대한 제거하기 위해선 이 띄워쓰기까지 완벽하게 흉내를 내는 것이 옳다고 생각한다.

 

 

 

오늘은 여기서 <sequence>를 흉내내볼 생각이다. 가장 복잡하지만 그래서 위의 컨디션 로직에도 곧장 응용할 수 있을 것이다.

 

내가 생각한 시퀸스 로직 조립법은 이러하다.

 

시퀸스 - cmd 명령어를 조립한다. 시퀸스 - cmd 명령어 뭉치를 조립한다. 위 아래로 <sequence>를 붙여 마무리한다.

 

 

이 순서대로 조립을 할 것인데, 그렇다면 맨 처음으로 cmd 명령어 조립을 해야한다. 

 

cmd 명령어에 최대 몇개의 value를 넣을 지 계산하고 조건에 맞는 타입을 만든다.

 

cmd 명령어들을 한 곳에 모아둔 덕에, 고정적으로 1개의 변수, 최대 3개의 유동적 변수를 사용하는 것을 확인했다. 그렇다면 고정적으로 쓰이는 1개의 변수를 switch문으로 돌려서 작동시키면 될 것 같다.

 

 

우선 맨 위의 3개 명령어를 작성한 다음

 

 

단순한 클립보드 복사를 시도해본다. 클립 보드 복사를 시도하는 이유는 파일 다운로드 경로를 지정하기 힘든 PC방 같은 곳에선, 인게임 붙여넣기를 해야하기 위함이다.

 

 

성공적으로 복사되었다! 그럼 이제 sequenceParticle 를 포장할 warper 훅을 만들자.

 

 

AI 코드를 살펴보면 시퀸스는 패턴 안에 들어가있는 것을 볼 수 있으며, 시퀸스 의외에는 존재하지 않으므로 해당 코드까지 한꺼번에 집어넣는다.

 

 

생각한 대로 작동한다! 그러면 다음은 컨디션에서 같은 작업을 할 것이다.