게임 개발/[D2D_Portfolio] DirectX2D 포트폴리오 작업일지
27. 몬스터 추가 및 AI 초기 작업 & 타일 충돌 처리 완료
헛둘이
2023. 4. 14. 19:35
몬스터 추가 및 AI 초기 작업
- 어떤 스테이지에서도 등장하는 기본 기사 몬스터를 추가했다.
- 아직 충돌과 같은 디테일한 부분은 추가하지 않았고, 몬스터가 움직이는 기본 뼈대를 잡는데 집중했다.
- Behavior Tree를 사용해서 AI를 만들었는데, 확실히 이전 포트폴리오에서 상태 패턴으로 구현했던 것보다 더 편하게 구현이 가능한 것 같다.
- 람다식으로 Task를 저장하거나, 클래스를 따로 만들어서 추가할 수도 있는데, 람다식의 경우, 해당 스코프에 있는 다른 객체들을 참조로 받아서 값을 변경할 수 있어서 이점이 있는 것 같다.
- 몬스터 이동, 애니메이션 출력 테스트 정도? 까지 완료했고 가장 중요한건 충돌인데, 충돌을 시작하기 전에 타일과의 충돌을 완전히 끝내야 탈이 없겠다는 생각이 들어서 타일 충돌 처리를 이어서 작업했다.
타일 충돌 처리
- 기존에 간단하게 작업해둔 부분은 플레이어 상태에서 바닥에 레이를 쏴서 타일이 있는지를 검출하고 그 결과에 대해서 중력을 제거하는 등의 작업이 되어 있었다면, 오늘 한 작업은 타일 아래에서 충돌했을때, 좌/우에서 충돌했을 때 처리이다.
- 생각해놨던 대로 레이를 여러 개 만들어서 간단히 처리했다.
- 그래도 이번 게임에서 한 가지 편한 점은 대각 타일이 없다는 것..
내일 할 일
- 몬스터 AI 틀 잡기
- 몬스터와 플레이어의 충돌 처리