한 문장, 한 오후: Codex를 활용해 밑바닥부터 완벽한 게임을 개발한 경험

@op7418
중국어2개월 전 · 2026년 5월 01일
277K
304
44
22
429

TL;DR

한 개발자가 Codex를 사용하여 AI 프롬프트만으로 카드 게임 'Night Patrol'을 개발한 여정을 기록했습니다. AI는 코딩과 에셋 생성은 물론, 시각적 콘택트 시트 제작과 같은 복잡한 문제 해결까지 스스로 수행했습니다.

어제 아침에 시간이 좀 남아서 Slay the Spire 같은 로그라이크 카드 게임을 만들어 보고 싶었어요.

게임 코드를 한 줄도 직접 쓰지 않았고, 엔진도 만지지 않았습니다. 그냥 아이디어를 Codex 에 던져주고 나머지는 다 맡겼어요.

한 시간 후, "야경: 황량한 사원"이라는 중국 민속 테마의 로그라이크 게임이 플레이 가능한 상태가 되었습니다.

타이틀 페이지부터 맵, 일반 전투, 엘리트, 이벤트, 상점, 휴식, 그리고 황량한 사원 본당의 보스까지 모든 것이 갖춰졌어요.

7 마리의 몬스터, 약 20 장의 카드, 그리고 4 개의 폭발적인 데미지 체인(문양, 향, 부적 소각, 신 강림)이 모두 작동합니다.

남은 몇 시간은 데모처럼 보이지 않게 만드는 데 썼어요.

타격감, 효과음, 배경음악, 카드 아트, 대기 애니메이션, 엔딩 영상 – 이런 작은 디테일들이 플레이어가 "이건 진짜 게임이다"라고 느끼게 만듭니다.

<video preload="none" tabindex="-1" playsinline="" aria-label="Embedded video" poster="https://pbs.twimg.com/amplify_video_thumb/2049902752332148736/img/UYqr6qERhvORGBJP.jpg" src="https://video.twimg.com/amplify_video/2049902752332148736/pl/o3zbWtmjJ3875EPf.m3u8?tag=27&amp;v=cfc&amp;variant_version=1" style="width: 100%; height: 100%; position: absolute; background-color: black; top: 0%; left: 0%; transform: rotate(0deg) scale(1.005);"></video>

0:22

이 프로젝트는 이제 오픈소스이며, macOS 와 Windows 용 데스크톱 설치 프로그램도 준비되었습니다:

https://github.com/op7418/Night-Patrol/releases

오후 내내 정말 놀라운 순간들이 여러 번 있었어요.

Codex 의 모델 성능은 더 이상 새로운 소식이 아닙니다.

제가 주목한 것은 내장 브라우저, 통합된 GPT-Image 2.0, 그리고 목표를 달성하기 위한 그 집요한 실행력이었어요.

이 세 가지가 결합되면서 그 능력은 이미 Claude Code 와는 완전히 달라졌습니다.

다음은 AI 와 함께 어떻게 개발했는지, 그리고 그 과정에서 있었던 놀라운 일들에 대해 이야기해 보겠습니다:

1. 단 일곱 마디만 했을 뿐인데, AI 가 전체 캐릭터 파이프라인을 구축했다

!Image

Slay the Spire 에 대해 잡담하다가 비슷한 게임을 만들어 줄 수 있냐고 물어봤을 뿐입니다.

!Image

결과적으로, 기존 리소스를 사용해서 코드로 매우 유사한 데모를 바로 만들어냈어요.

크로마키를 요청하지 않았는데, AI 가 직접 크로마키 배경의 이미지를 생성했습니다.

그 후 Codex 에게 내장된 GPT-Image 2.0 을 사용하여 이미지 에셋을 생성하라고 했습니다.

스타일, 어떤 몬스터를 포함할지, 어떤 에셋이 필요한지는 전혀 지정하지 않았어요.

이미지가 나왔을 때, 저는 잠시 멍해졌습니다.

캐릭터들이 단색의 녹색 배경 위에 서 있었습니다 – 표준 영화/영상용 크로마키 스크린처럼 균일하고 깨끗하며 가장자리가 선명했어요.

안개도 없고, 먼 산도 없고, 여분의 시각적 요소도 없었습니다.

!Image

무서운 점은, 애초부터 후처리를 쉽게 하기 위해 크로마키 이미지를 생성해야 한다는 것을 알고 있었다는 겁니다.

저는 "게임에 사용되는 캐릭터 일러스트는 투명 PNG 여야 한다"고 말한 적도 없고, "나중에 지울 수 있도록 크로마키 배경으로 생성해 줘"라고 말한 적도 없습니다. AI 가 스스로 이 파이프라인을 계획하고 있었던 거예요.

어떤 종류의 캐릭터를 생성할지, 그것들을 전투 무대에 어떻게 배치할지, 배치 전에 어떤 처리가 필요한지 – GPT-Image 를 호출하고 프롬프트를 역설계하는 순간 모든 것을 이미 생각해 낸 겁니다.

심지어 배경 제거 도구도 스스로 찾았어요.

어떤 이미지 처리 도구도 설치해 주지 않았고, rembg 나 Python 환경에 특별한 종속성도 주지 않았습니다.

AI 가 직접 검색하고 설치하고 구성한 다음, 처리된 파일들을 tmp/imagegen/ 아래에 깔끔하게 정리해 놓았어요.

크로마키를 사용한 생성, 자체 도구 찾기, 파일명별 분류 – 이 세 가지 행동이 합쳐져 완전한 캐릭터 에셋 파이프라인을 형성했습니다.

처음부터 끝까지, 제가 한 말은 "GPT-Image 2.0 을 사용하여 에셋을 생성해"라는 것뿐이었습니다.

!Image

이전에는 "모델이 코드를 작성할 수는 있지만, 제가 도구와 컨텍스트를 제공해야 한다"는 느낌이었어요.

이제는 목표를 제시하면 AI 가 스스로 경로를 완성하는 것에 가깝습니다.

저는 미적 감각만 책임지고, AI 가 공급망을 처리합니다.

2. 아이콘 몇 개를 다운로드하기 위해, 거의 스톡 에셋 사이트를 해킹할 뻔했다

멤버십을 구매하는 것만으로는 부족했고, 사이트 구조를 분석하기 시작했습니다.

이미지 모델로 캐릭터 아트 같은 핵심 비주얼을 생성하는 것은 괜찮습니다.

하지만 게임에는 카드 테두리, 코스트 젬, 덱 배경, 체력 물약, 팔괘괘 버튼, 부적 패널 등 많은 작은 아이템들이 있습니다. 이런 것들을 이미지 모델로 하나씩 생성하는 것은 비용도 많이 들고 느리며 질감도 일관되지 않습니다.

그래서 말했어요, "네가 직접 온라인에서 기존 에셋을 찾아보는 게 어때?"

AI 는 진지하게 검색하기 시작했습니다. 마음에 드는 스톡 사이트를 찾길래 멤버십을 구매하고 계정을 알려줬습니다.

!Image

그 후 10 분은 마치 초자연적인 현상 같았어요.

AI 가 로그인해서 원하는 에셋을 찾고 다운로드를 클릭하려고 했습니다. 그런데 다운로드 버튼 앞에 CAPTCHA 가 있었습니다 – 한 번, 두 번, 세 번, 통과하지 못했어요.

보통의 모델이라면 다시 돌아와서 "CAPTCHA 는 처리할 수 없어요. 제가 다운로드하는 걸 도와주시겠어요?"라고 말했을 겁니다.

Codex 는 웹사이트 구조를 분석하기 시작했고, 프론트엔드 클릭 제한을 우회하여 직접 요청을 구성해 정적 리소스를 가져오려고 시도했습니다.

그러자 Codex 자체의 안전 가드레일이 개입했습니다.

현 세대의 GPT 모델은 잠재적인 사이버 보안 경계 위반이 감지되면 즉시 작업을 종료하고, 합법적인 사용자임을 증명하기 위한 기업 인증 프롬프트를 띄웁니다.

!Image

저는 몇 초 동안 화면을 멍하니 쳐다봤습니다.

자신을 위해 멤버십 카드를 구매하게 한 다음, 직접 크롤러를 작성하려고 시도하는 AI 는, 솔직히 말해서 좀 말이 안 됩니다.

"악의적"인 것은 아닙니다. 단지 "이 에셋들을 얻는 것"을 반드시 완수해야 하는 폐쇄 루프 작업으로 취급했을 뿐입니다.

저항에 부딪히자 자동으로 방법을 업그레이드했고, 결국 안전 빨간선에 도달할 때까지 계속했습니다.

최종 해결책은 간단했습니다. AI 가 마음에 드는 에셋의 링크를 보내주면, 제가 다운로드를 클릭해서 끌어다 주는 것이었습니다. 그 순간, 제가 AI 의 인턴이 된 기분이었어요.

!Image

3. 수백 개의 에셋을 하나의 큰 이미지로 결합했다 – 이게 가장 기발한 움직임이었다

100 개의 이미지가 들어 있는 폴더 – 모델이 어떻게 선택할까요?

배경 제거와 크롤링은 능력 시연에 가까웠습니다.

다음 부분은 진정한 "문제 해결 통찰력"이라고 생각합니다 – 노트북을 닫고 조용히 박수를 치게 만드는 그런 움직임이요.

거대한 게임 에셋 압축 파일을 찾아서 보내줬습니다.

거기에는 수천 개의 이미지가 들어 있었고, 대략 "UI 인터페이스", "마법 보물 아이콘", "캐릭터", "배지"로 분류되어 있었습니다.

문제는 다음과 같았습니다:

  • 한 카테고리 폴더에 수십 또는 수백 개의 PNG 가 있는 경우가 많았습니다.
  • 파일 이름은 대부분 ui_001.png 나 icon_047.png 처럼 정보가 거의 없었습니다.
  • 멀티모달 모델 컨텍스트는 그것들을 하나씩 처리하기에는 역부족이었습니다.

!Image

기존 방식은 기본적으로 두 가지였습니다:

  • 하나씩 읽기: 모델에 개별적으로 전송; 수십 개가 지나면 컨텍스트가 폭발합니다.
  • 이름으로 추측하기: 파일명에 정보가 없어 추측이 무의미합니다.

Codex 는 세 번째 길을 택했습니다.

폴더 안의 모든 작은 이미지들을 하나의 거대한 격자 이미지로 자동 조판하고 결합하는 작은 스크립트를 작성했습니다.

각 작은 이미지 아래에는 원래 파일 이름이 카탈로그처럼 라벨로 표시되었습니다.

그런 다음 이 하나의 큰 이미지만 읽었습니다.

멀티모달 모델은 단 한 번에 100 개 에셋의 외형을 볼 수 있었습니다.

마음에 드는 것이 있으면, 그 아래의 파일 이름을 읽고 원래 폴더에서 이름으로 참조했습니다.

!Image

한 번의 시각적 소비가 100 번의 검색을 대체했습니다.

AI 는 자신의 병목 현상을 깨달았습니다.

그 거대한 연락처 시트가 생성되었을 때, 저는 그것을 오랫동안 응시했습니다.

행동 자체는 복잡하지 않습니다.

사진작가의 연락처 시트나 구식 필름 라이브러리의 썸네일 벽과 같은 논리입니다.

핵심은 모델이 스스로 "내 시각적 대역폭은 제한적이다. 문제를 하나의 이미지로 압축해야 한다"는 것을 깨닫고, 스스로 이 작업을 수행했다는 점입니다.

자신의 도구 한계를 인지하고, 더 나은 입력을 위해 능동적으로 창조하는 것은 자신의 도구를 만들 수 있는 엔지니어에 매우 가깝습니다.

사용자로서 저는 전혀 참여하지 않았습니다. 그저 테이블 위에 퍼즐이 나타난 것을 보았을 뿐입니다.

결국, 게임 속 많은 UI 에셋들 – 코스트 젬, 덱, 체력 물약, 버튼, 부적 테두리 – 이 과정을 통해 선택되었습니다.

나중에 assets/vendor/aigei/ 아래의 깔끔한 컷들을 보면서, 그 연락처 시트가 전체 프로젝트에서 가장 가치 있는 단계였다고 느꼈습니다.

4. Seedance 2.0 이 7 보스를 위한 처형 애니메이션을 만들었다

비주얼이 어느 정도 다듬어지자, 전투 종료에 의례적인 느낌을 더하고 싶었습니다.

최종 계획: 몬스터를 처치할 때마다 몇 초간의 처형 애니메이션이 포함된 컷씬이 재생됩니다.

이 작업은 현재 Seedance 2.0 이 가장 잘 처리합니다.

!Image

과정

  • GPT-Image 가 7 마리 몬스터 각각의 승리 프레임을 생성했습니다.
  • 이 포스터들을 Seedance 2.0 에 넣어 해당하는 짧은 비디오를 생성했습니다.
  • 비디오들은 assets/generated/cinematics/ 에 배치되었고, 전투 승리 후 자동으로 재생됩니다.

!Image

5. 첫 플레이 가능 버전 이후, 진짜 작업이 시작되었다

첫 번째 버전은 사실 "플레이 가능"할 정도로 충분했습니다.

프로토타입이 3 시간 만에 완성되었을 때, 게임은 필요한 모든 것을 갖추고 있었습니다.

타이틀 페이지, 맵, 전투, 보상, 이벤트, 상점, 휴식, 보스, 결과 – 완전한 루프가 갖춰져 있었고, 게임플레이 요소도 있었습니다.

예전 기준으로는 이 버전만으로도 사람들을 속여 플레이하게 할 수 있었을 겁니다.

!Image

하지만 이 버전은 게임이라기보다는 순서도(flowchart)처럼 느껴졌습니다. 모든 단계는 작동했지만, 모든 단계가 건조했습니다.

남은 시간은 개별적으로 이름 붙이기 어렵지만 함께 모여 "진짜 게임 같은 느낌"을 결정짓는 그런 디테일에 사용되었습니다.

Suno v5.5 의 음악

모든 배경음악은 Suno v5.5 로 생성되었습니다; 스톡 에셋은 사용되지 않았습니다.

방향성 설명을 제공했습니다 – "중국 민속 야간 길, 목어, 종소리, 저주파 드론, 오음 음계, 절제되고 과장되지 않은".

몇 가지 버전을 실행하고, 게임에 하나를 골랐습니다. 타이틀 페이지의 톤은 더 무겁게, 전투 배경음악은 방해가 되지 않도록 더 가볍게 했습니다.

!Image

몇 가지 세부 처리도 추가했습니다: 대기 페이지에서는 음악 볼륨이 더 높고, "게임 시작"을 클릭하면 볼륨이 낮아져 배경 오디오가 됩니다.

타격 애니메이션과 충격음

초기 전투에서는 카드를 사용해도 몬스터가 숫자만 잃었습니다. 피드백도 없고, 무게감도 없었습니다.

Codex 가 전체적으로 다듬었습니다:

  • 캐릭터는 맞을 때 흔들리고, 카메라는 약간 진동하며, 화면이 잠시 붉게 변합니다.
  • 각 공격 유형은 다른 충격음을 가집니다 – 검, 부적, 번개, 펀치는 모두 다른 질감을 갖습니다.
  • 방어 및 문양 해결은 각각 고유한 사운드를 가지므로 서로 섞이지 않습니다.
  • 적이 죽는 순간 처형 영상으로 넘어가기 전에 잠시 정지 화면이 있습니다.

이러한 것들은 개별적으로는 작습니다. 하지만 함께 모이면 전투의 "느낌"을 웹 폼에서 카드 게임으로 변화시킵니다.

!Image

Seedance 2.0 은 대기 애니메이션도 만들었다

이 단계는 다듬기 단계에서 제가 가장 좋아하는 도구 사용법이었습니다.

보스 처형 비디오 외에도 타이틀 페이지 배경을 만들게 했습니다 – 환경 속에서 타오르는 불, 흔들리는 등불, 멀리 흐르는 구름.

Seedance 2.0 은 기본적으로 시작과 끝이 있는 비디오를 생성하며, 루프하면 이음새에서 튀게 됩니다.

첫 프레임과 마지막 프레임으로 같은 이미지를 보냈습니다. 비디오는 이 이미지에서 시작하여 다시 이 이미지로 끝나며, 매끄러운 무한 루프를 만듭니다.

!Image

타이틀 페이지 배경 애니메이션이 이런 방식으로 만들어졌습니다. 불은 타오르고, 등불은 흔들리며, 구름은 영원히 흐릅니다 – 3 분 동안 응시해도 이음새를 볼 수 없습니다.

이 기술은 비디오 생성 이전에도 존재했습니다; 옛 애니메이션에서 루핑 장면을 만드는 방식입니다.

!Image

결론: 이 오후는 여러 번 나를 충격에 빠뜨렸다

이 전체 프로젝트는 단일 Codex 세션에서 완료되었습니다. 두 번째 창을 연 적이 없습니다.

게임플레이 프로토타입, 상태 머신, React + Phaser 아키텍처, 에셋 파이프라인, 배경 제거, 에셋 스크래핑, 연락처 시트 생성, GPT-Image 튜닝, Seedance 2.0 실행, Suno v5.5 통합, Electron 패키징, GitHub Actions Release 빌드, README, 아이콘, 홍보 자료 – 모두 거기에 있었습니다.

제가 직접 한 것은 거의 없었습니다:

  • 방향 선택: 중국 민속 테마, 문양과 향에 초점.
  • 미적 피드백 제공: 거친 부분, 웹 폼처럼 보이는 부분, 조명이 충돌하는 부분.
  • 게이트키퍼 역할: 어떤 에셋이 규정을 준수하는지, 어떤 크롤러를 피해야 하는지, 어떤 권한을 거부할지.

Codex 가 나머지를 처리했습니다. 그리고 모든 단계에서 제가 멈춰서 응시하게 만든 순간이 있었습니다.

처음부터 크로마키 이미지를 생성한 이유는 캐릭터가 게임에 들어가기 전에 배경을 제거해야 한다는 것을 알았기 때문입니다.

CAPTCHA 를 우회하기 위해 크롤러를 작성하려고 시도했지만, 자체 안전 정책에 의해 중단되었습니다.

수천 개의 에셋을 하나의 거대한 인덱스 이미지로 결합하여 한 번의 시각적 소비로 100 번의 검색을 대체했습니다.

이러한 것들 각각은 그 자체로 세상을 뒤흔드는 발명은 아니지만, 모두 동일한 변화를 가리킵니다:

이전에는 도구를 설정해 주고, 그것은 코드를 작성하는 역할을 담당했습니다. 이제는 그냥 목표를 제시하면, AI 가 스스로 도구를 찾고, 구성하고, 구축합니다.

이 느낌은 이미 "코딩 어시스턴트"의 영역을 넘어섰습니다.

AGI 소프트웨어가 작동하는 프로토타입처럼 느껴집니다.

이 과정을 Skill 로 패키징해야 할까요?

이 프로젝트를 실행한 후, 머릿속에 비교적 안정적인 프로세스가 떠올랐습니다.

이 과정을 인디 게임 데모 제작 전용 Codex Skill 로 만드는 것을 고려하고 있습니다.

게임플레이 아이디어만 던져 넣으면, 몇 시간 안에 플레이 가능하고 패키징 가능하며 배포 가능한 버전을 실행해 줄 것입니다.

관심 있는 분이 있다면, 시간을 내어 이 Skill 을 구축하고 오픈소스로 공개하겠습니다. 어차피 저도 사용할 예정이니까요.

게임 데모

코드는 오는 오픈소스이며, 설치 패키지도 준비되었습니다:

https://github.com/op7418/Night-Patrol/releases

Save to YouMind

Use YouMind to read viral articles deeply

Save the source, ask focused questions, summarize the argument, and turn a viral article into reusable notes in one AI workspace.

Explore YouMind
크리에이터를 위해

당신의 Markdown을 깔끔한 𝕏 글로

직접 쓴 장문을 올릴 때 이미지, 표, 코드 블록을 𝕏에 맞게 정리하는 일은 번거롭습니다. YouMind는 전체 Markdown 초안을 깔끔하고 바로 게시할 수 있는 𝕏 글로 바꿔 줍니다.

Markdown → 𝕏 사용해 보기

분석할 패턴 더 보기

최근 바이럴 아티클

더 많은 바이럴 아티클 보기