---
type: explanation
title: 마켓플레이스에 게임 출시하기
summary: 마켓플레이스 게임 개발이 무엇인지, 관련된 조각들(SDK, 매니페스트, 리플레이 계약, 선택적 엔진 키트), 그리고 코드에서 누구나 임베드할 수 있는 공개되고 재생 가능한 게임까지 그것들이 어떻게 맞물리는지.
---

마켓플레이스 게임은 당신이 한 번 빌드하면 **누구나** 임베드할 수 있는 게임입니다: 당신이 공개 GitHub 저장소를 공개하면, 플랫폼이 그것을 색인하고, 사용자가 당신의 관여 없이 그 게임 id로 그것에 닿습니다. 이것은 [커스텀 게임](/docs/custom-game-development/overview)의 반대 끝인데, 그것은 당신만 쓸 수 있고 당신이 직접 호스팅합니다. 이 섹션은 마켓플레이스 경로에 대한 상세한, 빌드하고 공개하는 가이드입니다.

당신 자신의 사이트 키만을 위한 게임을 원한다면, 대신 [커스텀 게임 개발](/docs/custom-game-development/overview)을 원하는 것입니다. 게임을 모든 Caputchin 사용자에게 배포하고 싶을 때 여기로 오세요.

## 전체 파이프라인

```mermaid
flowchart TD
  A["게임 작성 (game-sdk)"] --> B["설명 (caputchin.json 매니페스트)"]
  B --> C["재생 가능하게: run(seed, trace)가 판정을 냄"]
  C -.->|선택적 키트| K["engine-kit: 리듀서에서 run 생성"]
  C --> D["공개: 저장소를 caputchin-game으로 태그"]
  D --> E["색인기가 번들을 고정하고 리플레이 자체 확인을 돌림"]
  E --> F["나열되고 임베드 가능, 자체 확인을 통과하면 재생 가능"]
```

각 상자는 이 섹션의 한 페이지에 대응합니다:

| 조각 | 무엇인가 | 페이지 |
|---|---|---|
| 게임 | 위젯의 샌드박스된 iframe에서 도는, 게임 SDK를 상대로 빌드된 자족적 JS 번들. | [마켓플레이스 게임 빌드하기](/docs/marketplace-game-development/build-a-marketplace-game), [SDK 레퍼런스](/docs/marketplace-game-development/game-sdk-reference) |
| 매니페스트 | 게임, 그 프리셋, 그 번들을 설명하는, 저장소 루트의 `caputchin.json`. | [caputchin.json 매니페스트](/docs/marketplace-game-development/the-caputchin-json-manifest) |
| 리플레이 계약 | 서버가 권위 있는 결정에 닿으려고 다시 실행하는 결정론적 `run(seed, trace) -> verdict`. | [리플레이 계약](/docs/marketplace-game-development/replay-contract) |
| 엔진 키트 | 평이한 리듀서에서 적합한 `run`을 내는 **선택적** 작성 키트. | [engine-kit](/docs/marketplace-game-development/engine-kit) |
| 공개 | 저장소를 태그하면, 색인기가 그것을 발견해 고정, 선택적으로 CI로 자동화. | [마켓플레이스에 공개하기](/docs/marketplace-game-development/publish-to-the-marketplace) |

## 재생 가능 대 재생 불가 [#replayable-vs-not-replayable]

이 경로에서 가장 중요한 단 하나의 아이디어: 마켓플레이스 게임은 서버 측에서 **재생 가능**할 때만 검증을 게이트할 수 있습니다. 색인기가 당신의 게임을 받아들일 때 그것은 **리플레이 자체 확인**을 돌립니다: 봉인된 아이솔레이트에 당신의 헤드리스 `run` 산출물을 로드하고 그것이 유효한 [판정](/docs/marketplace-game-development/replay-contract)을 내는지 확인합니다.

- **자체 확인 통과** → 게임이 **재생 가능**합니다: 진짜 플레이어의 라운드가 결정에 닿으려고 서버에서 다시 실행되니, 게임이 사이트 키를 게이트할 수 있습니다.
- **자체 확인 실패** → 게임이 **재생 불가**로 보입니다. 그것은 여전히 나열되고 여전히 임베드 가능하지만, 당신이 통과하는 버전을 공개할 때까지 오직 UX로만(보안 게이트가 아니라)입니다. 이미 이전의 재생 가능한 버전에 있는 사이트는 그 정확한 스냅샷을 계속 돌립니다.

이것이 결정론이 선택적 윤내기가 아닌 이유입니다: 그것은 사이트 키를 지킬 수 있는 게임과 그저 장식인 게임 사이의 선입니다.

## 마켓플레이스 게임이 커스텀 게임과 어떻게 다른가

| | 마켓플레이스 게임 | [커스텀 게임](/docs/custom-game-development/overview) |
|---|---|---|
| 누가 임베드할 수 있나 | 누구나, 게임 id로 | 당신만 |
| 호스팅 | 당신의 GitHub / npm에서 플랫폼 고정 | 당신이 번들 호스팅(`game-src`) |
| 맞춤화 스키마 | `caputchin.json`에 선언 | 대시보드에 선언 |
| 재생 산출물 | 매니페스트의 `run`에서 색인됨 | 대시보드에 업로드 |
| 발견 | 둘러볼 수 있는 마켓플레이스 | 없음 |

## 어디서 시작하나

Caputchin 게임을 한 번도 빌드한 적 없다면, [마켓플레이스 게임 빌드하기](/docs/marketplace-game-development/build-a-marketplace-game)를 처음부터 끝까지 읽고, 그다음 [리플레이 계약](/docs/marketplace-game-development/replay-contract)을 읽으세요. 출시할 준비가 되면, [마켓플레이스에 공개하기](/docs/marketplace-game-development/publish-to-the-marketplace)를 따르세요. [엔진 키트](/docs/marketplace-game-development/engine-kit)는 선택이며 통째로 건너뛸 수 있습니다.

## 함께 보기

- [마켓플레이스 게임 빌드하기](/docs/marketplace-game-development/build-a-marketplace-game): 빌드 튜토리얼.
- [리플레이 계약](/docs/marketplace-game-development/replay-contract): 게임을 재생 가능하게 만드는 것.
- [마켓플레이스에 공개하기](/docs/marketplace-game-development/publish-to-the-marketplace): 태그, 색인, 자동화.
- [커스텀 게임 개발](/docs/custom-game-development/overview): 자체 호스팅, 당신 키만 쓰는 대안.
