---
type: explanation
title: Kirim game ke marketplace
summary: Apa itu pengembangan game marketplace, potongan yang terlibat (SDK, manifest, kontrak putar-ulang, kit engine opsional), dan bagaimana mereka cocok bersama dari kode ke game yang diterbitkan, bisa-diputar-ulang yang bisa disematkan siapa pun.
---

Sebuah game marketplace adalah game yang kamu bangun sekali dan **siapa pun** bisa sematkan: kamu menerbitkan repo GitHub publik, platform mengindeksnya, dan pengguna menjangkaunya lewat id game-nya tanpa keterlibatan darimu. Ini ujung berlawanan dari [game kustom](/docs/custom-game-development/overview), yang hanya kamu bisa pakai dan yang kamu hosting sendiri. Bagian ini adalah panduan rinci, bangun-dan-terbitkan untuk jalur marketplace.

Jika kamu hanya ingin game untuk kunci situs-mu sendiri, kamu ingin [pengembangan game kustom](/docs/custom-game-development/overview) sebagai gantinya. Datang ke sini saat kamu ingin mendistribusikan game ke setiap pengguna Caputchin.

## Seluruh pipeline

```mermaid
flowchart TD
  A["Tulis game (game-sdk)"] --> B["Deskripsikan ia (manifest caputchin.json)"]
  B --> C["Buat ia bisa-diputar-ulang: run(seed, trace) menghasilkan vonis"]
  C -.->|kit opsional| K["engine-kit: hasilkan run dari sebuah reducer"]
  C --> D["Terbitkan: tag repo caputchin-game"]
  D --> E["Pengindeks memin bundel dan menjalankan pemeriksaan-diri putar-ulang"]
  E --> F["Terdaftar dan bisa-disematkan, bisa-diputar-ulang jika pemeriksaan-diri lolos"]
```

Tiap kotak memetakan ke sebuah halaman di bagian ini:

| Potongan | Apa itu | Halaman |
|---|---|---|
| Game | Bundel JS mandiri yang dibangun terhadap game SDK yang berjalan di iframe ber-sandbox widget. | [Bangun game marketplace](/docs/marketplace-game-development/build-a-marketplace-game), [referensi SDK](/docs/marketplace-game-development/game-sdk-reference) |
| Manifest | Sebuah `caputchin.json` di akar repo yang mendeskripsikan game, preset, dan bundel-nya. | [Manifest caputchin.json](/docs/marketplace-game-development/the-caputchin-json-manifest) |
| Kontrak putar-ulang | Sebuah `run(seed, trace) -> verdict` deterministik yang dijalankan-ulang server untuk mencapai keputusan otoritatif. | [Kontrak putar-ulang](/docs/marketplace-game-development/replay-contract) |
| Kit engine | Sebuah kit penulisan **opsional** yang menghasilkan `run` yang sesuai dari reducer biasa. | [engine-kit](/docs/marketplace-game-development/engine-kit) |
| Penerbitan | Tag repo, pengindeks menemukan dan memin-nya, opsional otomasi dengan CI. | [Terbitkan ke marketplace](/docs/marketplace-game-development/publish-to-the-marketplace) |

## Bisa-diputar-ulang vs tidak bisa-diputar-ulang [#replayable-vs-not-replayable]

Gagasan paling penting tunggal di jalur ini: sebuah game marketplace bisa menggerbang verifikasi hanya jika ia **bisa-diputar-ulang** di sisi-server. Saat pengindeks mencerna game-mu ia menjalankan **pemeriksaan-diri putar-ulang**: ia memuat artefak `run` headless-mu di isolate tersegel dan memastikan ia menghasilkan [vonis](/docs/marketplace-game-development/replay-contract) yang sah.

- **Pemeriksaan-diri lolos** → game **bisa-diputar-ulang**: ronde pemain nyata dijalankan-ulang di server untuk mencapai keputusan, jadi game bisa menggerbang sebuah kunci situs.
- **Pemeriksaan-diri gagal** → game menunjukkan **Tidak bisa diputar ulang**. Ia tetap terdaftar dan tetap bisa-disematkan, tapi hanya sebagai UX (bukan gerbang keamanan) sampai kamu menerbitkan versi yang lolos. Situs yang sudah pada versi bisa-diputar-ulang sebelumnya tetap menjalankan snapshot persis itu.

Inilah mengapa determinisme bukan poles opsional: ia adalah garis antara game yang bisa menjaga kunci situs dan yang sekadar dekoratif.

## Bagaimana game marketplace berbeda dari game kustom

| | Game marketplace | [Game kustom](/docs/custom-game-development/overview) |
|---|---|---|
| Siapa bisa menyematkannya | Siapa pun, lewat id game | Hanya kamu |
| Hosting | Dipin-platform dari GitHub / npm-mu | Kamu hosting bundel (`game-src`) |
| Skema kustomisasi | Dideklarasikan di `caputchin.json` | Dideklarasikan di dasbor |
| Artefak putar-ulang | Diindeks dari `run` manifest | Diunggah di dasbor |
| Penemuan | Marketplace bisa-dijelajahi | Tak ada |

## Di mana memulai

Jika kamu tak pernah membangun game Caputchin, baca [Bangun game marketplace](/docs/marketplace-game-development/build-a-marketplace-game) dari atas ke bawah, lalu [Kontrak putar-ulang](/docs/marketplace-game-development/replay-contract). Saat kamu siap mengirim, ikuti [Terbitkan ke marketplace](/docs/marketplace-game-development/publish-to-the-marketplace). [Kit engine](/docs/marketplace-game-development/engine-kit) opsional dan bisa dilewati sepenuhnya.

## Lihat juga

- [Bangun game marketplace](/docs/marketplace-game-development/build-a-marketplace-game): tutorial bangun.
- [Kontrak putar-ulang](/docs/marketplace-game-development/replay-contract): apa yang membuat game bisa-diputar-ulang.
- [Terbitkan ke marketplace](/docs/marketplace-game-development/publish-to-the-marketplace): tag, indeks, otomasi.
- [Pengembangan game kustom](/docs/custom-game-development/overview): alternatif swahosting, hanya-key-mu.
