Cómo escribir buenas entradas
Todos los mundos de la plataforma usan entradas (lore), y muchos de los más populares funcionan solo con entradas, sin ningún comportamiento. Lo básico sobre aperturas, lore y los cuatro bloques de lore está en Apertura y lore.
Cómo escribir personajes que se sienten vivos
Los mejores mundos de la plataforma invierten más en las entradas de personajes que en cualquier otra cosa.
Personalidad como comportamiento, no como etiquetas
No te limites a enumerar rasgos. Describe cómo se manifiestan esos rasgos en la acción.
En lugar de esto:
Kasu es tímido, introvertido y desesperado por ser aceptado.
Escribe esto (de la carta Veneno en el frasco (壺中の毒 · 大逃杀), la entrada real de Kasu):
Kasu es tan introvertido que apenas se registra como una presencia, y lo que más quiere es ser aceptado. En tres años de escuela, casi nunca habló con nadie sin que se lo pidieran, no por frialdad, sino por miedo. Tiene miedo de que si abre la boca lo rechacen, se burlen de él o lo ignoren. Así que se queda callado y se convierte en parte del fondo.
En el grupo de la cueva, Kasu hace silenciosamente el trabajo más físico: traer agua del arroyo, organizar la ropa de cama, recoger mariscos durante la marea baja. Nunca se queja, porque "tener algo que hacer" es lo que le hace sentir necesario.
La IA no puede actuar "tímido" de forma consistente. Pero sí puede seguir actuando como "trae el agua, nunca se queja, se convierte en parte del fondo."
Etapas de relación
Los mundos más inmersivos cambian cómo se comportan los personajes según lo bien que el jugador los conoce. Sakura Season lo hace así: cada una de sus tres heroínas tiene descripciones de comportamiento en cuatro niveles de afinidad (0-25, 26-50, 51-75, 76-100).
Puedes hacerlo con una entrada por etapa de relación, cada una enviada solo mientras una variable esté dentro del rango de esa etapa:
- Etapa temprana (afinidad 0-25): formal, en guardia, conversación superficial
- Confianza creciente (afinidad 26-50): empieza a compartir opiniones, vulnerabilidad ocasional
- Cercana (afinidad 51-75): bromas privadas, silencio cómodo, pide ayuda
- Vínculo profundo (afinidad 76+): vulnerabilidad total, patrones de habla únicos, protectora
A medida que cambia la variable de relación, la guía de la IA cambia automáticamente.
Cómo configurarlo
En el lienzo, esto es Lore condicional:
- Escribe una entrada por etapa ("Rin — Etapa temprana", "Rin — Confianza creciente", etc.).
- Arrastra la variable
rin_affinitysobre una entrada. Una línea las conecta y la entrada pasa al bloque Lore condicional. Haz clic en la línea y pon la condición, por ejemplo≥ 26. - Para un rango, arrastra otra vez la variable sobre la misma entrada y pon la segunda condición (
< 51). Con dos o más condiciones, Cuándo lo ve la IA de la entrada te deja elegir si tienen que cumplirse todas o basta con una. Para el rango de una etapa, usa todas.
El motor comprueba las condiciones en cada turno, y solo el contenido de la etapa que coincide llega a la IA.
La otra forma es Lore en espera más comportamientos: desactiva Enviar siempre en las entradas de cada etapa, no les pongas palabras clave ni condiciones, y añade comportamientos que usen Habilitar entrada de lore / Deshabilitar entrada de lore cuando la afinidad cruce cada umbral. Da más trabajo, y sobre todo sirve cuando lo que debe abrir la entrada no es el valor de una variable (un botón, una palabra clave, un evento que pasa una sola vez). Mira Comportamientos.
En los datos de la carta, las condiciones se guardan como conditions: [...] en la entrada. Referencia completa del esquema → Especificación del mundo: Entradas
La fórmula de la hoja de personaje
Un patrón que se repite en muchos mundos de éxito:
- Identidad (1-2 oraciones): nombre, rol, rasgo central
- Apariencia (2-3 oraciones): lo que ve el jugador. Detalles específicos, no descripciones genéricas
- Patrones de comportamiento (la mayor parte): cómo hablan, qué hacen cuando están nerviosos/enojados/felices, sus hábitos, contradicciones
- Relación con el jugador: cómo ven al jugador al principio, qué cambia su opinión
- Secretos: cosas que la IA sabe pero el personaje no revela fácilmente
La sección de patrones de comportamiento es en la que la mayoría de los creadores se quedan cortos.
El lorebook: contexto bajo demanda
El lore por palabra clave permite que un mundo tenga 50.000 palabras de lore mientras la IA solo lee las pocas entradas que importan en este turno.
Diseñar buenas listas de palabras clave
El motor escanea los últimos mensajes en busca de tus palabras clave. Basta con que coincida una para activar la entrada (lógica OR). Piensa en todas las formas en que un jugador podría referirse a algo.
Para una entrada sobre una taberna:
tavern,inn,bar,drink,bartender,pub
Para una entrada sobre un personaje llamado Sakurai Kimika:
Kimika,Sakurai,class rep,class representative
Palabra completa: actívala cuando las palabras clave cortas provoquen activaciones falsas. Sin ella, la palabra clave "art" coincidiría con "start", "heart" y "apart."
Palabras clave secundarias para afinar
A veces una palabra clave no basta para saber si una entrada es relevante. Las Palabras clave secundarias te dejan añadir un segundo filtro:
| Modo | Significado | Caso de uso de ejemplo |
|---|---|---|
| AND_ANY | La primaria coincide Y al menos una secundaria | "forest" + cualquiera de ["elf", "danger", "ruins"] |
| AND_ALL | La primaria coincide Y todas las secundarias coinciden | "forest" + tanto "night" Y "danger" |
| NOT_ANY | La primaria coincide Y ninguna de las secundarias | "forest" pero NO "safe" ni "peaceful" |
| NOT_ALL | La primaria coincide Y no todas las secundarias | "forest" pero no "safe" y "day" juntas |
El uso más común: AND_ANY para cruzar temas. Quieres que la entrada de "lore del bosque oscuro" se active cuando el jugador mencione bosques Y algo siniestro, no con cualquier mención de árboles.
Palabra completa, Palabras clave secundarias y los ajustes de abajo están en Cuándo lo ve la IA → Avanzado de una entrada abierta.
Inyección por profundidad: dónde aparece la entrada en el chat
Las entradas con Inyectar en puesto en Cuando se mencione no van al principio del prompt con las entradas que se envían siempre. Se inyectan en el historial de chat en una posición concreta. El ajuste Profundidad (mensajes desde el final) controla dónde.
depth: 4 significa que la entrada aparece 4 mensajes antes del final del chat. Así se siente como una parte natural de la conversación reciente y no como una instrucción del sistema caída desde arriba.
Las profundidades bajas (más cerca del final) reciben más atención de la IA. Las altas (más atrás) se sienten más como contexto de fondo.
Detalle técnico: cómo funciona la profundidad
Si el historial de chat es:
[1] User: Hello
[2] AI: Hi there
[3] User: Where's the forest?
[4] AI: Head north
[5] User: Alright, let's goUna entrada con depth 2 se inserta antes del mensaje [4]:
[1] User: Hello
[2] AI: Hi there
[3] User: Where's the forest?
--- [Contenido de la entrada insertado aquí] ---
[4] AI: Head north
[5] User: Alright, let's godepth 0 coloca la entrada al final del todo (como las entradas Al final).
Referencia completa → Especificación del mundo: Entradas
Entradas que dependen del estado
Algunas entradas no deberían esperar a las palabras clave. Tienen que llegar a la IA según el estado real del mundo. En el lienzo, estas forman el bloque Lore condicional: arrastra una variable sobre una entrada y haz clic en la línea para poner la condición. Cómo se configura está explicado en Etapas de relación, más arriba.
Así la entrada depende del valor real de una variable, no de si el jugador escribió o no una palabra clave.
Ejemplo real: la actitud de los compañeros
Wandering Diary usa este patrón para cambiar cómo se comportan los compañeros con el jugador. Cada compañero tiene tres entradas: una para afinidad baja (cauteloso y distante), otra para media (va cogiendo confianza) y otra para alta (lealtad profunda), y la que toca llega a la IA a medida que la variable de afinidad cruza cada umbral.
El jugador nunca ve esta maquinaria. Solo vive a un compañero que se va abriendo poco a poco.
Condiciones y palabras clave juntas
Una entrada puede tener palabras clave y condiciones. En ese caso solo se envía cuando aparece una palabra clave y se cumplen sus condiciones:
- Palabras clave:
Kimika,class rep - Condición:
day_count > 3 - Efecto: la historia de fondo del NPC solo aparece después del día 3, y solo cuando el jugador la menciona
Así la información no aparece demasiado pronto en la historia.
Siete operadores de comparación
| Operador | En el lienzo | Significado | Mejor para |
|---|---|---|---|
eq | es | Igual | Comprobaciones de estado exactas ("la ubicación es la cueva") |
neq | no es | Distinto | Exclusiones ("no está en la zona del tutorial") |
gt | > | Mayor que | Umbrales ("afinidad por encima de 50") |
gte | ≥ | Mayor o igual | Umbrales inclusivos |
lt | < | Menor que | Estados bajos ("salud por debajo de 20") |
lte | ≤ | Menor o igual | Estados bajos inclusivos |
contains | contiene | El texto contiene | Coincidencia parcial de texto |
Varias condiciones se combinan con Todas (deben cumplirse todas) o Alguna (basta con una).
Técnicas avanzadas
Recursión: contexto encadenado
Cuando la entrada A se activa y su contenido menciona una palabra clave de la entrada B, ¿debería activarse también B? Eso es la recursión. Viene desactivada (Disparos en cascada = 0, en Context → Avanzado), pero puedes activarla en mundos con lore muy interconectado.
Úsala con cuidado. Las cadenas de recursión largas pueden gastar mucho contexto. La mayoría de los mundos la dejan en 0 o 1.
Cada entrada tiene dos controles de seguridad:
- Prevenir recursión: esta entrada puede activarse, pero su contenido no se escanea en busca de otras entradas. "Pueden despertarme, pero yo no despierto a nadie."
- Excluir de la recursión: solo las palabras reales del jugador pueden activar esta entrada. Los escaneos recursivos no la ven.
Cambiar el rol en la API
Por defecto, todas las entradas se envían como mensajes del sistema. Enviar como cambia cómo las interpreta la IA:
- Instrucción (system): el valor por defecto. La IA lo trata como una regla que seguir.
- Usuario: la IA cree que lo dijo un jugador. Algunos modelos dan más peso a los mensajes del usuario.
- IA (assistant): la IA cree que lo dijo ella misma. Útil para "prerrellenar" un estilo de respuesta.
Diálogo de ejemplo
Las entradas con Inyectar en puesto en Diálogo de ejemplo reciben un trato especial. El motor las convierte en pares de mensajes usuario/asistente, así que la IA ve muestras reales de conversación en vez de un bloque de texto.
Formato:
<START>
{{user}}: Can you heal this wound?
{{char}}: *examines the wound, frowning* This isn't a normal knife wound.
There's a curse residue. I need moonflower pollen... but it's daytime.
<START>
{{user}}: So what do we do?
{{char}}: *shrugs* Either wait for nightfall, or you endure it.
I recommend the latter — pain is the best teacher.Usa <START> para separar los distintos ejemplos de conversación. {{user}} y {{char}} son macros que se sustituyen por los nombres reales del jugador y del personaje.
Pocos ejemplos buenos valen más que muchos. 2-3 muestras de diálogo que capturen la voz del personaje funcionan mejor que 10 que hagan que la IA las imite con rigidez.
Palabras clave con regex
Las palabras clave también admiten expresiones regulares. Escribe la palabra clave en formato /pattern/flags (por ejemplo, /dark\s*forest/i) y el motor la tratará como una regex en lugar de un texto literal. Útil cuando necesitas captar formulaciones flexibles que las palabras clave simples no cubren.
Alcance del escaneo y presupuesto de tokens
El motor no escanea todo el historial de chat en busca de palabras clave. Alcance de palabras clave (por defecto 2, hasta 50) controla cuántos mensajes recientes se revisan. En el lienzo está en Context → Avanzado; Paneles → Lorebook tiene el mismo ajuste en Ajustes de la entrada. Los valores altos captan más referencias pero cuestan más procesamiento.
También hay un presupuesto de tokens para las entradas activadas: los ajustes del mundo lorebookBudgetPercent (por defecto 100%) y lorebookBudgetCap (por defecto 0, que significa sin tope). El editor no tiene controles para ellos; se fijan en los datos de la carta. Cuando las entradas activadas superan el presupuesto, se conservan por orden de posición (la puntuación de coincidencia solo desempata) y las demás se descartan.
Organización en carpetas
Cuando tu mundo tiene decenas o cientos de entradas, usa carpetas: Paneles → Lorebook tiene Agregar carpeta, y puedes arrastrar las entradas a grupos lógicos (todos los NPC en una carpeta, todo el lore de lugares en otra). Las carpetas solo sirven para ordenar; no afectan al funcionamiento en partida, a las coincidencias ni al orden de inyección.
Orden por posición
Dentro de cada sección, las entradas se ordenan por su número de Posición (más bajo = antes), que se ajusta en Paneles → Lorebook. Admite decimales, así que puedes colocar una entrada entre las posiciones 2 y 3 dándole la posición 2.5.
Las entradas que se envían siempre y van antes se guardan en caché con más eficiencia, así que pon el contenido más estable (descripciones de personajes, reglas del mundo) en posiciones bajas, y el que puede cambiar (instrucciones dinámicas) en posiciones altas.
Errores comunes
Entradas que nunca se envían. Una entrada con Enviar siempre desactivado y sin palabras clave ni condiciones nunca se envía por sí sola. Eso es Lore en espera, justo lo que quieres cuando la abre un comportamiento. Si no era tu intención, ponle palabras clave o una condición, o marca Enviar siempre.
Rangos de etapa que se solapan. Si "Rin — Etapa temprana" se envía con afinidad < 30 y "Rin — Confianza creciente" con afinidad > 25, entre 26 y 29 llegan las dos a la IA. Usa rangos que no se solapen: < 26 y ≥ 26 con < 51. Lo mismo vale para los comportamientos que habilitan y deshabilitan entradas de etapa.
Palabras clave tan concretas que nunca coinciden. Si tu entrada sobre el "Crystalline Sanctum" solo se activa con crystalline sanctum, los jugadores que escriban "crystal place" o "that temple" nunca la verán. Piensa en cómo se refieren los jugadores a las cosas de verdad, no solo en el nombre oficial.
Profundidad excesiva para contexto importante. Una entrada con depth 8 queda tan atrás en el historial que la IA apenas le hace caso. Mantén el contexto importante en depth 2-4 y reserva las profundidades altas para ambientación de fondo.
Consulta también
- Diseñando el estado del juego: cómo elegir y estructurar las variables a las que reaccionan tus entradas
- Directivas y Macros de IA: la sintaxis
{{macro}}y el formato de directiva que se usan dentro de las entradas - Comportamientos y automatización: cómo usar Habilitar entrada de lore / Deshabilitar entrada de lore para abrir y cerrar entradas desde comportamientos
Referencia completa del esquema → Especificación del mundo: Entradas y secciones
