---
type: explanation
title: Publique um jogo no marketplace
summary: O que é o desenvolvimento de jogo de marketplace, as peças envolvidas (SDK, manifesto, contrato de replay, o kit de engine opcional), e como elas se encaixam do código a um jogo publicado e reproduzível que qualquer um pode embutir.
---

Um jogo de marketplace é um jogo que você constrói uma vez e **qualquer um** pode embutir: você publica um repositório público no GitHub, a plataforma o indexa, e os usuários o alcançam pelo seu id de jogo sem envolvimento seu. Esta é a ponta oposta de um [jogo personalizado](/docs/custom-game-development/overview), que só você pode usar e que você mesmo hospeda. Esta seção é o guia detalhado de construir e publicar o caminho de marketplace.

Se você só quer um jogo para as suas próprias chaves de site, você quer [desenvolvimento de jogo personalizado](/docs/custom-game-development/overview) em vez disso. Venha aqui quando quiser distribuir um jogo a cada usuário Caputchin.

## O pipeline inteiro

```mermaid
flowchart TD
  A["Escreva o jogo (game-sdk)"] --> B["Descreva-o (manifesto caputchin.json)"]
  B --> C["Torne-o reproduzível: run(seed, trace) produz um veredito"]
  C -.->|kit opcional| K["engine-kit: produz run de um reducer"]
  C --> D["Publique: marque o repositório com a tag caputchin-game"]
  D --> E["O indexador fixa o bundle e roda a autoverificação de replay"]
  E --> F["Listado e embutível, reproduzível se a autoverificação passou"]
```

Cada caixa mapeia para uma página nesta seção:

| Peça | O que é | Página |
|---|---|---|
| O jogo | Um bundle JS autossuficiente construído contra o SDK de jogo que roda no iframe em sandbox do widget. | [Construir um jogo de marketplace](/docs/marketplace-game-development/build-a-marketplace-game), [Referência do SDK](/docs/marketplace-game-development/game-sdk-reference) |
| O manifesto | Um `caputchin.json` na raiz do repositório descrevendo o jogo, seus presets e seu bundle. | [O manifesto caputchin.json](/docs/marketplace-game-development/the-caputchin-json-manifest) |
| O contrato de replay | Um `run(seed, trace) -> verdict` determinístico que o servidor reexecuta para chegar à decisão autoritativa. | [O contrato de replay](/docs/marketplace-game-development/replay-contract) |
| O kit de engine | Um kit de autoria **opcional** que produz um `run` conforme a partir de um reducer simples. | [O engine-kit](/docs/marketplace-game-development/engine-kit) |
| Publicação | Marque o repositório com uma tag, o indexador o descobre e o fixa, opcionalmente automatize com CI. | [Publicar no marketplace](/docs/marketplace-game-development/publish-to-the-marketplace) |

## Reproduzível vs não reproduzível [#replayable-vs-not-replayable]

A ideia mais importante deste caminho: um jogo de marketplace pode proteger a verificação só se for **reproduzível** no servidor. Quando o indexador ingere seu jogo ele roda uma **autoverificação de replay**: ele carrega seu artefato `run` headless em um isolate selado e confirma que ele produz um [veredito](/docs/marketplace-game-development/replay-contract) válido.

- **A autoverificação passa** → o jogo é **reproduzível**: a rodada de um jogador real é reexecutada no servidor para chegar à decisão, então o jogo pode proteger uma chave de site.
- **A autoverificação falha** → o jogo mostra **Não reproduzível**. Ele ainda é listado e ainda embutível, mas só como UX (não um portão de segurança) até você publicar uma versão que passe. Sites já em uma versão reproduzível anterior continuam rodando aquele instantâneo exato.

É por isso que o determinismo não é um polimento opcional: ele é a linha entre um jogo que pode guardar uma chave de site e um que é meramente decorativo.

## Como um jogo de marketplace difere de um jogo personalizado

| | Jogo de marketplace | [Jogo personalizado](/docs/custom-game-development/overview) |
|---|---|---|
| Quem pode embuti-lo | Qualquer um, pelo id de jogo | Só você |
| Hospedagem | Fixado pela plataforma do seu GitHub / npm | Você hospeda o bundle (`game-src`) |
| Esquema de personalização | Declarado em `caputchin.json` | Declarado no painel |
| Artefato de replay | Indexado do `run` do manifesto | Enviado no painel |
| Descoberta | Marketplace navegável | Nenhuma |

## Por onde começar

Se você nunca construiu um jogo Caputchin, leia [Construir um jogo de marketplace](/docs/marketplace-game-development/build-a-marketplace-game) de cima a baixo, depois [O contrato de replay](/docs/marketplace-game-development/replay-contract). Quando estiver pronto para publicar, siga [Publicar no marketplace](/docs/marketplace-game-development/publish-to-the-marketplace). O [kit de engine](/docs/marketplace-game-development/engine-kit) é opcional e pode ser pulado por completo.

## Veja também

- [Construir um jogo de marketplace](/docs/marketplace-game-development/build-a-marketplace-game): o tutorial de construção.
- [O contrato de replay](/docs/marketplace-game-development/replay-contract): o que torna um jogo reproduzível.
- [Publicar no marketplace](/docs/marketplace-game-development/publish-to-the-marketplace): marcar com tag, indexar, automatizar.
- [Desenvolvimento de jogo personalizado](/docs/custom-game-development/overview): a alternativa auto-hospedada, só-suas-chaves.
