Desarrollo de Videojuegos
|
|
Juegos de Aventuras
Varios
|
|
Artículo realizado por
Daniel Miralles.
Cómo hacer un PSI
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!!!
(Extraído del Boletín del Concilio número 7)
ÚLTIMA REVISIÓN EN FEBRERO DE 1999
DESARROLLO DE VIDEOJUEGOS
|
|