Unity와 AI로만 게임 만들기! 바이브 코딩의 핵심 가이드 (3)

◀ Unity와 AI로만 게임 만들기! 바이브 코딩의 핵심 가이드 (2) 바로가기

Unity 게임 개발 프롬프트 실전

실제 게임 개발에서 자주 사용하는 프롬프트 예시들입니다.


🎮 캐릭터 컨트롤러

2D 플랫포머

2D 플랫포머 게임용 플레이어 컨트롤러를 만들어줘.

기능:
- 좌우 이동 (A, D 또는 화살표)
- 점프 (Space)
- 2단 점프 가능
- 땅에 있을 때만 점프 가능 (Ground Check)

물리 설정:
- 이동 속도: 8
- 점프력: 12
- 중력 스케일: 3 (빠른 낙하감)

Rigidbody2D와 BoxCollider2D 사용해줘.

3D 탑다운

3D 탑다운 시점 게임용 플레이어 컨트롤러를 만들어줘.

기능:
- WASD로 이동
- 마우스 방향으로 캐릭터 회전
- Shift로 달리기 (이동속도 1.5배)

설정:
- 걷기 속도: 5
- 달리기 속도: 8
- 회전 속도: 부드럽게 (Lerp 사용)

CharacterController 컴포넌트 사용해줘.


⚔️ 전투 시스템

근접 공격

근접 공격 시스템을 만들어줘.

플레이어:
- 마우스 좌클릭으로 공격
- 공격 범위: 캐릭터 앞 1.5 유닛 반경
- 공격 쿨타임: 0.5초
- 공격 애니메이션 트리거: "Attack"

적(Enemy):
- 공격 범위 안에 있고 "Enemy" 태그가 붙은 오브젝트
- 피격 시 10 데미지
- 피격 시 빨간색으로 0.1초 깜빡임

Physics.OverlapSphere로 범위 탐지해줘.

원거리 공격 (발사체)

발사체 기반 원거리 공격 시스템을 만들어줘.

발사:
- 마우스 좌클릭으로 발사
- 발사 위치: 캐릭터 앞 (FirePoint)
- 발사 방향: 캐릭터가 바라보는 방향
- 연사 간격: 0.2초

발사체(Bullet):
- 속도: 20
- 수명: 3초 후 자동 파괴
- 적과 충돌 시 파괴 + 데미지 10

오브젝트 풀링은 일단 사용하지 말고 간단하게 만들어줘.


🎒 인벤토리 & 아이템

간단한 아이템 시스템

간단한 아이템 수집 시스템을 만들어줘.

아이템:
- ScriptableObject로 아이템 데이터 정의
  - 이름 (string)
  - 아이콘 (Sprite)
  - 설명 (string)
  - 타입 (enum: 소비, 장비, 재료)

수집:
- 플레이어가 아이템 오브젝트와 충돌하면 수집
- 수집 시 아이템 오브젝트 파괴
- 콘솔에 "[아이템이름]을 획득했습니다" 출력

인벤토리 로직은 나중에 추가할 거야. 일단 수집만 구현해줘.


🖥️ UI 시스템

체력바

플레이어 체력바 UI를 만들어줘.

구성:
- 화면 좌측 상단에 위치
- 배경 (어두운 색) + 체력바 (빨간색) 구조
- 체력바는 Image (Filled, Horizontal)

기능:
- 최대 체력: 100
- 현재 체력에 따라 Fill Amount 변경
- 체력 변경 시 부드럽게 애니메이션 (Lerp)

HealthBar 스크립트와 PlayerHealth 스크립트 분리해서 만들어줘.
PlayerHealth에서 이벤트로 HealthBar에 알려주는 구조로.

대화 시스템

간단한 대화 UI 시스템을 만들어줘.

UI 구성:
- 화면 하단에 대화창 패널
- NPC 이름 텍스트
- 대화 내용 텍스트
- "다음" 버튼

기능:
- 대화 내용을 배열로 관리
- 다음 버튼 클릭 시 다음 대사로
- 타이핑 효과 (한 글자씩 출력)
- 타이핑 중 클릭하면 전체 텍스트 즉시 표시
- 마지막 대사 후 대화창 닫기

TextMeshPro 사용해줘.


🎵 사운드 & 이펙트

사운드 매니저

싱글톤 패턴의 사운드 매니저를 만들어줘.

기능:
- BGM 재생/정지/변경
- 효과음(SFX) 재생
- BGM 볼륨 조절
- SFX 볼륨 조절
- BGM 페이드 인/아웃

사용 예시:
SoundManager.Instance.PlayBGM(bgmClip);
SoundManager.Instance.PlaySFX(jumpSound);
SoundManager.Instance.SetBGMVolume(0.5f);

AudioSource 두 개 사용 (BGM용, SFX용)
SFX는 PlayOneShot 사용해줘.


🔄 게임 매니저 & 씬 전환

게임 매니저

게임 전체를 관리하는 GameManager를 만들어줘.

상태 관리:
- enum GameState: Menu, Playing, Paused, GameOver
- 현재 상태를 저장하고 변경할 수 있게

기능:
- StartGame(): Playing 상태로 전환
- PauseGame(): 일시정지 (Time.timeScale = 0)
- ResumeGame(): 재개 (Time.timeScale = 1)
- GameOver(): GameOver 상태로 전환
- RestartGame(): 현재 씬 다시 로드

싱글톤 패턴 적용하고, DontDestroyOnLoad 설정해줘.

자주 하는 실수와 해결법

❌ 실수 1: 너무 모호한 요청

❌ "적 AI 만들어줘"

문제: Claude가 어떤 유형의 적인지, 어떤 행동을 해야 하는지 모릅니다.

✅ "순찰하다가 플레이어를 발견하면 추적하는 적 AI를 만들어줘.
- 정해진 웨이포인트를 순서대로 이동
- 시야 범위 10 유닛 내에 플레이어 감지
- 감지하면 플레이어에게 이동
- 플레이어가 범위를 벗어나면 다시 순찰"


❌ 실수 2: 한 번에 너무 많은 요청

❌ "RPG 전투 시스템 전체를 만들어줘. 스킬, 아이템, 버프,
    상태이상, 턴제 전투, UI까지 전부"

문제: 너무 복잡해서 중간에 문제가 생기면 수정하기 어렵습니다.

✅ 단계별로 나누기:
1회차: "기본 턴제 전투 흐름을 만들어줘 (플레이어 턴 → 적 턴 → 반복)"
2회차: "기본 공격 기능을 추가해줘"
3회차: "스킬 시스템의 기본 구조를 만들어줘"
4회차: "상태이상 시스템을 추가해줘"
...


❌ 실수 3: 에러 무시하기

Unity 콘솔에 빨간 에러가 떠도 무시하고 다음 기능을 요청하면 문제가 커집니다.

✅ 에러가 나면 바로 Claude에게 알려주세요:

"이런 에러가 발생했어:
NullReferenceException: Object reference not set to an instance of an object
PlayerController.Update () (at Assets/Scripts/PlayerController.cs:25)

이 에러 수정해줘"

Claude는 에러 메시지를 보고 문제를 정확히 파악할 수 있습니다.


❌ 실수 4: 기존 코드 무시하기

새 기능을 요청할 때 기존에 만든 코드를 언급하지 않으면, Claude가 중복되거나 호환되지 않는 코드를 만들 수 있습니다.

✅ "기존 PlayerController 스크립트에 대시 기능을 추가해줘.
현재 이동은 Rigidbody2D.velocity로 구현되어 있어."


❌ 실수 5: 작동 확인 안 하기

Claude가 코드를 만들면 바로 Unity에서 테스트해보세요. 작은 문제를 빨리 발견하고 수정하는 게 좋습니다.

✅ 권장 작업 흐름:

1. Claude에게 기능 요청
2. 코드가 생성되면 Unity에서 Play
3. 문제가 있으면 바로 Claude에게 수정 요청
4. 문제가 없으면 다음 기능으로

📂 부록: 함께 읽으면 좋은 레시피 & 용어

▶ 클로드 코드(Claude Code) CLI 설치부터 첫 사용까지 — 5분 세팅 가이드

▶ [게임 기획] 서브 퀘스트 30개를 2주 안에? AI로 시나리오 뼈대 10분 만에 잡기

▶ [게임 QA] "기획서 5건, TC 마감 일주일... 엑셀 앞에서 멘붕 온 QA 테스터의 비장의 무기"


11/29/2025
9