4주간 진행될 디펜스 게임 AI 개발의 전체 계획과 각 단계별 기술적 핵심 사항을 정리한다. 이 문서는 단순한 일정이 아닌, 어떤 기능을 어떤 구조로 구현해야 하는지에 대한 기술 가이드 역할을 목표로 한다. 프로젝트는 버티컬 슬라이스, 알파, 베타의 3단계로 진행되며,

AI 개발 로드맵에 따라 구현에 돌입했다. 오늘은 C++로 몬스터의 기본 뼈대를 만들고, AI가 플레이어를 '보고' '생각'하게 만드는 핵심 로직을 완성하는 데 집중했다. AI 컨트롤러, 인지(Perception), 행동 트리(BT), 블랙보드(BB)라는 네 가지 개념

어제 만든 AI의 행동 트리를 대폭 업그레이드했다. 순찰, 추적, 공격뿐만 아니라 플레이어를 놓쳤을 때 마지막 위치를 수색하는 지능적인 행동을 C++ 커스텀 태스크로 구현했다. 이 과정에서 링커 오류, 비동기 처리, AI끼리 싸우는 문제 등 다양한 버그를 해결하며 AI
지난 시간까지 만든 AI는 플레이어를 보면 쫓아오고, 놓치면 수색하는 단순한 '반응형 AI'였다. 이번에는 여기서 한 단계 더 나아가, 서비스(Service)를 활용해 AI가 스스로 상황을 분석하고 더 똑똑한 판단을 내리는 '전술적 AI'를 구현하는 과정을 정리했다.
오늘은 AI의 전투 시스템을 완성하는 데 집중했다. 공격 애니메이션과 실제 데미지 판정을 연동하여 AI가 플레이어에게 실질적인 위협을 가하도록 만들었으며, 피격 및 죽음 시퀀스를 구현하여 전투의 한 사이클을 완성했다. 또한, 기존의 시각(Sight) 감각에만 의존하던
어제 구현한 AI의 전투 기능에 디테일을 더하는 작업을 진행했다. 공격 애니메이션이 재생되는 동안에도 플레이어를 향해 몸을 회전시켜, 보다 역동적이고 위협적인 느낌을 주도록 개선했다. 이 과정에서 회전 각도를 제한하여 AI가 팽이처럼 도는 것을 방지했고, C++의 클래
몬스터 피격 시 머리 위에 체력 바가 나타나는 간단한 기능을 구현하려다 C++과 블루프린트 통신의 온갖 함정에 빠지며 좌절했다. 하지만 이 과정을 통해 이름으로 함수를 찾는 불안정한 방식의 한계와, C++ 부모 클래스를 만들어 상속하는 방식이 왜 가장 확실하고 안정적인
오늘은 지난번 구현했던 보스 몬스터의 기능들을 바탕으로 전체적인 코드 구조를 다듬는 리팩토링 작업을 진행했다. 또한, 게임의 깊이를 더하기 위해 플레이어 캐릭터와 통일성 있는 방어력(Defense) 시스템을 몬스터에게 구현했다. 이 과정에서 virtual과 overri
작동하지 않던 AI 피해(Damage) 인지 시스템 정상화특정 몬스터에게만 작동하지 않던 근접 인지(Aggro Sphere) 버그 해결몬스터 피격 시 데미지 숫자 팝업 UI 기능 구현몬스터 사망 시 메시가 늘어나는 래그돌(Ragdoll) 버그 수정전체적인 AI 관련 C

길었던 슈터 프로젝트의 대장정이 드디어 막을 내렸다. 이 글은 단순한 결과 보고서를 넘어, 프로젝트를 진행하며 마주했던 수많은 버그와의 사투와 그 과정에서 얻은 교훈을 담은 개발 회고록이다.