En este tutorial te mostraré cómo permitir la interacción de un jugador con varios NPCs (Personajes No Jugadores) en un juego, en este caso con un personaje llamado Dr. Owen. Hasta ahora, al jugador solo le era posible hablar con el camarero. Ahora ampliaremos esta funcionalidad para que el jugador también pueda comunicarse con Dr. Owen después de completar una misión especial.

Principales conclusiones

  • Puedes integrar NPCs en tu juego que solo estén disponibles después de completar misiones específicas.
  • La comunicación con los NPCs se puede realizar a través de menús desplegables para mostrar dinámicamente las opciones disponibles.
  • Cada NPC necesita su propio sistema de diálogo y trasfondo para permitir interacciones más realistas.

Guía paso a paso

Primero, veremos cómo podemos integrar la interacción con Dr. Owen en nuestro juego. Para ello, es necesario crear una misión que debe completarse antes de que el jugador pueda hablar con este NPC.

Paso 1: Crear misión Para hablar con Dr. Owen, el jugador debe completar la misión "Invitar a beber a Dr. Owen" primero. Comienzas llevando al jugador al bar, donde puede iniciar la interacción con el camarero. Cuando el jugador entra al bar, debería ver la opción de hablar con el camarero. Esto ocurre en el instante 26.

Integración del Dr. Owen en la experiencia del jugador con la API de OpenAI

Ahora el jugador debe interactuar con el camarero para completar la misión. Después de la conversación, invita a Dr. Owen a beber. El jugador debe preguntarle al camarero: "¿Puedo invitar a beber a Dr. Owen?". Esto completa la misión y el jugador obtiene la capacidad de hablar con Dr. Owen.

Integración del Dr. Owen en la experiencia del jugador con la API de OpenAI

Paso 2: Lista dinámica de NPCs Después de que el jugador completa la misión, Dr. Owen aparecerá en la lista desplegable de NPCs con los que puede hablar. Debes verificar si la misión "Invitar a beber a Dr. Owen" se completó con éxito para asegurar la disponibilidad de Dr. Owen.

Para esto se necesita una función de comprobación que determine si la misión ha sido marcada como completada. Esto ocurre en el instante 120, donde se implementa la lógica de disponibilidad de los NPCs.

Integración del Dr. Owen en la experiencia del jugador con la API de OpenAI

Paso 3: Ampliar las interacciones con los NPCs Crea un nuevo array para los NPCs en el código, para integrar tanto al camarero como a Dr. Owen. Asegúrate de asignar a cada personaje un ID y un nombre para que el jugador sepa con quién está hablando.

Integración del Dr. Owen en la experiencia del jugador con la API de OpenAI

La lógica para filtrar los NPCs debe asegurarse de mostrar solo a los NPC que realmente están disponibles. Cada vez que el jugador selecciona un personaje en el menú desplegable, se verifica si este está incluido en el array de NPCs disponibles.

Esto garantiza que solo se muestren las opciones que realmente se pueden utilizar, como se discutió en el instante 180.

Integración del Dr. Owen en la experiencia del jugador con la API de OpenAI

Paso 4: System-Prompt para Dr. Owen Para permitir la comunicación con Dr. Owen, se necesita un System-Prompt especial que incluya su trasfondo. Esto debe implementarse para que las interacciones con Dr. Owen sean significativas y atractivas.

Después de que el menú desplegable funcione correctamente y el jugador pueda seleccionar a Dr. Owen, asegúrate de que todas las interacciones con Dr. Owen ya no ocurran con el camarero. Esto se discute en el instante 238.

Integración del Dr. Owen en la experiencia del jugador con la API de OpenAI

Resumen

En esta guía has aprendido cómo integrar un nuevo NPC en tu juego cuya interacción solo está disponible después de completar una misión especial. Has conocido el funcionamiento de los NPCs a través de la dinamización de las opciones del menú desplegable y la importancia de los System-Prompts propios para los NPCs.

Preguntas frecuentes

¿Cómo puedo activar la interacción con Dr. Owen?Asegúrate de haber completado la misión "Invitar a beber a Dr. Owen".

¿Cómo agrego nuevos NPCs a mi juego?Crea un nuevo array con NPCs y actualiza la lógica de disponibilidad en tu código.

¿Cómo funciona el menú desplegable para NPCs?El menú desplegable se llena dinámicamente con base en los NPCs disponibles, según las misiones completadas por el jugador.