Roblox 게임 파이프라인
하나의 게임을 처음부터 끝까지, 각 게이트에서 개발자의 승인을 받으며 진행합니다. 이 스킬은 지휘자 역할을 합니다: 각 단계는 작업을 수행하는 스킬이나 도구, 해당 단계에서 생성해야 하는 결과물, 그리고 완료 조건을 명시합니다. 해당 스킬이 이미 설명한 내용을 다시 작성하지 말고, 해당 단계가 시작될 때 로드하세요.
SK = 이 스킬 폴더입니다. PB = 선택 사항인 플레이북: 일반적인 교훈을 주제 폴더(예: game-design/, building/, engineering/, thumbnails/)로 정리한 폴더입니다. 아직 없으면 아래 PB 포인터는 건너뛰고 교훈이 생길 때마다 새로 시작하세요.
아래에 명명된 동반 스킬(studify, roblox-ui-maker, roblox-vfx, roblox-game-score, claude-music, 디자인 조언 스킬, jest-luau, scrapling, agent-browser)과 meshlab 툴킷(github.com/zriptic/roclicks-skills, meshlab/ 폴더)은 선택 사항입니다. 설치되어 있지 않다면 해당 단계를 동일한 "생성물"과 게이트로 직접 수행하세요.
시작하기 전에
- 게임 폴더를 찾거나 생성합니다:
<projects>/<slug>/.SK/templates/GAME.md를 복사하여GAME.md로 넣습니다. 이 파일은 단일 진실 공급원(source of truth)입니다: 단계 상태, 결정 사항, place 및 universe ID, 에셋 ID, 미해결 질문을 포함합니다. 각 단계가 끝날 때마다 그리고 결정이 확정될 때마다 업데이트합니다. 이 게임에 대한 새 세션은GAME.md를 읽는 것으로 시작합니다. - 이 게임과 개발자의 상시 규칙에 대한 메모리를 읽습니다. 규칙 요약은
SK/references/rules.md에, 측정된 엔진 및 도구 사실은SK/references/gotchas.md에 있습니다. 첫 번째 Studio 호출 전에 둘 다 읽어야 합니다. - Studio를 찾습니다: 모든 편집에 하나의 Studio MCP 서버를 사용합니다(이 스킬은 커뮤니티
robloxstudioMCP 서버에 대해 작성되었으며, 공식 내장Roblox_Studio서버는upload_image에만 사용됩니다). 모든 쓰기 작업 전에 어떤 place가 열려 있는지 확인하세요. 동일한 기본 이름으로 여러 place가 열려 있는 경우가 많습니다. - 이 요청에 대해 실행할 단계를 계획하고 한 메시지에 단계, 생성물, 사용할 스킬을 함께 말하세요. 요청에 필요하지 않은 단계는 건너뜁니다. 기존 게임의 리메이크는 단계 0의 "study"부터 시작하고, 완전히 새로운 아이디어는 단계 0의 "concept"부터 시작합니다.
단계
| # | 단계 | 생성물 | 스킬 / 도구 |
|---|---|---|---|
| 0 | 구상 / 연구 | GAME.md 피치 + 참고 자료 분석 | 디자인 조언 스킬, SK/references/study-a-game.md, scrapling / agent-browser(연구용) |
| 1 | 디자인 + 경제 | PLAN.md: 핵심 루프, 진행, 수익화, 수치; 페이싱 시뮬레이션 | 디자인 조언 스킬, PB/game-design/*, sim/ 스크립트(Python 또는 luau) |
| 2 | 월드 | Studio 지도, 스터드 스타일, 모든 가시 조각을 meshlab 모델로 | meshlab(SK/references/meshlab.md); 레이아웃 코드가 베이크된 모델 배치; PB/building/*(레이아웃 아이디어용) |
| 3 | 모델 | 모든 소품, 건물, 차량 및 캐릭터 장비를 meshlab 모델로 베이크하여 MeshData로 | meshlab(SK/references/meshlab.md, 병렬 모델링 에이전트); 생물체는 SDF 조각; Meshy/Blender는 개발자가 요청한 경우에만(SK/references/models.md) |
| 4 | 시스템 | 서버/클라이언트 Luau: 데이터, 리모트, 루프, 상품 | PB/engineering/*, jest-luau(테스트용), luau CLI(순수 로직용) |
| 5 | UI | 모든 화면, 먼저 HTML로, 그 다음 실제 ScreenGui | roblox-ui-maker(항상; 해당 LESSONS.md 읽기) |
| 6 | VFX | 모든 주요 순간에 대한 파티클 효과 | roblox-vfx(해당 LESSONS.md 읽기) |
| 7 | 오디오 | 음악 큐 + SFX, SoundGroups | roblox-game-score, claude-music*; 확인된 재사용 가능 UI 사운드 ID는 SK/references/rules.md에 설명된 대로 유지 |
| 8 | QA | 결함 목록 수정; 스크린샷; 루프 타이밍 | SK/references/qa.md |
| 9 | 출시 | 썸네일, 아이콘, 상품, 게시된 place, 분석 | SK/references/launch.md |
| 10 | 운영 | 분석 읽기, 다음 업데이트 계획 | SK/references/launch.md(분석), 디자인 조언 스킬 |
단계 2-7은 단계 1이 승인되면 중복 실행할 수 있습니다: 월드와 해당 UI는 서로를 기다리지 않습니다. 시스템(4)은 QA(8)의 게이트 역할을 합니다.
단계 게이트 ("완료"의 의미)
- 0 → 1: 개발자가 피치와 핵심 루프를 각각 한 문장으로 동의합니다.
- 1 → 제작:
PLAN.md가 개발자의 승인을 받았습니다; 시뮬레이션이 원하는 페이싱(첫 번째 업그레이드 1분 미만, 목표 시간 내 첫 번째 리버스, 막힌 구간 없음)을 보여줍니다. 수치는 시뮬레이션에서 나와야 하며, 직감이 아닙니다. - 각 제작 단계: "컴파일됨"이 아닌 측정 및 스크린샷으로 검증합니다(
qa.md참조). 개발자에게 스크린샷을 보여주고, 피드백을 요청한 후 소유 스킬의LESSONS.md(UI, VFX) 또는 메모리에 기록합니다. - 8 → 9: 플레이테스트에서 루프가 처음부터 끝까지 실행되며
get_runtime_logs에 오류가 없고, 모바일 레이아웃이 확인되었으며, 12개 이상의 플레이어 높이 스크린샷이 검토되었습니다. - 9: 개발자의 명시적인 동의 없이는 아무것도 공개되지 않습니다(퍼블리싱, 업로드, 개발자 상품, 가격 변경).
병렬 단계 실행 (레인)
대규모 작업의 경우, 독립적인 단계(월드, UI, VFX, 오디오)별로 배경 하위 에이전트를 레인으로 사용합니다(Agent 도구). 규칙 및 미리 준비된 레인 프롬프트는 SK/references/lanes.md에 있습니다. Studio는 단일 공유 리소스입니다: 한 번에 하나의 레인만 특정 place에 쓰고, 나머지 레인은 파일(HTML UI, 텍스처, 모델, 음악)을 준비하여 가져오기 위해 전달합니다.
항상
- 기본적으로 스터드 스타일을 사용합니다(브리핑 또는 참고 자료가 달리 명시하지 않는 한).
- 효과는 3D 오브젝트가 아닌 파티클을 사용합니다.
- HTML 우선 UI, 아이콘은 프로젝트에서 선택한 아이콘 팩에서만 사용하며, 이모지는 절대 사용하지 않습니다.
- meshlab이 보이는 모든 것을 제작합니다(개발자 규칙): 월드, 소품, 차량, 장비. 보이지 않는 충돌체, 트리거, 좌석 및 스폰에만 부품을 사용합니다. MeshData로 베이크하고, 클라이언트는 재구성 후 ApplyMeshes를 적용합니다(
SK/references/meshlab.md). 무료 모델은 사용하지 않습니다. - 개발자에게 보여주기 전에 스크린샷과 측정값으로 직접 확인합니다.
- 지출 전(Meshy 크레딧, 업로드, Robux 가격 상품) 및 공개하기 전에 반드시 물어봅니다.
- Luau는
.rbxmx+import_rbxm을 통해 푸시하며, 문자열에\n이 포함된 경우set_script_source를 절대 사용하지 않습니다(gotchas.md). - 모든 결정, ID 및 교훈을 기록합니다: 이 게임은
GAME.md, 게임 간 사실은 메모리, 일반 교훈은PB(게임 이름이나 비밀 없음)에 기록합니다.