AI/Unity

AntiGravity를 이용한 SRPG만들기 1일차

blacknabis 2026. 1. 2. 22:39

[Unity/DevLog] AI '안티그래비티'와 함께 0부터 만드는 정통 SRPG - 1일차

 

"혼자 개발하지만 혼자가 아닙니다."
본 프로젝트는 구글 딥마인드의 최신 Agentic AI, '안티그래비티(Antigravity)'와의 페어 프로그래밍을 통해 진행하고 있습니다.


🤝 AI '안티그래비티'란?

단순히 코드를 묻고 답하는 챗봇(ChatBot)을 넘어, 프로젝트 파일에 직접 접근하여 코드를 작성하고 Git 커밋까지 수행하는 '에이전트(Agent)형 AI'입니다.

💡 작업 방식

  1. 목표 전달: "이동 후에 공격 범위를 표시하고, 턴 종료 버튼을 만들어줘."와 같은 추상적 명령 전달.
  2. 자동 수행: AI가 GridManager, BattleManager, Unit 스크립트를 분석 후 직접 코드 수정 및 파일 생성.
  3. 피드백 & 디버깅: 버그 발생 시 로그를 분석하여 원인(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
반응형