AI는 인디 게임 개발을 엄청나게 발전시켰습니다. 지난 2주 동안 저는 Unreal Engine 5와 여러 AI 도구를 함께 사용하여 혼자서 레일 슈팅 라이트 건 프로토타입을 만들어냈습니다. 브레인스토밍과 컨셉 아트부터 코드, SFX, 음악까지, AI가 많은 작업을 처리해 주어 저는 잡무에 얽매이지 않고 아이디어를 계속 발전시킬 수 있었습니다.
아래에는 빌드 과정의 짧은 영상이 있고, 전체 워크스루는 게시물 마지막에 있습니다.
결론적으로, AI는 모든 단계에 관여하여 일반적으로 여러 사람이 필요한 프로젝트를 한 사람이 빠르게 진행할 수 있도록 했습니다.
저는 미리 기본적인 질문을 던졌습니다. 핵심 루프는 무엇인가? 무엇이 신선한가? 어디에 출시할 것인가?
영감은 우스꽝스러운 "DOOM x Animal Crossing" 매시업 영상, Fall Guys / DOOM 크로스오버, 그리고 아케이드 Castlevania 레일 슈터에서 얻었습니다. 매시업은 레일 슈팅과 근접 전투를 혼합하는 아이디어를 떠올리게 했습니다. 플레이어는 미리 설정된 경로를 따라 이동하며, 라이트 건으로 멀리 있는 적을 쏘고, 너무 가까이 다가온 적은 레이저 검으로 베거나 막아냅니다. 이는 고전 레일 슈터에서 보기 드문 조합이며, 2주 안에 개발하기에 완벽했습니다.
컨셉이 정해진 후, 저는 개요를 Gemini에 넣어 하루 단위 일정을 받아냈습니다. 완벽했냐고요? 아닙니다. 하지만 확실한 기준점을 제공했고, 달력 정리 시간을 몇 시간이나 절약해 주었습니다. 저는 Tencent Docs에 실시간 할 일 목록을 유지하고 매일 밤 조정했습니다.
첫 번째 목표: 1주차 = 총과 검을 사용하는 루프를 증명하는 작은 MVP 레벨 구축.
Gemini의 첫 번째 패스는 며칠이 아닌 몇 시간 만에 완성되었고, 제가 처리해야 할 명확한 체크리스트를 제공했습니다.
모든 레벨은 이 흐름을 따릅니다. 가벼운 교전으로 시작하여 난이도가 올라가고, 보스전에서 절정에 달하여 긴장감 넘치는 마무리를 선사합니다.
코드 한 줄을 작성하기 전에 핵심 기능 목록을 ChatGPT에 넣어 타당성을 확인했습니다. AI는 모든 것을 하나의 짧은 레벨로 압축한 MVP 계획을 제시했습니다. 이는 레일 슈팅과 근접 전투의 조합이 실제로 재미있다는 것을 증명하기에 충분했습니다.
이는 "빠르게 반복한다"는 사고방식과 일치합니다. 가장 작은 부분을 먼저 완성한 다음 확장하는 것입니다. 저는 대략적인 규칙을 사용합니다. 하루 만에 메커니즘을 프로토타이핑할 수 있다면, 그 주변의 전체 게임은 약 1년이 걸릴 것입니다. 이틀 동안 프로토타이핑한다면 약 2년의 제작 기간이 필요합니다. 즉, 테스트 빌드를 며칠 안에 끝낼 수 있을 만큼 작게 만들어 전체 데모를 2주 안에 마무리하는 것입니다.
결론적으로, 1주차의 임무는 핵심 슈팅-슬래싱 루프를 확정하는 간소화된 레벨이었습니다.
게임의 음악적 분위기를 빠르게 확정하기 위해 저는 일반적인 순서를 뒤집어 음악을 먼저 만들고 시각적 요소를 나중에 만들었습니다. 저는 어떤 가사와 스타일 프롬프트를 입력하든 완전한 트랙을 작곡하고 노래하는 강력한 생성형 음악 도구인 Suno AI를 사용했습니다.
한 가지 멋진 트릭은 Suno가 가사 안에 대괄호로 묶인 "메타 태그"를 직접 넣을 수 있게 한다는 것입니다. 예를 들어 [Intro], [Male Voice], [Interlude], [Female Voice], [Guitar Solo]와 같은 태그입니다. 이 태그들은 곡의 구조, 보컬, 악기 구성, 장르(팝, 일렉트로닉 등)를 즉시 미세 조정할 수 있도록 안내합니다. 전체 태그 카탈로그는 Suno 웹사이트에 있습니다.
제가 사용한 방법은 다음과 같습니다.
프롬프트: 당신이 작곡가라고 상상해 보세요. Kendrick Lamar의 "Not Like Us" 스타일로 **"Cute Bomber"**라는 제목의 트랙을 만들어 주세요. 다음을 제공해 주세요:
- 전체 가사.
- Suno AI 키워드(장르, 분위기, 악기, 메타 태그 등)로 표현된 배경 트랙 세부 정보.
빠른 A/B 테스트를 거쳐 가장 인상적인 전자 음악 부분을 임시 테마로 사용했습니다. 트랙은 여전히 믹싱과 보완을 위한 사람의 손길이 필요하지만, Suno AI 덕분에 기록적인 시간 안에 음악적 방향을 잡을 수 있었습니다.
저는 공상과학의 화려함과 토요일 아침 만화의 귀여움을 섞어 표현하려고 합니다. 네온 불빛이 가득한 사이버 도시에서 꼬마 병사들이 지옥의 침공에 맞서 싸우는 모습을 상상해 보세요. 겉으로는 사랑스럽지만, 고옥탄가의 날카로움으로 가득 차 있습니다.
스타일의 기준점은 Fall Guys의 통통한 동물 모양과 밝은 팔레트에, 강렬하게 빛나는 사이버펑크 간판과 회로를 더하는 것입니다. 이 재료들을 섞으면 매력적이면서도 전기가 흐르는 듯한 사탕색 전장이 만들어집니다.
컨셉 아트는 DeepSeek과 Midjourney에 의존했습니다.
정적인 컨셉 아트는 시작에 불과했습니다. 저는 또한 개념 증명 오프닝 시네마틱을 만들었습니다. 전체 작업은 AI 도구들의 릴레이로 이루어졌습니다.
몇 번의 AI 핸드오프 후, 컨셉 트레일러는 완성되었고, 통상적인 노력의 일부만으로 게임의 시청각적 분위기를 확정했습니다.
혼자 개발함에도 불구하고 저는 집 NAS에 SVN 저장소를 만들었습니다. Docker 컨테이너 하나면 충분했습니다. Unreal Engine은 SVN과 잘 작동하고, 설정이 간편하며, 게임 프로젝트에 수반되는 큰 바이너리 파일들을 잘 처리합니다.
적절한 버전 관리가 갖춰져 있으므로, 저는 자유롭게 브랜치를 만들고, 체크포인트를 설정하고, 두려움 없이 실험할 수 있습니다. 롤백과 diff는 즉각적이며, UE5 에디터에 내장된 diff 지원 덕분에 Blueprint 환경에서 작업할 때 더욱 중요합니다. 견고한 소스 제어는 빠른 반복 작업을 가능하게 하는 안전망입니다.
이 게임이 레일 슈터이기 때문에 UE5의 Sequencer가 모든 것의 중심에 있습니다. 저는 Sequencer의 이벤트 트리거 시스템을 깊이 파고들어, 컷신뿐만 아니라 리듬 게임에서 필요한 프레임 단위의 정밀한 타이밍으로 순간적인 게임 플레이를 실행할 수 있음을 확인했습니다.
타임라인은 플레이어의 레일 경로와 모든 카메라 전환을 담당합니다. Level Sequence 에셋 내부의 키프레임은 위치와 회전을 고정하여, 뷰가 미리 설정된 경로를 따라 부드럽게 이동하고 각도 사이를 깔끔하게 전환합니다. 추가적인 코드가 필요 없습니다.
또한 Sequencer가 게임 플레이 비트(적 생성, 애니메이션 시작 등)를 발동시키도록 해야 합니다. 해결책은 커스텀 이벤트 트랙입니다. 타임라인에 "EnemySpawn" 또는 "MonsterAttack" 마커를 드롭하고, 레벨 Blueprint의 커스텀 이벤트에 바인딩하면, 재생이 해당 프레임에 도달할 때 게임 로직이 자동으로 실행됩니다. 이는 레벨 스크립팅을 시각적이고 쉽게 조정 가능한 흐름도로 만듭니다.
저는 제 경험과 ChatGPT의 조언을 혼합하여 또 다른 타당성 검사를 수행하고, 기술적 접근 방식을 확정했습니다. ChatGPT의 가장 중요한 조언은 슈팅과 슬래싱 콤보를 증명하기 위해 가장 작은 루프를 먼저 구축하라는 것이었습니다. 우리의 MVP는 레일 움직임, 소수의 적, 그리고 보스전이 있는 짧은 레벨 하나였습니다.
UE5에서 저는 이 프로토타입을 빠르게 만들었습니다. Sequencer가 1인칭 레일을 구동하고, 타임라인 이벤트가 적을 생성했으며, 플레이어는 적을 격추했습니다. 루프가 부드럽게 작동하자, 페이싱, 난이도, 재미에 대한 실제 데이터를 얻을 수 있었고, 자신감을 가지고 전체 개발에 착수할 수 있었습니다.
플레이어 컨트롤러 및 레일 이동
플레이어는 자유롭게 돌아다니지 않고, 미리 설정된 레일에 "고정"됩니다. 저는 Character 서브클래스를 만들었지만, 모든 움직임은 Sequencer에 맡겼습니다. Level Sequence 에셋에서 키프레임이 시간에 따라 Pawn의 위치와 회전을 제어합니다. 해당 Sequence를 플레이어에 바인딩하면 경로를 따라 자동으로 움직이고 회전합니다. 또한 동일한 타임라인에 여러 카메라를 연결하여 추가 코드 없이도 뷰가 부드럽게 전환되도록 했습니다.
전투 시스템
입력은 간단합니다. 왼쪽 클릭으로 발사하고, 클릭-드래그로 레이저 검을 휘두릅니다.
무기는 두 개의 Blueprint 컴포넌트에 존재합니다. 하나는 총(트레이스, VFX, 데미지)용이고, 다른 하나는 검(아크 감지, 슬래시 VFX, 막기/패링)용입니다.
적 및 레벨 로직
저는 근접 적, 비행 적, 원거리 비행 적, 그리고 보스까지 총 네 가지 적 클래스를 만들었습니다. 처음 세 가지는 Behavior Trees가 있는 AIController에서 실행됩니다. 일단 생성되면, Behavior Tree가 이동 및 공격 결정을 처리합니다. 보스의 페이즈와 특수 공격은 정확한 타이밍을 위해 Sequencer 이벤트에 의해 직접 구동됩니다.
전체 레벨을 시퀀싱하기 위해 LevelPoint 액터(LevelSequenceActor의 서브클래스)를 만들었습니다. 레일 위에 여러 LevelPoint를 배치합니다. 각 LevelPoint는 적 생성, 대사 재생, 카메라 흔들림 등을 위한 자체 Sequence 에셋을 가집니다. LevelPoint는 다음 노드를 정의하거나 조건에 따라 분기합니다. 플레이어가 LevelPoint에 도달하면 해당 Sequence가 재생되고, 승리 조건(모든 적 제거 또는 시간 초과)이 충족되면 시스템은 다음 LevelPoint의 Sequence로 이동합니다. 심지어 게임 상태를 확인하고 언제 다음으로 진행할지 결정할 수 있도록 Sequencer에 커스텀 트랙을 추가하여 전체 흐름을 모듈식의 시각적인 "노드 + 타임라인" 스토리보드로 만들었습니다.
AI 지원 Blueprint 스크립팅
Blueprint 질문이 생길 때마다 ChatGPT가 저의 주요 도우미였습니다. ("Sequencer 이벤트에서 적을 어떻게 생성하나요?" "마우스 드래그를 근접 공격으로 어떻게 변환하나요?"). ChatGPT는 단계별 답변을 제공하고, 문서나 포럼 게시물을 안내하며, 의사(pseudo) Blueprint 노드를 스케치하기도 했습니다.
예를 들어, 런타임에 재질을 조정하는 방법을 물었을 때, "Create Dynamic Material Instance" 노드를 사용하고 참조를 저장하도록 상기시켜 주었습니다. 몇 번의 클릭으로 제 레이저 검 스윙은 계획대로 적들을 빛나게 했습니다.
AI "기술 컨설턴트"를 상시 대기시킴으로써 장애물을 헤쳐나가고 속도와 자신감을 모두 높일 수 있었습니다. AI의 조언은 때때로 약간의 수정이 필요했지만, 전반적으로 수많은 작은 세부 사항을 처리하여 제가 계속 개발에 집중할 수 있도록 했습니다.
UI는 게임의 귀여운 사이버펑크 스타일에 맞춰야 했습니다. 저는 GPT-4o를 사용하여 "Splatoon" 스타일의 플랫한 인게임 아트 에셋을 생성했습니다. 명확한 프롬프트(참조 이미지, 색상, 레이아웃 노트, 텍스트 설명)를 입력하고, 네온 그래피티 UI 요소(예: 파이프라인 스타일 체력/에너지 바, 화려한 점수 패널) 세트를 얻을 때까지 반복했습니다.
GPT-4o의 이미지 생성(2025년 3월 출시)은 강력하지만 완벽하지는 않았습니다.
전반적으로 GPT-4o는 혁신적인 변화를 가져왔습니다. 이제 아이디어가 기술적 장애물보다 앞서나가고 있으며, 2D UI 디자인을 위한 새로운 AI 기반 워크플로우가 부상하고 있습니다.
이 AI 파이프라인(컨셉 → 3D 메시 → 리깅 → 애니메이션) 덕분에 일반적으로 몇 주가 걸리는 프로세스가 며칠 만에 완료되었습니다.
저는 Gemini에게 아케이드 Castlevania의 흐름을 연구하게 하고 노드 기반 레벨 로드맵을 생성하도록 했습니다. Gemini의 분석(인트로 → 몬스터 → 중간 보스 → 더 많은 몬스터 → 최종 보스)은 각 단계에서 적 유형과 수를 지정하여 게임의 느낌을 정확히 포착했습니다. 그런 다음 저는 이 스크립트를 제 디자인에 맞게 수정하고 레벨 계획을 확정했습니다.
저는 LevelPoint 시스템을 사용하여 플레이어의 레일을 따라 이벤트 노드를 배치함으로써 레벨을 구성했습니다. 각 LevelPoint는 Sequencer 내의 자체 Level Sequence에 연결되어 적 생성, 카메라 흔들림, 대화 등 모든 것을 안무할 수 있습니다.
예를 들어:
"노드 + 타임라인" 방식은 레벨 디자인을 시각적 편집으로 전환합니다. 페이싱을 조정하거나 비트를 추가하려면 Sequencer에서 이벤트 마커를 삽입, 제거 또는 조정하기만 하면 됩니다.
저는 고정된 음성 대본 대신 즉석에서 대화를 생성하는 시스템을 구축했습니다. 각 스토리 노드에서 AI가 새로운 대사를 만들고, TTS(Text-to-Speech)로 변환합니다.
작동 방식은 다음과 같습니다.
대화 생성 흐름
이 모든 과정은 몇 초 만에 이루어지므로, 플레이할 때마다 수동으로 작성하거나 녹음된 음성 대본 없이 새로운 대사를 들을 수 있습니다.
도전 과제 및 조정
요점
허가를 받아 번역 및 재게시되었습니다.
moving at the speed of creativity, achieving the depths of imagination.