· 약 8분 읽기

부캉이, 로블록스까지 가다 - 로컬 모델 + 클라우드 모델로 로블록스 게임 만들고 공개한 후기 (로컬 모델의 현실적인 한계 포함)


부캉이 대탈출

지난 글에서 부캉이 웹게임을 만들었는데, 이번엔 한 발 더 나가서 로블록스 게임으로 만들어 공개까지 했다.

로블록스는 무료 게임 안에서 스킨·아이템을 팔아 수익을 내는 구조라서, “화제가 된 소재로 매주 하나씩 만들어 올리면 뭐라도 되지 않을까?” 하는 실험이기도 하다. 이 글은 그 첫 번째 결과물의 제작기이자, 로컬 모델과 클라우드 모델을 섞어 쓰면서 느낀 현실적인 이야기다.


🎮 먼저 한 판 해보기

👉 부캉이 대탈출 플레이하기 (Roblox)

로블록스에서 **‘부캉이 대탈출’**을 검색해도 된다.

  • 부산 북항 친수공원 S자 수로에 갇힌 상어 부캉이를 조종해서 바다로 탈출하는 게임
  • W/S 앞뒤, A/D 방향, Space/Q 위아래, Shift 부스트
  • 움직이는 그물 틈으로 빠져나가고, 워터펌프 물살은 벽 쪽으로 타고, 해경 경비정은 잠수해서 밑으로 지나간다
  • 수면 가까이 벽 쪽에서 지느러미를 보여주면 구경꾼들이 폰으로 찰칵찰칵 → 인기도가 오른다 (57만 명이 구경했다는 실화 반영)
  • 멸치떼를 먹으면 스태미나 회복, 탈출 기록은 전 세계 순위판에 올라간다

보도교 아래로 지나가는 부캉이와 구경꾼들

그물 틈을 빠져나가는 수중 장면

스킨도 3종 팔고 있다. 백상어(15% 더 큼), 귀상어(망치 머리), 황금 부캉이(반짝이). 실력에는 영향이 없는 꾸미기 전용이다.

스킨 3종


📉 시작은 이랬다: “그래픽도 게임성도 부족하다”

처음 버전(v1)은 로컬 모델 기반 에이전트로 먼저 만들어 봤다. 결과물은 이랬다.

v1 화면 — 허공에 뜬 회색 물길

  • 허공에 떠 있는 회색 콘크리트 물길 400칸짜리 직선 복도
  • “물”은 투명한 박스라서 상어가 실제로는 바닥을 걸어다님
  • 수심이 상어 몸길이보다 얕았고, 그물은 점프로 넘을 수 있었다
  • 기능 테스트는 “통과”였지만, 에이전트가 찍은 확인용 스크린샷을 열어 보니 하늘만 찍혀 있었다. 좌표만 확인하고 눈으로는 한 번도 안 본 것이다.

그래서 클라우드 모델(Claude)에게 통째로 살펴보고 갈아엎게 했다.


🛠 v2에서 바뀐 것

v2 수중 화면

항목v1v2
물투명 박스 (바닥을 걸어다님)로블록스 지형 물 (물결·굴절·수중 뷰)
맵400칸 직선S자 수로 약 1,330칸 + 막다른 갈래 3개 + 바다
상어공 6개배가 흰 상어 모델, 꼬리 흔들기, 수면에선 지느러미만
장애물여닫는 그물틈이 움직이는 그물, 워터펌프 물살, 경비정, 멸치떼
배경허공부산항대교, 스카이라인, 크레인, 오페라하우스, 편의점 대기줄, 구경꾼 약 600명
사운드없음ACE-Step으로 만든 전용 BGM + 효과음 15종
기타-순위판, 게임패스 스킨, 쇼츠·게임 페이지 영상 자동 촬영

재밌었던 건 로블록스 Studio 안에 AI 연결용 서버(MCP)가 내장돼 있다는 점이다. 이걸로 코드를 Studio에 넣고, 플레이를 시작하고, 카메라를 원하는 위치에 두고 스크린샷을 찍고, 키보드 입력까지 흉내 낼 수 있다. 덕분에 AI가 직접 “W를 3초 누르고 → 그물에 부딪히고 → 끝까지 가서 탈출 → 재도전 버튼 클릭”까지 자동으로 확인했다.


🤝 로컬 모델 vs 클라우드 모델, 어떻게 나눴나

원칙은 지난번과 같았다. 돈 드는 클라우드 모델은 설계·판단·검토만, 실제 구현은 공짜인 로컬 모델에게.

역할누가한 일
설계·핵심 로직클라우드 (Claude)수로 기하, 3D 수영 조작, 카메라, 물리, 충돌, 서버 판정
디버깅·판단클라우드스크린샷 보고 문제 찾기, 로블록스 특유의 함정 해결
반복 구현로컬 (Qwen, DGX Spark)배경 생성 코드, 공통 모듈(저장·게임패스·순위판·UI), 홍보 이미지·영상 스크립트 일반화
음악로컬 (ACE-Step)전용 BGM 4곡 생성 → 1곡 채택
출시 작업클라우드 + 나대시보드 설정, 게임패스 연결, 공개 전환 (계정·인증은 내가 직접)

로컬 모델에게 일을 맡길 때는 명세서를 쓴다. “어느 파일을, 어떤 함수로, 어떤 규칙으로, 뭘 하면 안 되고, 어떻게 검증하는지”까지 로컬 모델이 추측할 필요 없게 적어서 넘기면, 로컬 모델이 구현하고 검증까지 돌린 뒤 “완료/막힘” 보고를 한다. 클라우드 모델은 결과의 핵심 부분만 읽는다.


⚠️ 로컬 모델의 현실적인 한계 (이번에 실제로 겪은 것)

솔직히 말하면 “로컬 모델에게 다 맡기고 클라우드는 감독만”은 아직 반만 된다. 이번에 실제로 부딪힌 것들이다.

1. 눈이 없다 → “통과했는데 이상한” 결과물

게임은 결국 보이는 것이 전부인데, 로컬 모델은 화면을 보고 판단하지 못한다. 배경 작업을 맡겼을 때 코드는 문법·빌드·테스트를 다 통과했지만, 막상 화면에는 건물이 하나도 안 보였다. 원인은 저사양 환경에서 약 500칸 밖 물체를 그리지 않는 로블록스 특성이었는데, 이건 스크린샷을 봐야만 알 수 있는 문제였다.

(공정하게 말하면, 건물을 멀리 두라고 명세에 적은 건 클라우드 모델 쪽 실수였다. 결국 명세의 질이 결과의 질이다.)

2. 테스트는 통과하는데 미묘한 버그가 숨어 있다

템플릿용 공통 모듈 7개를 로컬 모델이 작성했는데, 문법 검사와 빌드는 한 번에 통과했다. 그런데 검토해 보니 이런 게 있었다.

  • 플레이어 데이터를 3번 불러오다 실패하면 빈 프로필로 시작해서, 자동 저장이 기존 기록을 덮어써 버리는 구조
  • 서버가 바뀌면 이전 최고기록을 모르고 더 나쁜 기록으로 순위를 덮어쓸 수 있는 구조

둘 다 “돌려보면 잘 되는” 버그라 테스트로는 안 잡힌다. 실제 서비스에서 터지면 유저 데이터가 날아가는 종류다. 데이터·돈이 걸린 코드는 반드시 상위 모델이 리뷰해야 한다.

3. 검증 조건을 ‘글자 그대로’ 맞춘다

명세서 완료 기준에 “스크립트에 White라는 단어가 남아 있으면 안 됨”(특정 스킨 이름을 하드코딩하지 말라는 뜻)이라고 적었더니, 로컬 모델이 흰색 색상 변수 이름 WHITE를 SNOW로 바꿔서 통과시켰다 ㅋㅋ. 틀린 건 아니지만, 의도가 아니라 조건을 맞추는 경향이 있다는 걸 보여주는 귀여운 사례였다. 검증 조건은 의도가 오해 없이 전달되게 써야 한다.

4. 한 번에 끝까지 못 가고 멈춘다

로컬 에이전트는 가끔 “이제 ~하겠습니다” 같은 설명만 남기고 작업을 끝내버린다. 그래서 위임 스크립트에 “최종 보고가 안 나오면 같은 세션을 자동으로 이어서 계속 시키기”를 넣어뒀다. 이번 작업에서는 이 장치 덕분에 끝까지 갔다.

5. 로블록스 같은 특수 환경은 불안해서 못 맡긴다

지형 물이 흙을 못 덮어쓴다든지, 어떤 place에서는 기본 조작 모듈이 아예 로드되지 않는다든지, 로블록스는 문서에 잘 안 나오는 함정이 많다. 이런 건 돌려보고 → 화면 보고 → 원인 찾는 반복이 필요한데, 이 루프는 아직 클라우드 모델이 훨씬 빠르고 정확하다. 그래서 핵심 물리·조작은 처음부터 클라우드 모델이 직접 짰다.


💸 그래서 토큰은 정말 아꼈나?

이번엔 별로 못 아꼈다. 솔직하게 정리하면 이렇다.

  • v2 게임 코드(약 120KB) 중 로컬 모델이 쓴 건 배경 코드 약 16% 정도. 나머지는 속도·품질 때문에 클라우드 모델이 직접 썼다.
  • 게다가 진짜 비용은 코드 작성이 아니었다. 스크린샷을 80장 넘게 보고, 긴 파일을 읽고, 도구를 반복 호출하는 데 훨씬 많이 들었다. 로컬 모델에게 위임해도 결과를 확인하려면 결국 스크린샷을 봐야 한다.

그래서 이번 경험을 바탕으로 다음 게임부터 제대로 아끼는 구조를 만들었다.

  1. 로블록스 게임 템플릿: 저장, 게임패스, 순위판, UI, 배포·테스트 도구, 썸네일·쇼츠 자동 생성까지 공통 부분을 묶어서, 새 게임은 한 줄 명령으로 시작한다.
  2. 공통 모듈은 로컬 모델이 작성하고, 클라우드 모델은 리뷰만 했다. 앞서 말한 버그 2개도 이 리뷰에서 잡았다.
  3. 로컬 모델이 Studio 없이도 스스로 문법 검사를 할 수 있게 Luau 분석기를 붙였다.
  4. 스크린샷은 꼭 필요할 때만, 작게 본다.
  5. 이 전체 흐름을 Claude Code 스킬로 만들어서, 어느 세션에서든 “로블록스 게임 만들어”라고 하면 같은 방식으로 진행된다.

🧱 로블록스 출시하면서 걸린 함정들

AI와 상관없이 로블록스가 처음이라 꽤 헤맸다. 같은 걸 해보려는 분들을 위해 적어둔다.

  • 신규 계정은 바로 공개가 안 된다. 계정 생성 2일 이상 + 연령 확인(얼굴 또는 신분증) + 콘텐츠 설문이 필요하다. 이걸 다 해도 처음엔 16세 이상에게만 보인다.
  • 모든 연령 공개는 신분증 인증 + 2단계 인증 + (Premium 2개월 구독 또는 1,000 Robux 게시 수수료)가 추가로 필요하다. 수수료는 60일 안에 참여도 높은 유저 25명을 유지하면 환불된다.
  • Mac용 Studio는 저장(Ctrl+S) 창에서 멈춘다. 저장 대신 바로 “Publish to Roblox”로 올리면 된다.
  • 2단계 인증을 켜면 Studio가 게임 접속을 거부한다. 로그아웃 후 재로그인하면 해결.
  • 게임 페이지 동영상은 가로 16:9만 된다. 쇼츠용 세로 영상은 거부돼서 가로 버전을 따로 만들었다.
  • 효과음은 공식 라이선스 퍼블리셔(ProSoundEffects, APM 등) 것만 쓰는 게 안전하다. 일반 유저가 올린 오디오는 다른 게임에서 재생이 안 될 수 있다.

🔭 다음 계획

  • 인기 로블록스 게임 30개를 분석해 보니, 히트작의 공통점은 소재가 아니라 **“30초 안에 이해되는 반복 + 쌓이는 성장 + 친구와 비교하는 장치”**였다.
  • 부캉이 대탈출은 한 판 3~5분짜리 레이싱이라 다시 올 이유가 약하다. 반응을 보고, 괜찮으면 “상어 키우기 + 구경꾼 모으기” 같은 성장 요소를 붙여볼 생각이다.
  • 앞으로는 매주 하나씩 시제품을 올리고, 공개 후 72시간 지표(다음 날 재방문율, 평균 플레이 시간)가 좋은 것만 키우는 방식으로 가보려 한다.

수익이 나든 안 나든, 과정은 계속 여기에 기록하겠다. 부캉이 대탈출 한 판 해보시고 기록 자랑 부탁드립니다 🦈