Prueba de Script de Combate Moderno
Traducido del inglés
Campo de pruebas para un script de combate moderno estilo RPG
Nota: Esta es una demo de script y no un bot de rol legítimo. Enlace al código en la última sección.
Prueba las probabilidades de explosivos, proyectiles y cuerpo a cuerpo en el rol.
¡Es una guerra total en algún país devastado por la guerra de mierda!
¿Sobrevivirá nuestro soldado, Bob, a la tirada de dados?
Elegí una imagen random para la miniatura
Fuente del arte: Drunken-Lord
Nota: Este script probablemente dependerá mucho del tipo de LLM que uses y de cómo interprete las distancias.
Usé DeepSeek V3 0324, tu experiencia puede variar con otros LLMs.
¿Cómo funciona?
TLDR: El bot tira dados varias veces y el éxito (supervivencia) se basa en atributos de combate estilo RPG
Hasta ahora, tengo tres categorías de efectos que pueden ocurrirle a {{char}}.
Explosivo
Proyectil
Cuerpo a cuerpo
También hablaremos del concepto de "atributos de combate moderno" que influirán en estos efectos.
Explosivos
Los explosivos tienen un efecto de área con la probabilidad de verse afectado disminuyendo a medida que aumenta la distancia.
Dos cosas deben preocuparnos respecto a los explosivos: la metralla (o proyectil) y la fuerza de conmoción.
Entonces, podemos definir nuestro prompt inyectado así (ejemplo, puede no ser exactamente el producto final):
# {{char}} debería reaccionar a una explosión de esta manera:
- Corto alcance: ["estremecerse", "conmocionado", "incapacitado"] por la explosión, y la metralla (proyectil) ["va", "no va"] dirigida hacia ellos.
- Medio alcance: ["impasible", "estremecerse", "conmocionado"] por la explosión, y la metralla (proyectil) ["va", "no va"] dirigida hacia ellos.
- Largo alcance: ["impasible", "estremecerse"] por la explosión.
Los valores entre corchetes aquí se determinan mediante tiradas de dados hechas por el bot.
Los atributos del bot aquí no hacen mucho más que ver si sobreviven, ya que los explosivos hacen lo que les da la gana.
Proyectiles
Este probablemente será el caso común en términos de combate en el rol, así que creo que el enfoque tendrá que ser bastante elaborado.
Hay prácticamente tres resultados que se me ocurren cuando te disparan: resultar ileso, herido, y muerto directamente.
Pero, brotando de esos resultados, ¿qué más puede pasar?
- ileso; puedes quedar impasible o suprimido
- herido; puedes quedar entumecido, suprimido o en shock. La herida puede ser leve, grave o mortal. "Mortal" permitiría al bot al menos devolver el fuego una última vez antes de morir.
- muerto; ¿como un tiro en la cabeza o algo así? sí, se acabó.
Entonces, tendremos que ver si el bot devolverá el fuego contra su atacante de manera efectiva, según la habilidad del bot y su estado. (asumiendo que el bot no muere.)
Así que podemos tener nuestro prompt de esta manera:
# {{char}} debería reaccionar a que le disparen, o a un proyectil dirigido hacia él, de esta manera:
Y luego, cada distancia (cercana, media, larga) obtendrá lo siguiente (Algunas oraciones no estarán ahí dependiendo de lo que pase. Por ejemplo: "ileso" no generará la línea "La herida es..."):
Será ["ileso", "herido", "muerto"] por el proyectil. La herida es ["leve", "grave", "mortal"]. {{char}} está ["impasible", "entumecido", "suprimido", "en shock"]. Si tiene sentido devolver el fuego, lo hará ["efectivamente", "inefectivamente"].
Los atributos del bot influyen un poco más en esto, considerando sus atributos "físicos" (¿morirá/se apartará del camino?), sus atributos "mentales" (¿quedará inmovilizado?) y sus atributos de "combate" (¿reaccionará efectivamente?)
Cuerpo a cuerpo
Y, por supuesto, siempre puedes meterte en una pelea con alguien en lugar de reventarlo con una bala 7.62 o 5.56.
Este será el más simple de los prompts y más simple en derivación que el script de combate cuerpo a cuerpo de mis otros bots.
# En combate cuerpo a cuerpo, {{char}} debería luchar ["efectivamente", "inefectivamente"].
Como esto probablemente no ocurrirá tan a menudo como creo, se mantendrá súper simple.
Atributos de Combate Moderno
Voy a tomar inspiración de Escape from Tarkov y usar algunas de las estadísticas de allí. Creo que todas son bastante autoexplicativas.
Físicos
- Vitalidad - salud, básicamente
- Agilidad - qué tan rápido/bien se mueven
- Resistencia - resistencia al daño
- Fuerza - qué tan fuertes son
Mentales
- Percepción - capacidad de percibir cosas en el campo de batalla
- Control del estrés - capacidad de mantenerse calmado bajo presión
Combate
- Manejo - capacidad de apuntar y disparar un arma
- CQC - habilidad de combate en espacios cerrados
- Cuerpo a cuerpo - qué tan bien pueden pelear con sus manos
Estos valores deberían establecerse de 0 a 100 y deberían adaptarse para reflejar la personalidad del bot. Como guía, creo que podemos escalar las cosas así:
(0 - 40: malo), (40-60: promedio), (60-80: bueno), (80-100: excelente)
Así que un personaje francotirador probablemente debería tener "Manejo: 85" pero "CQC: 50" o algo así.
Estos valores se ponderan de manera diferente según la distancia de enfrentamiento: Por ejemplo, CQC influye más fuertemente en "corto alcance" pero se pondera mucho menos (o ni siquiera se considera) en "largo alcance".
Qué estadísticas contribuyen y sus pesos (todos los pesos deben sumar 1):
Estos son honestamente algo aleatorios, así que sí, se agradece la retroalimentación sobre el balanceo de estos.
Supervivencia a explosión:
- todos los alcances: resistencia (0.7), control del estrés (0.3)
Impacto de proyectil:
- cercano: percepción (0.2), agilidad (0.4), cqc (0.4)
- medio: percepción (0.5), agilidad (0.5)
- lejano: percepción (0.7), agilidad (0.3)
Gravedad de la herida:
- cercano: vitalidad (0.3), resistencia (0.4), cqc (0.3)
- medio: vitalidad (0.5), resistencia (0.5)
- lejano: vitalidad (0.3), resistencia (0.7)
Efecto mental:
- cercano: percepción (0.1), control del estrés (0.4), cqc (0.5)
- medio: percepción (0.3), control del estrés (0.7)
- lejano: percepción (0.1), control del estrés (0.9)
Efectividad de represalia:
- cercano: percepción (0.1), manejo (0.4), cqc (0.5)
- medio: percepción (0.3), manejo (0.7)
- lejano: percepción (0.5), manejo (0.5)
Éxito cuerpo a cuerpo:
- fuerza (0.4), cuerpo a cuerpo (0.6)
Código
Con gusto comparto el código, que puedes encontrar aquí en mi GitHub.
Se aplica la licencia MIT, ¡que solo asegura que sea lo más permisiva posible!
Agradecería el crédito si decides usar el script en serio. :)
Creado Sep 13, 2025
Actualizado Nov 21, 2025
Publicado Sep 13, 2025