COMO HACER UN PSI Por Namarie Si lo hicieramos bien del todo los psis se basarían en inteligencia artificial y programaríamos su consciente, preconsciente y subconsciente. Pero el resultado aseguro que distaría mucho de lo deseado. Así que no podemos hacer personajes casi inteligentes, sino PSI (personajes semi inteligentes). Los primeros PSIs no hacían casi nada, estaban ahí y eran los típicos elfo-que-cambia-tortilla-por-llave. Llegabas, dabas la tortilla y él te daba la llave. No añadían mucho al juego. Luego empezaron a hacer más cosas, a lo mejor lo que tenías que hacer era pagarle una cerveza (como en Cozumel) y te soltaba no sé que rollo sobre no me acuerdo. Pero podemos mejorarlo aún más: un PSI actúa no según lo que le des, sino según lo que digas, o como actúes tú con él. Esto, que es fácil de decir (imagina, psi enano que si lo tratas bien esta contento y te sigue aunque si ve agua no quiera pasar y que tararí tarará) es muy difícil de implementar. Al menos así, porque se puede hacer, pero tenemos que hacerlo bien. Propongo un "estándar", para que así los que implementen lo tengan más fácil. Estándar abierto a modificaciones y mejoras. Estados. He pensado que la mejor manera de declarar un PSI es mediante "estados". Imaginad el dichoso elfo con la llave. Tiene hambre, y quiere su tortilla. Los PSI típicos son "mono-estado", como el loco de Nritis en Eudoxio. Sigue con el esquema pregunta-respuesta (tú le dices algo y él te dice otra cosa) e incluso da un objeto, pero siempre es el mismo tío. Tú le preguntas por Sarah y te dice cosas. Si vuelves años después, te dirá lo mismo. Podemos hacer que nuestro elfo tenga 5 estados: Desconoce al jugador. Estado normal. Cabreado. Te sigue. Te ha dado ya la llave, pasa de ti. A ver, sólo son 5 estados. El jugador se encuentra primero con un elfo que desconfía, lo apunta con su arma y si se muestra (el jugador) poco diplomático es muy agresivo y va a por él. Si el jugador habla un poco con él y le demuestra que es pacífico, pasa a 2 (normal). Ahí te confiesa que tiene hambre y te pedirá una tortilla. Si el jugador le da la tortilla mientras está en el estado 1, el elfo (como lo desconoce) no la aceptará. Y del 2 vamos a 3 (si lo cabreas, por ejemplo insultándolo; cuando se le pase la rabieta vuelve a 2), a 4 (te sigue) y 5 (le das la tortilla, él te da la llave y de ahí pasa de ti y empieza a hacer "su vida"). Por cierto, es muy probable que para cada estado tenga una descripcion distinta (descripción es lo que sale al poner "mirar elfo" o "examinar elfo". ¿Qué, mejor que el elfo-cambia-tortilla-por-llave, no? En el fondo hacen lo mismo, pero uno añade mucho más jugo. Hacer su vida. Esto que pocas aventuras lo consiguen (por ejemplo Gandalf en El Hobbit) es complicado, pero tenemos que definirlo al programador. Nuestro elfo puede tener un contador, y cada N jugadas le da la vena y dice que tiene hambre, a lo que coge, y del estado que sea pasa a (6), buscando comida desesperadamente. A todo lo que diga el jugador responderá "tengo hambre", e irá deambulando por localidades (al azar) hasta encontrar algún objeto comestible (y con esto le pedimos al programador que defina en TODOS los objetos de la aventura una bandera adicional, indicando si es comestible o no). No debemos abusar de banderas de éstas, o sea, nada de llenar la zona de psis que busquen objetos de tal color o localidades con sol. Propongo que las banderas (lista ampliable) tengan: Para objetos: tamaño, valor y comestible o no. Para localidades: cubierta o descubierta (¿y si llueve?). Para otros psis: lado (buenos, malos o neutrales), seguidores o no del jugador. Otras: tiempo (lluvia, sol, noche, día...) Pregunta/respuesta. Por desgracia es el punto donde fallan los PSIs, pero no se puede hacer mucha cosa. Todos (absolutamente TODOS) los PSIs que dialogan con el personaje se basan en el esquema de pregunta/respuesta. Es decir, hay una lista de cosas que piensas que el jugador va a decirle a nuestro elfo, y una lista de respuestas de nuestro elfo para cada una de las preguntas. En Eudoxio, por ejemplo, el esquema era bien claro: había unas palabras clave para cada psi, y si se la decías te soltaba su rollo (por ejemplo, al posadero le dices "ajo" y te habla de licor de ajo; si tú pedías tostadas con ajo el no salía de su licor). Repito, es imposible prever todas las "preguntas" del jugador (y, en consecuencia, es imposible hacer un PSI que cubra todo). Así que lo que mejor podemos hacer es que la lista de "preguntas" (palabras clave o secuencias de ellas que pueda decir el jugador; así, es muy típico que "amor" no tenga la misma respuesta que "hacer amor", una PSI puede ponerse roja o atizarle una bofetada estilo Gilda) sea lo más amplia posible. Por cada estado, en la secuencia de preguntas/respuestas, una respuesta obligada es a "hola". Suele ser lo primero que se dice a un PSI. Aunque no estaría de más que el propio PSI hablara y se presentara antes que tú le digas hola. Por cierto, lo ideal es incluir en la respuesta al "hola" el máximo de información o palabras clave posible. Así, el elfo tortillero `> hola El elfo te responde: "Hola, tío, eres la primera persona que saludo en tiempo. Desde que mi abuela me dejo con los trasgos no había hablado con nadie".` Aquí tendríamos que saltar a un nuevo estado, puesto que si se le ha dicho hola al elfo no tendría que repetir lo mismo, a no ser que te hayas ido y vuelto. Porque un elfo de verdad, o tú mismo, si te dicen hola y respondes eso no es lógico que si te dicen de nuevo hola sueltes la misma parrafada. Más bien diria "Ya te he visto, tranqui". El quid de la cuestión es que con la "respuesta" del elfo el jugador se sentirá atraido por "abuela" y "trasgo". Además es posible que pida "ayuda" (o ayudar, que no es lo mismo; pero son dos palabras tambien muy usadas por pj). Las posibles preguntas del jugador también pueden venir por su descripcion: `> ex elfo El elfo va vestido a la última moda élfica, con una capa marrón y un medallón colgando del cuello.` Es muy probable que tras esto nuestro querido jugador le pregunte por el medallón y/o la capa. Otra posible reacción del elfo es una "respuesta" a la acción de mirar el medallón. Vosotros que haríais si estuviérais en medio del bosque, aparece un tío y después de miraros y deciros hola se fija en el precioso medallón que lleváis en el cuello? O decide regalárselo (si tiene confianza) o le hablará que es un recuerdo de su tío el Trasgo, o bien se cabreará e irá a por el jugador. Debemos especificar qué hace el elfo (puede ser aleatorio, o dependiendo del estado) ante tal mirada. O ante otras acciones, como eructar, o ponerse a bailar... en fin. Otras consideraciones: Se puede poner el salto de un estado al otro por factores aleatorios, por preguntas del jugador, por acciones de éste, por acciones de otros PSIs, etcétera. Por ejemplo, es probable que un PSI actúe frente a palabrotas... ¿os imagináis dos PSIS juntos, uno que le da por decir palabrotas y el otro que se cabrea? Eso si serían dos PSIs buenos, y, como véis, no muy dificil. Hacer que dos PSIs interaccionen entre ellos es mucho más difícil (muchísimo) que entre el jugador y un PSI. Pero probablemente será lo que haga de una aventura que sea la mejor del mundo. Y la nuestra lo va a ser, ¿verdad? PSIs garrulos. Se pueden hacer bishos, que son más un objeto que un psi. Ejemplo: el pulpo de Eudoxio. Por mucho que le hables seguirá opinando que serás una buena cena, e intentará convencerte de ello a golpe de tentáculo. ¿Podemos incluir? La respuesta es que sí, pero no muchos. Muchos bichos acabarían transformando la aventura en Medina, que no dicen nada (casi) pero arrean hostias sólo por pasar por delante. Y si alguien opina que es mejor, que se haga skin, que esos pegan pero no hablan (a lo mejor ni saben hablar). #### PMI: Personajes Más Inteligentes. Hasta ahora todo lo relacionado con PSIs se basa en esquema pregunta/respuesta. Lo ideal sería que, como los seres humanos, además de "saltar de estado" por posibles "preguntas" o acciones del jugador, lo hiciera solo. Bien, no es tan difícil de describir (pero un poquito de implementar). Se trata que el PSI vaya cambiando "solo" de estado; en realidad no lo hará solo sino influenciado por acontecimientos externos (presencia o no de otro PSI, tipo de la localidad, etc), o bien por sus flags (banderas cardinales, variables enteras...). Cuando cierta condición se cumpla (y no necesariamente el que el jugador diga algo o no) el PSI saltará de estado. Algo que debemos definir es la "jerarquía de estados". Los estados suelen ser lineales (de estado A al B, C y D; del B al C y al A; del C al A y del D al C, por poner un ejemplo), y si bien es verdad que un psi solo con saltos del tipo indicado antes ya es más avanzado que muchos de los que pululan por las conversacionales, aún se puede rizar más el rizo. MAAAS?? Sí. Vamos a ver un ejemplo práctico: Tama, el Tamagotchi (c). Nuestro amigo Tama tendrá 4 estados: normal, con hambre, con sueño y con miedo. En un principio podríamos hacer que de Normal vaya a los otros y de los otros al Normal. Simple, efectivo. Pero.... si nuestro Tama tiene hambre y se encuentra en peligro, ¿no sería logico que aunque tuviera hambre saltara a miedo? Vemos que el estado "miedo" es más importante que Hambre. Hambre y Sueño son equivalentes... Así, tenemos 3 "niveles" para Tama:
+ | Máxima prioridad | Miedo
= | Media prioridad | Hambre - Sueño
- | Mínima prioridad | Normal
Describamos el psi: Necesitamos dos "cardinales", el nivel de Hambre y el nivel de Sueño. Los inicializamos a, por ejemplo, 125 y 200 jugadas. Cada jugada del jugador (valga la redundancia, es cada "orden") se decrementará (le restaremos 1) a los dos. Así, si el jugador pone "mirar cabeza" (es una orden) aumenta el hambre y el sueño (en realidad se hace más pequeño). Cuando, del estado A, el sueño valga 0 o el hambre valga 0, saltaremos a los estados de Sueño y Hambre, respectivamente. Con sueño se pone a sobar (=dormir) durante, pongamos, 35 turnos. No hace nada, no responde a nada, su descripción cambia a "está durmiendo"... El hambre, pues podríamos hacer que a cada tirada nos diga "tengo hambre" y si a las 40 tiradas no le damos comida el tío se larga. ¿Qué pasa si aparece el bichomonstruo supermalo (si, el que siempre rapta las chicas en todos los juegos de ordenador)? Pues que si tiene hambre la ignorará, si tiene sueño se despertará, si está normal, dejará de estarlo. Esté donde esté, saltará al estado de Miedo, ya que es más prioritario que los demás. Para cada estado podemos hacer lo de siempre (las reacciones y saltos de estado a pregunta/respuesta, los dame/toma objetos, cambios de descripciones...). En resumen: que si Tama se aburre saltará al estado Aburrido (media prioridad) y se irá... ¡¡¡Podemos hacer lo que nos plazca!!! Ah, eso de 3 prioridades es inventado, podéis hacer todas las prioridades que queráis, distintos niveles, distintos estados dentro de una misma prioridad... Por supuesto, también puede reaccionar a acciones de otros PSI, que a su vez reaccionarán a sus reacciones... ¡¡¡el mundo es vuestro!!! Daniel Miralles (Extraído del Boletín del Concilio número 7) [Volver]