Introducción a la Creación de Comportamientos en los NPC

En el post de hoy, vamos a darle una visión general de cómo el sistema de scripting de comportamiento proporciona maneras de dar vida a los NPC y criaturas de Hytale. Para ello vamos a mostrarte algunos aspectos del comportamiento de los Trork, cómo reaccionan ante el jugador, el entorno y entre ellos. Por supuesto, estos principios también se aplican a otras criaturas de Hytale, y todos ellos serán personalizables por los modders. Como siempre, las capturas de pantalla y clips de este post siguen siendo un trabajo en progreso, y los detalles pueden cambiar a lo largo del desarrollo futuro.

Después de que una criatura ha sido diseñada, su modelo y animaciones han sido creados en Hytale Model Maker, los desarrolladores de NPC tienen la tarea de darle vida usando el sistema de scripting de comportamiento.

El sistema utiliza scripts JSON que llaman a elementos de comportamiento modulares para especificar cómo un NPC percibe el mundo y cómo reacciona en una variedad de situaciones. Estos scripts pueden desencadenar animaciones, cambios de estado y más; un ejemplo muy simple de esto sería un script que determina si una criatura que ha sido atacada huye o intenta defenderse. Los scripts más sofisticados pueden hacer que los NPC persigan a los jugadores o hacer que busquen cosas que les gustan, como fogatas o comida.

“Utilizamos bloques de construcción para crear un NPC desde cero”, dice el desarrollador Ioseff Griffith. “Tenemos sensores que son la forma en que un NPC interpreta el mundo que lo rodea, y así es como decide lo que quiere hacer. Luego tenemos acciones y movimientos, que son cómo interactuarán con el mundo, su objetivo o lo que sea en lo que se estén enfocados. Combinamos todo esto para crear componentes y plantillas de las que se pueden derivar variantes de forma rápida y sencilla”.

En este ejemplo, puede ver un fragmento del script que hace que un Trorks entre en acción cuando vea al jugador. El script maneja varios elementos de esta interacción. Activa una animación de “alerta”, que ayuda al jugador a comprender que ha sido detectado. También inicia una respuesta de “faro” que hace que otros Trorks dentro de un cierto radio también sean alertados de la presencia del jugador. Los detalles exactos de esta interacción se pueden ajustar con precisión, pero la implementación general se basa en plantillas de nivel superior que son comunes a la mayoría de los NPC.

Este enfoque modular del comportamiento facilita la implementación de NPC o criaturas completamente nuevos. “Cuando escribes un script para un NPC, no necesitas especificar cosas como “balancear una espada” o “mover una distancia X hacia la derecha”, explica Ioseff. Basta con aplicar un componente abstracto como ‘huir’ o ‘buscar’; el sistema de comportamiento maneja los conceptos básicos para llevar a cabo la acción deseada.

“En el nivel más básico, la forma más sencilla de crear un NPC es utilizar plantillas existentes”, dice Ioseff. “Estas plantillas están formadas por componentes que construimos a partir de sensores, acciones y movimientos para facilitar la reutilización de comportamientos en varios scripts”. “Un ejemplo de un componente es la detección de sonido”, explica Ioseff. Esto utiliza una combinación de sensores que permiten a un NPC interpretar su entorno. “Cuando dejas caer un nuevo NPC en el mundo, debería ser capaz de hacer frente a los entornos para los que no ha sido programado específicamente, al menos hasta cierto punto”.

“Una característica importante de todo este sistema es la alta capacidad de reutilización”, dice el desarrollador Eric Reinhart. “Es fácil modificar los comportamientos existentes, reemplazar piezas y también es fácil construir algo nuevo”.

“Para alguien que quiera modificar cosas o crear contenido, la ventaja es que es fácil hacer modificaciones simples”, continúa Eric. “Pero también permite a los modders cambiar todo hasta el más mínimo detalle”.

He aquí un ejemplo. Al agregar algunos parámetros adicionales al script de comportamiento del Trork cazador, podemos agregar osos a la lista de criaturas que hacen que entren en un estado de “alerta”.

¡Ahora tenemos un Trork cazador que le grita a los osos! Esto es puramente un ejemplo y no necesariamente lo harán en el juego final. Aun así, esto proporciona un ejemplo de lo sencillo que es introducir nuevos detalles en el comportamiento de una criatura.

A menudo, el equipo de diseño asignará el comportamiento establecido para un nuevo NPC antes de que se implemente. A veces, esto significa agregar nuevas características al sistema de comportamiento que luego amplían aún más las posibilidades del sistema. Sin embargo, las sorpresas durante el desarrollo conducirán a la adición de nuevas peculiaridades conductuales.

“Algunas piezas pequeñas se añaden durante el proceso”, explica Ioseff. “Por ejemplo, los Trorks tienen un comportamiento de combate donde comienzan a golpearse unos a otros. Cuando estaba implementando esto, un Trork derrotado cambiaría de estado. A veces cambiaban inmediatamente a un estado de “siesta”; esto era divertido, porque parecía que habían sido noqueados. Lo implementé correctamente, y actualmente los Trorks que luchan se noquearán unos a otros después de una pelea”.

La intención del equipo es crear criaturas y NPC que contribuyan a la inmersión del mundo actuando independientemente del jugador. Al aprender cómo reacciona cada criatura, los jugadores pueden encontrar formas creativas de interactuar con ellas. Por ejemplo, los Trorks tienen una afición particular por la carne tirada.

¡Cómo el jugador elige aprovechar esta información depende completamente de ellos!

El equipo ha descubierto que la combinación de muchos comportamientos simples puede producir un resultado sorprendentemente realista. “Había creado un script para un Trork arquero, y estaba tratando de probar lo bien que es al disparar”, dice Eric. “Esta fue la primera vez que tuvimos la posibilidad de que los NPC cambiaran de arma. Fue increíble tratar de perseguir a este arquero, y luego cuando estabas lo suficientemente cerca se daba la vuelta y te atacaba con un arma cuerpo a cuerpo. Tener estas acciones realmente simples combinadas fue realmente gratificante”.

En el clip anterior, se puede ver un ejemplo de varios comportamientos simples de Trorks trabajando juntos. El Trork está durmiendo la siesta afuera cuando empieza a llover. Esto desencadena un cambio de estado de “dormido” a “despierto”, momento en el que el Trork decide buscar un lugar cálido. Luego se muda a la fogata cercana y se sienta. Varios elementos diferentes del script de comportamiento del Trork están involucrados en la creación de este momento, pero juntos crean un sentido de la personalidad en la criatura. Nuestro objetivo con el sistema de comportamiento es proporcionar al jugador momentos inmersivos como este, y estamos emocionados de ver lo que los modders pueden llegar a crear a cuando Hytale esté sus manos en él!

Estos son algunos ejemplos más de comportamientos NPC que puede encontrar al explorar Orbis.

Los kweebecs no necesitan comer ni beber en un sentido normal. Como personas planta, buscarán puntos brillantes y tomarán el sol felizmente para obtener todos los nutrientes que necesitan.

A los goblins les gusta lanzar bombas a los problemas. Estos pueden destruir bloques y crear agujeros, lo cual es un problema en sí mismo. Buen trabajo, duendes.

Comparte este post

Share on twitter
Twitter
Share on whatsapp
WhatsApp
Share on telegram
Telegram
Share on facebook
Facebook
Share on pinterest
Pinterest

Deja una respuesta

Bienvenido a Hytalia

Sumergete en Hytalia