# Prompts para construir el obby con mimo

**Cómo se usan:**
- Abre Roblox Studio con un **Baseplate nuevo** y activa el MCP (Assistant › `…` › Manage MCP Servers ›
  «Enable Studio as MCP server»).
- **Crea las cuatro skills en Studio** (una sola vez; quedan en tu cuenta para cualquier juego): en Assistant,
  pestaña **Skills**, nueva skill, y pega el contenido de cada archivo de `skills/`: `mapas-y-distancias`,
  `tags-y-servicios`, `economia-y-powerups` y `ambientacion-y-estetica`. También puedes escribir `/rbx-create-skill`
  en el Assistant y pegárselo.
- En una terminal, entra en esta carpeta y lanza `opencode`.
- Pega los prompts **de uno en uno** y espera a que termine cada uno.

OpenCode lee `AGENTS.md` solo (cómo trabajamos). Las skills tienen el conocimiento reutilizable de Roblox (mapas y
distancias, tags y servicios, economía y power-ups, ambientación); cada prompt nombra las que necesita y el agente
las carga con su herramienta `skill`. Lo específico de este obby (coordenadas, paletas, precios, duraciones) va en
los prompts.

**Por qué de uno en uno:** un modelo pequeño trabaja mejor con encargos cortos y comprobables que con
un «hazme un juego entero». Cada prompt deja el juego funcionando, así que si algo falla sabes en qué paso fue.

---

### P0 · Conectarse
```
Conéctate a Roblox Studio: llama a list_roblox_studios y a get_studio_state. Dime qué place está abierto y en qué modo está. Comprueba también que puedes cargar con la herramienta skill del MCP de Studio (roblox-studio_skill) las skills mapas-y-distancias, tags-y-servicios, economia-y-powerups y ambientacion-y-estetica: dime el primer título de cada una. No cambies nada.
```

### P1 · Plan
```
Lee AGENTS.md entero y carga las cuatro skills (mapas-y-distancias, tags-y-servicios, economia-y-powerups y ambientacion-y-estetica). Sin crear nada todavía, dame la lista de scripts con su ruta, su tipo y su responsabilidad en una línea, y cuántas líneas calculas para cada uno (ninguno pasa de 200). Espera a que te diga «adelante».
```

### P2 · Esqueleto
```
Adelante. Crea la estructura de la sección 3 de AGENTS.md: las carpetas, los Remotes (BuyUpgrade y Notify), Config, Types y los dos Main. Config lleva estos datos: niveles 1 «Bosque» (etapas 1 a 10, inicio (0, 30, 150)), 2 «Hielo» (etapas 11 a 20, inicio (0, 30, 650)) y 3 «Volcán» (etapas 21 a 30, inicio (0, 30, 1150)); mejoras Velocidad (25, 75 y 150 monedas, +2 de WalkSpeed por nivel) y Salto (30, 80 y 160 monedas, +0,8 de JumpHeight por nivel); power-ups Velocidad (×1,5 durante 8 s), Supersalto (×2 durante 8 s) y Escudo (5 s); premio final 50 monedas. Los Main cargan los servicios y controladores que existan, aunque todavía no haya ninguno. Pruébalo con Play y revisa la consola.
```

### P3 · El mapa del Nivel 1
```
Carga con la herramienta roblox-studio_skill (la del MCP de Studio, no la de OpenCode) la skill mapas-y-distancias. Construye el Nivel1 «Bosque» con execute_luau, en un solo bucle y SIN diseñar nada: la lista de abajo ya está decidida. Plataformas de dos partes: bloque de Ground marrón de 6×1×6 y encima una tapa de Grass verde de 6×0.4×6, ambas ancladas. Etapas 1 a 10 desde (0, 30, 150), cada etapa gasta 45 studs en Z: sus 3 plataformas con centros a 11 studs y, 11 studs después de la tercera, el checkpoint (losa de 8×1×8 gris, tag Checkpoint, atributo Stage); la etapa siguiente empieza 12 después del checkpoint y 1 stud más alta. Desplazamiento en X de las 3 plataformas de cada etapa: etapa 1: 0, 0, 0 · etapa 2: 0, +6, 0 · etapa 3: -4, 0, +4 · etapa 4: 0, 0, 0 subiendo 2 studs por plataforma · etapa 5: 0, isla de 10×10 en el centro, 0 · etapa 6: +6, +6, +6 · etapa 7: -8, 0, +8 · etapa 8: una sola pasarela de 4×14 en el centro · etapa 9: 0, +4, +8 subiendo 2 por plataforma · etapa 10: 0, 0 y luego un hueco de 9 studs hasta la tercera, con un rodeo de 2 plataformas a x = +10. Debajo, un suelo de Slate gris oscuro de 90×1 de ancho a Y = 8 que cubra el nivel con 20 studs de margen, con el tag KillBrick. En el Lobby, un portal provisional: una Part de neón de 6×8×1 en (0, 4, 20) con el tag LevelPortal y TargetLevel = 1. Devuelve cuántas partes creaste y la Z final. Todavía no escribas scripts.
```

### P4 · Checkpoints, lava y portales
```
Carga con la herramienta roblox-studio_skill (la del MCP de Studio, no la de OpenCode) la skill tags-y-servicios y escribe PlayerData (leaderstats «Monedas» y «Etapa»), CheckpointService, KillBrickService y LevelService. Al tocar un checkpoint nuevo sube la etapa y la bandera cambia de gris a verde; al morir, el jugador reaparece encima de su último checkpoint; el peligro mata; el portal lleva al inicio del nivel que indica su TargetLevel, leído de Config. Pruébalo con Play: revisa la consola y dime en qué posición aparece el jugador.
```

### P5 · Vestir el Nivel 1
```
Carga con la herramienta roblox-studio_skill (la del MCP de Studio, no la de OpenCode) la skill ambientacion-y-estetica. Sin cambiar ninguna plataforma ni ningún hueco, viste el Nivel1 con execute_luau: a cada checkpoint añádele un poste (cilindro de 0.6×6×0.6 de Wood) en una esquina de la losa, una bandera (Part de 0.2×2×3 de color gris) en lo alto del poste, una PointLight tenue y un BillboardGui con el número de etapa; nombra la bandera «Bandera» para que el servidor pueda cambiarle el color. Bajo cada hueco entre plataformas pon un charco de pantano: una Part verde oscuro de 10×0.5×8 a Y = 8.6 con el tag KillBrick y un ParticleEmitter suave. En el Lobby, sustituye el portal provisional por un arco: dos columnas de Cobblestone de 2×10×2, un dintel de 10×2×2 y dentro un plano de neón verde de 6×8×0.2 con el tag LevelPortal y TargetLevel = 1; pon una plataforma de Cobblestone de 40×1×40 como suelo del lobby, un cartel (Part con SurfaceGui) que diga el nombre del juego, y un puesto de tienda (mostrador de Wood de 6×3×2 con toldo) llamado «PuestoTienda». Devuelve cuántas partes creaste.
```

### P6 · Decorar y ambientar el Nivel 1
```
Carga con la herramienta roblox-studio_skill (la del MCP de Studio, no la de OpenCode) la skill ambientacion-y-estetica. Decora el Nivel1 y el Lobby siguiendo la sección 5 de AGENTS.md: busca en la Creator Store árboles, rocas, setas y arbustos gratis de creadores verificados, inserta entre 6 y 8 modelos, límpialos de scripts, escálalos y colócalos a los lados del recorrido, sin estorbar ningún salto. Luego la atmósfera del bosque: escribe LightingController en el cliente, que al entrar en cada nivel cambia con un tween ClockTime, Ambient, niebla y Atmosphere; para el bosque, media tarde con niebla ligera. Añade un Bloom suave y un ColorCorrection con poco contraste, globales. Dime qué modelos pusiste, dónde, y cuántos scripts borraste de cada uno.
```

### P7 · Monedas y HUD
```
Carga con la herramienta roblox-studio_skill (la del MCP de Studio, no la de OpenCode) las skills tags-y-servicios, economia-y-powerups y ambientacion-y-estetica. Pon de 2 a 3 monedas por etapa en el Nivel1 (cilindros dorados de canto, brillantes, con el tag Coin y Value = 1) y escribe CoinService, que las recoge y las hace reaparecer a los 15 s. En el cliente, HudController muestra arriba las monedas, la etapa y el nivel, con marcos redondeados y la fuente Gotham; y un AmbientController hace girar las monedas y muestra un «+1» flotante al recogerlas. Pruébalo con Play.
```

### P8 · Tienda de mejoras
```
Carga con la herramienta roblox-studio_skill (la del MCP de Studio, no la de OpenCode) la skill economia-y-powerups y añade la tienda: en el puesto del Lobby, un ProximityPrompt «Tienda» que abre un panel (ShopController) con Velocidad y Salto, sus 3 niveles y los precios de Config, con el mismo estilo que el HUD. UpgradeService valida en el servidor que el jugador tenga monedas y no esté al máximo; CharacterStats es el único que escribe WalkSpeed y JumpHeight. Pruébalo con Play.
```

### P9 · Power-ups
```
Carga con la herramienta roblox-studio_skill (la del MCP de Studio, no la de OpenCode) las skills economia-y-powerups y ambientacion-y-estetica. Añade los 3 power-ups de Config con el contrato apply → deshacer. En el Nivel1 pon uno de cada como esferas de color (velocidad azul, supersalto verde, escudo dorado) con luz y unas pocas partículas, con el tag PowerUp y el atributo Type; el AmbientController las hace flotar. PowerUpService los aplica y los hace reaparecer a los 10 s; NotifyController muestra en pantalla cuántos segundos le quedan. Pruébalo con Play.
```

### P10 · Nivel 2, el Hielo
```
Carga con la herramienta roblox-studio_skill (la del MCP de Studio, no la de OpenCode) las skills mapas-y-distancias, tags-y-servicios y ambientacion-y-estetica. Construye el Nivel2 «Hielo»: etapas 11 a 20 desde (0, 30, 650), con los patrones de variedad y el ritmo de la skill. Paleta de hielo: bloques de Ice azul claro con tapa de Snow blanca, suelo oscuro de Slate a Y = 8 con ríos de agua helada (Glass azul oscuro) bajo los huecos, todo con KillBrick; checkpoints como en el Nivel1. Mecánica nueva: el tag Disappearing en la segunda plataforma de cada etapa y un bloque de hielo con Mover y KillBrick por etapa cruzando el camino. Escribe HazardService para Disappearing y Mover. Pon un portal en arco al final del Nivel1 que lleve al Nivel2. En LightingController, el hielo es a primera hora, azulado, con niebla cercana. Pruébalo con Play.
```

### P11 · Nivel 3, el Volcán
```
Carga con la herramienta roblox-studio_skill (la del MCP de Studio, no la de OpenCode) las skills mapas-y-distancias y ambientacion-y-estetica. Construye el Nivel3 «Volcán»: etapas 21 a 30 desde (0, 30, 1150), con los patrones de variedad y el ritmo más difícil. Paleta de volcán: bloques de Basalt gris oscuro con tapa de ceniza (Slate), suelo oscuro a Y = 8 con ríos de lava naranja (neón poco saturado, con partículas de chispas) bajo los huecos, todo con KillBrick; checkpoints como en los otros niveles. Mecánica nueva: una barra de lava con Spinner y KillBrick por etapa (14×1×1, 2 studs por encima de la plataforma del medio), y reutiliza Disappearing en dos etapas; añade los Spinner a HazardService. Pon un portal en arco al final del Nivel2 que lleve al Nivel3, y al final del Nivel3 uno con TargetLevel = 0 que devuelva al Lobby, felicite y dé el premio final una sola vez. Añade 2 monedas y un power-up por etapa en los niveles 2 y 3, y decóralos con la Creator Store como en P6 (cristales y nieve en el hielo, rocas y brasas en el volcán). En LightingController, el volcán es al anochecer, rojizo, con atmósfera densa. Pruébalo con Play.
```

### P12 · Guardado
```
Carga con la herramienta roblox-studio_skill (la del MCP de Studio, no la de OpenCode) la skill economia-y-powerups y escribe DataService según la sección 7 de AGENTS.md: guarda Monedas, las mejoras y la etapa máxima al salir y al cerrar el servidor, con pcall y 3 reintentos. Si la carga falla, ese jugador juega sin guardar y NO se guarda nunca. Como el place no está publicado, debe seguir funcionando sin DataStore. Pruébalo con Play.
```

### P13 · Sonido, respuesta y prueba final
```
Carga con la herramienta roblox-studio_skill (la del MCP de Studio, no la de OpenCode) la skill ambientacion-y-estetica. Añade una música de fondo suave de la Creator Store por nivel, en bucle y a volumen bajo, y sonidos cortos al coger una moneda, activar un checkpoint, coger un power-up y morir; al morir, un fundido rojo breve en pantalla. Luego ejecuta la comprobación de la sección 6 de AGENTS.md sobre todos los scripts y arregla lo que no cumpla. Pruébalo con Play, haz una captura de cada nivel desde arriba con screen_capture y dame un resumen: cuántos scripts hay, sus líneas, qué hace el juego y qué no has podido probar.
```

---

### Comodín · Cuando algo falla
```
En la consola sale este error: «PEGA AQUÍ EL ERROR». Busca la causa, arréglala sin pasar de 200 líneas en ningún script y vuelve a probar con Play.
```

### Comodín · Cuando algo se ve mal
```
En el juego pasa esto: «DESCRIBE LO QUE VES». Haz una captura con screen_capture para verlo, encuentra la causa y arréglalo.
```

**Al terminar:** guarda el place con **Archivo › Guardar** (o Ctrl+S). El agente no puede guardarlo por ti.
