Corre tu propio juego
Un juego a medida es un juego que tú construyes y alojas, usado en el widget de Caputchin en lugar de un juego del marketplace. Nadie más puede instalarlo, no hay topic de GitHub ni paso de publicación, y te quedas el código. Esta sección es la guía detallada de construirlo-tú-mismo para ese camino. (Si quieres publicar un juego para que cualquiera lo incruste, eso es desarrollo de juegos del marketplace, un camino separado.)
Hay dos formas de entregar un juego a medida, y son superficies genuinamente distintas con límites distintos. Elige según lo que necesites:
Modo manual: tu propio DOM, sin gate
El modo manual es la opción ligera. Fijas trigger="manual" en <caputchin-game>, pones tu propio markup dentro de él, y llamas a los métodos pass() / fail() del elemento desde tu propio código cuando el visitante tiene éxito o falla. No hay iframe ni game SDK; el widget solo te da su shell de layout y la fontanería de verificación alrededor de tu markup.
La contrapartida: una ronda en modo manual no se puede repetir en el servidor, así que un juego en modo manual no puede satisfacer un gate de juego. Corre solo en una clave sin gate (verificación de proof-of-work, con tu interacción como UX), o solo-juego sin verificación en absoluto. Úsalo para una interacción con marca, no para un gate de seguridad que necesites repetido.
Juego autoalojado en iframe: puede ejercer de gate
Un juego autoalojado es un juego real y en sandbox: un bundle de JavaScript construido contra el paquete @caputchin/game-sdk que corre en el iframe del widget, habla con el anfitrión a través del puente del SDK, y reporta una traza que el servidor puede volver a correr. Alojas el bundle tú mismo y apuntas el widget a él con el atributo game-src.
Como la ronda produce una traza reproducible, un juego autoalojado puede ejercer de gate de una clave de sitio, pero solo una vez que le das a Caputchin un artefacto de repetición: un pequeño build headless de la lógica de tu juego que el servidor corre para volver a derivar el veredicto. Hasta que ese artefacto se sube y pasa su autocomprobación, el juego a medida aparece como No reproducible y no puede ejercer de gate.
Qué añade el dashboard
Un juego del marketplace publica un manifiesto caputchin.json que declara sus campos de personalización. Un juego a medida no tiene manifiesto, así que tú declaras esos campos en el dashboard en su lugar: registras el juego a medida por un id que eliges, defines su esquema de campos por eje (idioma, skin, configuración), y creas presets contra él. A partir de ahí se resuelve y aplica exactamente como un juego del marketplace, en los mismos niveles de plan.
Así que la superficie completa de juego a medida es:
| Pieza | Dónde | Necesaria para |
|---|---|---|
| El juego en sí | Tu código, tu host | Siempre |
| Entrega | Slot trigger="manual", o iframe game-src | Siempre |
| Esquema de campos + presets | Dashboard (tú defines el esquema) | Personalizar idioma / skin / config |
| Artefacto de repetición | Subida al dashboard | Ejercer de gate de la verificación (solo autoalojado) |
Véase también
- Modo manual: encaja tu propio DOM y conduce pass/fail.
- Juego autoalojado: construye un juego en iframe reproducible con el SDK.
- Repetición y gate: sube el artefacto que deja a un juego a medida ejercer de gate.
- Referencia del esquema del dashboard: el esquema de campos que defines para un juego a medida.
- Juegos a medida: registrar y alojar, desde el lado del cliente.