TIL — 2026-05-15 보스 패턴 설계
오늘 한 것
팀원 피드백을 받아 보스 4종의 전투 컨셉을 확정했습니다. 레퍼런스 영상을 Gemini로 분석하고 그 결과를 패턴 설계에 반영했으며, 완성된 패턴 명세로 보스별 레퍼런스 이미지를 생성했습니다. 초기 생성에서 발견한 할루시네이션을 프롬프트 수정으로 해결해 정상적인 이미지를 얻었습니다.
① 여왕을 마법사로 구상하고 있었습니다
패턴 명세를 처음 작성할 때 여왕의 패턴 6개가 전부 마법 위주였습니다. 기획 담당자의 의도는 처음부터 발키리아(검 주력 + 마법 견제)였는데, 팀원들에게 공유하기 전까지 그 방향을 제대로 인식하지 못했습니다. 패턴 설계 전에 보스의 전투 컨셉을 팀 전체와 먼저 맞춰야 한다는 걸 배웠습니다.
② 레퍼런스 용도를 명확히 전달하지 않았다
현진님이 공유한 영상을 여왕 전용 레퍼런스로 삼았는데, 처음 분석 요청 시 "어느 보스의 레퍼런스인지"를 명시하지 않았습니다. 영상 제목이 존재했기에 문제없다 생각했지만 결국 할루시네이션이 발생한 분석이 진행됐습니다. 레퍼런스를 공유할 때는 "이 영상은 [보스명] 패턴 참고용"이라고 용도를 명시하는 습관이 필요할 것 같습니다.
③ 이전 결정과 충돌하는 제안을 제때 걸러냈다
침식 구체 투척 3개(페이즈별 별도 패턴)를 하나로 통합하자는 제안이 나왔습니다. 이전에 "데이터 드리븐 원칙상 페이즈별 별도 DT 행"으로 이미 결정된 내용이었기 때문에 바로 걸러낼 수 있었습니다. 확정된 결정 사항을 명세 문서에 기록해두면 이후 충돌하는 제안이 들어왔을 때 빠르게 판단할 수 있습니다.
④ AI 이미지 생성에서 할루시네이션이 발생했습니다
바람 수호자 이미지에서 패턴 번호 7·8이 "87"로 합쳐지고, 물 수호자 이미지에서 프롬프트에 없는 페이즈 라벨(5·N·K)과 MVP·보류 배지가 임의로 생성됐다. 원인은 두 가지였습니다.
패턴 목록을 슬래시 구분 한 줄 형식으로 작성했더니 AI가 번호와 텍스트를 오파싱함.
마스터 프롬프트의 배지 규칙을 AI가 보스 지정 없이 적용하려 시도함.
카드 번호 N 명시적 블록 형식으로 변경하고 보스별 전용 배지·라벨 규칙과 날조 금지 문구를 추가해 재생성하니 정상적으로 출력됐습니다. AI는 명시하지 않은 정보는 그럴듯하게 채워 넣습니다. 허용 목록을 명시하고 그 외 생성을 금지하는 방식이 효과적입니다.
보원의 피드백: "불은 화상 데미지 때문에 처절한 난타전 느낌 나면 좋겠다." 이 한 마디가 패턴 방향을 바꿨습니다.
원거리 구체 투척 2개를 제거하고 근접 압박 패턴(화염 연타, 화염 폭발)으로 교체했습니다. 화염 폭발은 페이즈 2에서 폭발 직후 가속 상태로 전환해 연타와 즉시 연계되도록 설계했습니다.

보원님의 피드백: "바람은 날렵한 기동전."
투명화(숨바꼭질) 패턴이 이미 있었는데 기동전 컨셉을 강화하기 위해 공중 급강하와 연속 돌풍 베기를 추가했습니다. 연속 돌풍 베기는 전조가 없어서 투명화 해제 직후 연계하면 플레이어가 대응할 틈이 없습니다. 바람 감옥은 독창적이지만 구현 비용이 커서 MVP 이후 중에서도 후반으로 미뤘습니다.

팀원 A: "돌진이 없으니 구체 던지는 게 잘 어울린다." 화염·바람이 근접 압박형이라 물이 원거리 억제형을 담당하면 세 가디언의 전투 경험이 각각 다른 결을 가지게 된다. 얼음 기둥·우박으로 행동을 억제하고 구체 투척으로 지속 압박하는 구성으로 확정했다.

현진님이 공유해주신 엘든링 - 말레니아 의 전투 영상을 레퍼런스로 삼았습니다.
중간에 할루시네이션으로 잘못 분석한 P의 거짓 - 버려진 파수꾼 분석도 사용했습니다.

| 레퍼런스 | 배운 것 | 적용한 패턴 |
|---|---|---|
| 말레니아 물총새 춤 | 전조 없음 + 2단 콤보 분기 | 왕검 연참 |
| 말레니아 스핀 잡기 | 사전 동작 혼동으로 파훼 판단 어렵게 설계 | 침식 포박 |
| 버려진 파수꾼 | 거리 기반 패턴 전환 (원거리→마법, 근거리→검) | 여왕 전체 AI 구조 |
소울라이크 보스 설계의 핵심은 전조와 파훼의 관계에 있다는 걸 배웠습니다. 침식 포박이 회전 베기와 사전 동작을 의도적으로 유사하게 만든 것처럼, 플레이어가 0.5초 안에 서로 다른 결정을 내려야 하는 상황이 긴장감을 만들어야 합니다.
일반 몬스터 StateTree 구현 시작
Skeleton Code 검수 및 작업 착수
필요 시 팀원들에게 완성된 패턴 명세 최종 공유