
Godot 4.6 방치형 RPG 'Lucky7Quest' 개발기: AI 파트너와 함께한 A to Z 파이프라인 구축
최근 사이드 프로젝트로 개발을 시작한 Lucky7Quest는 Godot 4.6 엔진을 기반으로 한 슬롯머신 하이브리드 클릭커/방치형 RPG입니다. 플레이어는 몬스터와 전투를 벌이며, 3x3 멀티라인 슬롯머신을 돌려 공격, 회복, 쉴드, 코인 획득 등의 스킬 액션을 발동시키는 독특한 메커니즘을 가지고 있습니다.
이번 개발 과정의 가장 큰 특징은 단순한 코드 작성을 넘어 기획, UI 디자인, 그래픽 리소스 생성, 사운드 합성, VFX 연출까지 AI 에이전트(Antigravity)와 100% 페어 프로그래밍(혹은 오케스트레이션)을 통해 진행했다는 점입니다.
오늘은 설치 단계부터 완성도 높은 빌드를 뽑아내기까지의 작업 과정을 블로그에 기록해 봅니다.
1. 프로젝트 초기 설정 및 기획 (Setup & Planning)
가장 먼저 PRD(제품 요구사항 정의서)를 기반으로 게임의 전반적인 구조를 세우는 작업부터 시작했습니다. AI가 PRD를 분석하여 구체적인 Game Design & Architecture Document를 작성했고, 이를 바탕으로 GitHub 리포지토리 연동 및 CI/CD를 위한 Headless 테스트 환경(test_runner.gd) 메커니즘을 구축했습니다.
초기 뼈대가 튼튼했기에 이후 진행된 모든 에셋 통합이나 UI 변경 작업에서도 테스트 코드를 돌려보며 안정성을 확보할 수 있었습니다.
2. 모바일 최적화 및 UI 전면 리디자인 (Mobile UI Redesign)
게임을 모바일 환경에 맞게 서비스하기 위해, 기존의 가로형 레이아웃을 모바일 세로형(720x1280)으로 전면 개편했습니다.
- Godot의 강력한 UI 시스템인
MarginContainer,VBoxContainer,HBoxContainer등을 활용하여HUD,BattleZone,SlotMachine노드들을 일괄 재배치했습니다. - 레트로 RPG 게임의 감성을 살리기 위해 미니멀한 픽셀 아트 톤의
StyleBoxFlat기반 테마 컨테이너를 디자인했습니다. - 트러블 슈팅: 중간에 "Enemy ATK..." 와 같은 긴 텍스트가 삽입되면서 UI 컨테이너가 가로 해상도 한계(720px)를 뚫고 짤리는(Clipping) 버그가 발생했습니다. AI와 함께 텍스트들이 초상화 사이를 밀어내지 않도록 별도의 하단
FooterBox를 분리하고 자동 줄바꿈(Autowrap)을 적용해 깔끔하게 해결했습니다.
3. 픽셀 아트 에셋 생성 및 연동 (Pixel Art Assets)
UI가 완성된 후, 밋밋했던 임시 텍스처(ColorRect)들을 실제 그래픽스로 교체할 차례였습니다.
생성형 AI를 활용하여 총 13종의 픽셀 아트 에셋을 생성했습니다.
- 슬롯 심볼 (6종): 검(Sword), 지팡이(Wand), 방패(Shield), 하트(Heart), 코인(Coin), 숫자 7(Seven)
- 캐릭터 및 몬스터 (7종): 기사, 슬라임, 박쥐, 고블린 정찰병, 해골 병사, 불꽃 임프, 슬라임 킹
배경을 투명하게 날리는 후처리를 진행한 뒤, 에셋들을 알맞은 폴더에 배치하자 Godot UI들이 자동으로 이를 인식하며 게임다운 비주얼을 폭발적으로 뽐내기 시작했습니다.
4. 절차적 레트로 오디오 합성 (Procedural Audio)
인디 게임 개발의 큰 난관 중 하나인 사운드 역시 AI 파이프라인으로 해결했습니다.
단순히 저작권 없는 음원을 찾는 대신, 파이썬(Python) 스크립트를 작성하여 8-bit 레트로 감성의 .wav 사운드를 절차적(Procedural)으로 직접 합성했습니다.
- Sine, Square, Noise 파형을 수학적으로 섞어 6종의 고유한 효과음(SFX: 클릭, 타격, 동전, 스핀, 업그레이드 등)을 생성했습니다.
- 백그라운드 뮤직(BGM)용으로 C-Major 스케일의 아르페지오 칩튠(Chiptune) 사운드를 뽑아내어 적용했습니다.
AudioManager스크립트를 리팩토링하여 각 이벤트가 발생할 때마다 알맞은 레트로 사운드가 출력되도록 연동했습니다.
5. 시각적 쥬시함(Juiciness) 추가: VFX와 애니메이션
정적인 화면에 생동감(Game Feel)을 주기 위해 Godot의 Tween 시스템을 극한으로 활용한 시각적 효과(VFX)를 추가했습니다.
- 슬롯머신 3D 플립 애니메이션: 슬롯이 회전하고 멈출 때 단순히 이미지가 바뀌는 것이 아니라, Y축 스케일 기반의 뒤집기 파티클 효과를 줘서 타격감을 높였습니다.
- 플로팅 데미지 텍스트: 데미지나 힐이 발생하면 캐릭터 머리 위로 숫자가 통통 튀어오르며 서서히 사라지는 연출을 추가했습니다.
- 피격 플래시 & 타격 모션: 공격을 받으면 초상화가 붉은색으로 깜빡이고(Hit Flash), 뒤로 살짝 밀려났다가 돌아오는(Attack Bump) 역동적인 움직임을 주었습니다.
- 글로벌 화면 흔들림(Screen Shake): 크리티컬 히트가 터지거나 보스를 뚫고 다음 스테이지로 넘어갈 때, 화면 전체가 거칠게 흔들리도록
Camera2D를 제어했습니다.
회고 및 마무리
하루 만에 빈 프로젝트 세팅에서 시작하여, UI-그래픽-사운드-VFX까지 모두 갖춘 플레이어블 빌드를 만들어냈습니다. 가장 놀라운 점은 이 모든 작업이 개발자와 AI 간의 끊임없는 핑퐁(디자인 문서 설계 -> 에셋 생성 -> 코드 연동 -> 버그 수정)을 통해 막힘없이 이루어졌다는 점입니다.
소규모 인디 개발이나 1인 개발 환경에서, AI 오케스트레이션 파이프라인이 어떤 파급력을 가져올 수 있는지 확실하게 체감할 수 있었던 프로젝트입니다. 앞으로 남은 콘텐츠 확장 작업 역시 동일한 파이프라인을 거쳐 속도감 있게 전개해 나갈 예정입니다.
끝까지 읽어주셔서 감사합니다!
codex,antigravity,claude code 3개의 에이전트를 전부 사용하였으며 codex는 전체적은 플랜, 스크립트, 클루드는 플랜, 안티그래비티에서는 플랜, 스크립트, 이미지 및 사운드 생성 진행.
'AI > godot' 카테고리의 다른 글
| 고도엔진으로 AI 사용하여 게임만들기 (1) | 2026.03.08 |
|---|