[Unity/DevLog] AI '안티그래비티'와 함께 0부터 만드는 정통 SRPG - 1일차
"혼자 개발하지만 혼자가 아닙니다."
본 프로젝트는 구글 딥마인드의 최신 Agentic AI, '안티그래비티(Antigravity)'와의 페어 프로그래밍을 통해 진행하고 있습니다.
🤝 AI '안티그래비티'란?
단순히 코드를 묻고 답하는 챗봇(ChatBot)을 넘어, 프로젝트 파일에 직접 접근하여 코드를 작성하고 Git 커밋까지 수행하는 '에이전트(Agent)형 AI'입니다.
💡 작업 방식
- 목표 전달: "이동 후에 공격 범위를 표시하고, 턴 종료 버튼을 만들어줘."와 같은 추상적 명령 전달.
- 자동 수행: AI가
GridManager,BattleManager,Unit스크립트를 분석 후 직접 코드 수정 및 파일 생성. - 피드백 & 디버깅: 버그 발생 시 로그를 분석하여 원인(Race Condition 등)을 즉시 파악하고 수정.
마치 노련한 시니어 개발자와 옆자리에 앉아 페어 프로그래밍을 하는 감각으로 개발을 진행했습니다.
📅 1일차 목표: 전투 시스템 기초 (Battle Core)
SRPG의 핵심인 '그리드 기반 이동'과 '턴제 전투 루프' 구현을 목표로 설정했습니다.
1. 그리드 맵 생성 (Grid System)
유닛들이 활동할 전장, 10x10 크기의 타일 맵을 자동 생성했습니다.
- 기술 포인트: 각 타일(
GridCell)은 좌표(x, y)와 점유 유닛 정보를 보유. - 알고리즘: BFS(너비 우선 탐색)를 활용해 이동력(Move Range)에 따른 경로 계산.
2. 턴제 관리자 (Battle Manager)
게임의 흐름을 제어하는 상태 머신(State Machine)을 구축했습니다.
- Player Phase: 유닛 선택 및 이동/공격 명령.
- Enemy Phase: 적 AI의 사고 및 행동 수행.
- End Phase: 승리/패배 조건 체크.
3. 유닛 AI 및 조작감 개선 (Polishing)
초기 버전의 "순간이동" 문제를 해결하여 시각적 완성도를 높였습니다.
- 행동 지연: 코루틴(Coroutine)을 사용해 '생각 중 - 이동 - 공격' 과정에 딜레이 부여.
- 부드러운 연출:
Vector3.Lerp를 적용하여 타일 간 미끄러지는 이동 구현. - 직관적 클릭: 레이캐스트(Raycast) 로직을 수정해 적 유닛 직접 클릭 시 공격 가능하도록 개선.
4. 데이터 기반 설계 (Data-Driven)
확장성을 고려하여 ScriptableObject를 도입했습니다.
- StageData: 맵 크기, 스폰 위치, 적 구성 등을 데이터화.
- 동적 생성: 게임 시작 시 해당 데이터를 로드하여 자동으로 전장을 구성.
🐛 버그 사냥 (Troubleshooting)
| 문제점 | 원인 | 해결책 |
|---|---|---|
| 유닛 이동 불가 (Null) | 초기화 순서 문제 (Race Condition) | 그리드 생성을 Awake()로 옮겨 우선순위 확보 |
| 화면 암전 (URP 이슈) | 라이트 부재 및 카메라 클리핑 설정 | 조명 추가 및 Far Clip Plane 값 조정 |
| 무한 이동 버그 | 이동 상태 체크 로직 부재 | hasMoved 플래그를 추가하여 1턴 1행동 제한 |
📝 1일차 마무리하며
오늘 작업을 통해 "전투 시작 → 이동/공격 → 적 턴 → 결과"로 이어지는 완전한 게임 루프를 완성했습니다.
혼자였다면 며칠은 걸렸을 구조 설계와 예외 처리를 AI와 협업하니 놀라운 속도로 진행되었습니다. 다음 단계로는 캐릭터 스탯 UI와 장비 시스템을 다뤄볼 예정입니다.
[개발 환경]
- Engine: Unity 2022.3 (URP)
- Language: C#
- Assisted by: Google Antigravity
반응형
'AI > Unity' 카테고리의 다른 글
| tripo3d에서 FBX 추출 후 유니티에 적용하기. (0) | 2026.01.18 |
|---|---|
| AntiGravity를 이용한 SRPG만들기 5일차 (5) | 2026.01.13 |
| AntiGravity를 이용한 SRPG만들기 4일차 (1) | 2026.01.11 |
| AntiGravity를 이용한 SRPG만들기 3일차 (0) | 2026.01.10 |
| AntiGravity를 이용한 SRPG만들기 2일차 (1) | 2026.01.04 |