인간은 칼질하고, AI는 대칭 복사한다 — 3D 던전 맵 제작에서 발견한 인간-AI 분업 패턴
들어가며: 맵 에디터 앞에서의 깨달음
3D 던전 크롤러 게임(myDGC)을 만들고 있습니다. 96,000줄이 넘는 코드베이스를 혼자서 — 정확히는, Claude와 둘이서 — 키워가고 있죠. 그 과정에서 자연스럽게 터득한 인간-AI 분업 패턴이 있는데, 가장 극적으로 드러난 순간이 바로 맵 제작이었습니다.
높이 0, 1, 2 세 단계로 구성된 전투 맵의 서쪽(W) 절반을 손으로 직접 깎고, 동쪽(E) 절반은 Claude에게 "대칭 복사해줘"라고 던진 겁니다. 단순한 작업 같죠? 그런데 여기서 예상치 못한 삽질이 시작됩니다.
문제 1: "레벨 0만 복사했잖아"
W쪽을 정성스럽게 수정한 뒤, Claude에게 E쪽 대칭 복사를 요청했습니다. 결과물을 확인하니 — 평지(레벨 0)만 복사되어 있더군요. 레벨 1, 2의 언덕과 고지대는 통째로 빠져 있었습니다.
이건 AI와 협업할 때 자주 마주치는 함정입니다. "복사해줘"라는 지시가 인간에게는 "전부 다"를 의미하지만, AI는 가장 명시적인 레이어만 처리하는 경향이 있다는 것. 지적하니 바로 레벨 1, 2도 완료했지만, 이 경험은 이후 협업 방식을 바꾸는 계기가 됩니다.
본론: 이 프로젝트에서 발견한 분업 공식
맵 대칭 복사 사건은 빙산의 일각이었습니다. 실제로 이 프로젝트 전반에 걸쳐 **"인간이 방향을 잡고, AI가 반복 작업을 실행한다"**는 패턴이 반복되고 있었거든요.
패턴 A: 인간이 문제를 발견하고, AI가 원인을 추적한다
예를 들어, 유닛이 이동 명령을 받았는데 제자리에서 허공을 공격하다 죽는 버그가 있었습니다. 저는 "이동이 안 돼"라고만 말했고, Claude는 원인 체인을 역추적했습니다.
문제: 수동 이동 명령을 내려도 유닛이 제자리에서 허공을 공격하다 죽음
원인 체인:
issueMoveCommand→ 커맨드만 큐잉하고 유닛 상태는 COMBAT 그대로UnitAI(0.3초마다) → 적이 사정거리 내면enterCombat()→ COMBAT 유지CombatSystem(0.1초마다) → 동일하게enterCombat()→ COMBAT 유지MovementSystem.update→if (unit.state === COMBAT) return→ 이동 안 함- 결과: 커맨드는 있지만 이동은 영원히 실행 안 됨
4개의 시스템이 서로 물고 물리는 상태 교착. 사람이 눈으로 디버깅하려면 한참 걸렸을 일을, AI가 코드를 읽고 흐름을 따라가서 정확히 짚어냈습니다.
패턴 B: 인간이 체감을 판단하고, AI가 선택지를 제시한다
전투에서 플레이어가 맞기만 하고 반격을 안 하는 것처럼 보이는 문제가 있었습니다. 기술적으로는 데미지 계산은 정상이었지만, 시각적으로 공격 모션이 씹히고 있었죠.
Claude가 세 가지 방안을 제시했습니다:
| 방안 | 설명 | 체감 |
|------|-------------------------------|-------------------|
| A | attack 애니메이션이 hit를 강제 중단 | 반격하는 느낌 |
| B | hit 모션에 쿨다운 추가 | 둘러싸여도 싸우는 느낌 |
| C | A+B 조합 | 가장 자연스러움 |
기술적 판단은 AI가, "어떤 느낌이 좋은가"라는 게임 디자인 판단은 인간이. 결국 C 방안을 선택했고, 피격 쿨다운 1.5초 + 공격 우선 로직이 들어갔습니다.
패턴 C: 인간이 예외를 짚고, AI가 보정한다
높이 차이에 따른 근접 공격 제한을 구현할 때도 마찬가지였습니다. Claude가 처음 제안한 건 "높이 차이 1 이상이면 근접 불가"였습니다.
근접 유닛(range ≤ 1): 높이 차이 1 이상이면 공격 불가 (같은 높이에서만 근접 공격 가능)
이렇게 할까요? 아니면 높이 차이 1까지는 근접 허용할까요?
저는 "높이 1 차이까지는 허용"이라고 답했습니다. 게임 플레이 관점에서 바로 옆 계단 한 칸 차이인데 공격이 안 되면 답답하니까요. 결과적으로:
// 최종 로직
// 0 → 1 (차이 1): 근접 공격 가능 ✓
// 1 → 2 (차이 1): 근접 공격 가능 ✓
// 0 → 2 (차이 2): 근접 공격 불가 ✗
이런 미세한 게임 디자인 결정은 코드만 봐서는 나올 수 없습니다. 플레이해본 사람의 직관이 필요하죠.
핵심 교훈: 인간-AI 맵 제작 분업의 원칙
이 프로젝트를 통해 정리한 분업 원칙입니다:
| 인간이 잘하는 것 | AI가 잘하는 것 |
|---|---|
| 시각적/체감적 판단 ("이게 자연스러운가") | 반복 작업 (대칭 복사, 패턴 적용) |
| 예외 케이스 발견 ("이건 좀 이상한데") | 원인 체인 역추적 (4개 시스템 교차 분석) |
| 게임 디자인 결정 (허용 범위 설정) | 선택지 구조화 (방안 A/B/C 정리) |
| 최종 승인 ("이 방향으로 가자") | 일관성 유지 (양쪽 시스템 동시 수정) |
그리고 가장 중요한 교훈:
AI에게 "복사해줘"라고 할 때는, 복사 범위를 명시하세요. 레벨 0만 복사하고 끝내는 불상사를 막으려면요.
마치며
96,000줄짜리 게임을 혼자 만들 수 있었던 건, 정확히는 혼자가 아니었기 때문입니다. 인간이 방향타를 잡고 AI가 노를 젓는 — 이 분업이 자리 잡으면, 개인 개발자도 상당히 복잡한 시스템을 구축할 수 있다는 걸 매일 체감하고 있습니다.
다음에는 이 전투 시스템 위에 스킬 트리를 올리려 합니다. 물론, 제가 스킬 밸런싱을 설계하고 Claude가 구현하는 — 이미 익숙해진 그 패턴으로요.