# Crea tu obby con IA, gratis: guía de instalación

**Qué vas a montar:** OpenCode (un agente de IA de código abierto) con el modelo gratuito **MiMo-V2.6-Flash**,
conectado a Roblox Studio por MCP. El agente construye el mapa, escribe los scripts, coloca modelos de la
Creator Store y prueba el juego. Tú le hablas en español.

**Necesitas:** Roblox Studio actualizado, conexión a internet y unos 20 minutos. No hace falta Rojo, ni
VS Code, ni ninguna cuenta de pago.

---

## 1. Instala OpenCode

**Windows** (elige una opción):
```
npm install -g opencode-ai
```
```
choco install opencode
```
```
scoop install opencode
```
La de `npm` necesita tener instalado Node.js (versión LTS, de nodejs.org). La documentación de OpenCode
recomienda WSL para el uso general, pero **aquí conviene la instalación normal de Windows**, porque Roblox
Studio es un programa de Windows y así se hablan sin intermediarios.

**macOS:**
```
brew install anomalyco/tap/opencode
```

**Linux:**
```
curl -fsSL https://opencode.ai/install | bash
```

Comprueba que quedó instalado:
```
opencode --version
```

## 2. Prepara la carpeta del proyecto

Crea una carpeta, por ejemplo `obby-ia`, y mete dentro los archivos del kit:

| Archivo | Para qué sirve |
|---|---|
| `AGENTS.md` | Las reglas del agente: sin Rojo, KISS, SOLID, `--!strict` y ≤200 líneas por script |
| `PROMPTS.md` | Los prompts, en orden |
| `skills/*/SKILL.md` | Cuatro skills reutilizables: mapas y distancias, tags y servicios, economía y power-ups, ambientación y estética. **No van en la carpeta: se crean como skills dentro de Studio**, paso 3 |
| `opencode.json` | Qué modelo usar y cómo conectarse a Studio. **Copia el de tu sistema:** |

**Windows**, `opencode.json`:
```json
{
  "$schema": "https://opencode.ai/config.json",
  "model": "opencode/mimo-v2.6-flash-free",
  "mcp": {
    "roblox-studio": {
      "type": "local",
      "command": ["cmd.exe", "/c", "%LOCALAPPDATA%\\Roblox\\mcp.bat"],
      "enabled": true,
      "timeout": 30000
    }
  },
  "permission": { "edit": "deny", "bash": { "*": "ask", "sleep *": "allow" }, "webfetch": "allow" }
}
```

**macOS**, `opencode.json`:
```json
{
  "$schema": "https://opencode.ai/config.json",
  "model": "opencode/mimo-v2.6-flash-free",
  "mcp": {
    "roblox-studio": {
      "type": "local",
      "command": ["/Applications/RobloxStudio.app/Contents/MacOS/StudioMCP"],
      "enabled": true,
      "timeout": 30000
    }
  },
  "permission": { "edit": "deny", "bash": { "*": "ask", "sleep *": "allow" }, "webfetch": "allow" }
}
```

**Qué significa cada parte:**
- `model` elige el modelo gratis.
- `mcp` le dice a OpenCode cómo arrancar el servidor que trae Studio. Son las rutas de la documentación oficial de Roblox.
- `timeout` le da 30 segundos para responder.
- `bash` pregunta antes de ejecutar cualquier comando, salvo `sleep`, que el agente usa para esperar a que arranque el juego.
- `tools.skill: false` apaga la herramienta de skills propia de OpenCode, para que el agente use siempre la del MCP
  de Studio (`roblox-studio_skill`), que es donde están las skills del juego. Sin esto, a veces busca las skills en el
  sitio equivocado y se rinde.
- `edit: "deny"` impide que el agente escriba archivos en tu PC. **Todo el código va dentro de Studio**,
  que es justo lo que queremos sin Rojo.

## 3. Prepara Roblox Studio

1. Abre Studio y crea un **Baseplate** nuevo.
2. Abre **Assistant**, pulsa **`…` › Manage MCP Servers** y enciende **Enable Studio as MCP server**.
3. **Crea las cuatro skills**, una sola vez: en Assistant abre la pestaña **Skills** y, por cada `SKILL.md` del kit,
   crea una skill nueva y pega su contenido (o escribe `/rbx-create-skill` y pégaselo). Quedan en tu cuenta de Roblox
   y sirven para cualquier juego, no solo para este obby.

El interruptor del MCP **no se queda guardado**: hay que encenderlo cada vez que abres Studio. Las skills sí se quedan.

## 4. Comprueba la conexión

En una terminal, dentro de la carpeta `obby-ia`:
```
opencode mcp list
```
Tiene que salir `roblox-studio connected`. Entonces abre el agente:
```
opencode
```
y pega el primer prompt de `PROMPTS.md` (P0). Si te dice qué place tienes abierto, ya está todo listo.

## 5. Construye el juego

Pega los prompts **de uno en uno**, en orden, y espera a que termine cada uno. Si sale un error, usa el
prompt comodín del final. Al terminar, **guarda el place** con Archivo › Guardar: el agente no puede hacerlo por ti.

---

## Si algo falla

| Síntoma | Qué hacer |
|---|---|
| `opencode mcp list` no dice `connected` | Actualiza Studio. En Windows, comprueba que existe `%LOCALAPPDATA%\Roblox\mcp.bat` |
| El agente dice que no hay ningún Studio (`"studios":[]`) | En Studio, apaga y vuelve a encender «Enable Studio as MCP server». Cierra otros programas conectados a Studio por MCP (Claude Desktop, Cursor…) |
| El Play se queda colgado («Start play hasn't finished yet») | Pulsa tú el botón rojo de **Stop** en Studio y dile al agente que siga |
| El modelo va muy lento o no responde | Escribe `/models` en OpenCode y elige otro gratis, por ejemplo `nemotron-3-ultra-free` |
| El agente escribe código con errores | Es normal: pega el error con el prompt comodín. **Revisa siempre lo que hace** |

## Antes de usarlo en serio

- **Los modelos gratis no son gratis del todo:** OpenCode avisa de que, durante el periodo gratuito, «los
  datos recogidos pueden usarse para mejorar el modelo». No le pases código privado, contraseñas ni datos personales.
- **Son temporales:** OpenCode los ofrece «por tiempo limitado». Si mimo deja de estar gratis, mira los
  gratuitos que haya con `opencode models`.
- **Los modelos gratis de la Creator Store pueden traer scripts maliciosos.** El AGENTS.md le ordena al agente
  borrarlos al insertar, pero revisa tú lo que queda antes de publicar.
- **La IA se equivoca con total seguridad.** Se inventa métodos que no existen. Pruébalo todo antes de publicar.
