logo


SPAC #24

Febrero - 2003

Editor en sombras: dhan <dhan@interlap.com.ar>
En este número colaboran: Akbarr, Alfredo Liu-Pérez, Axman, Baltasar El Arquero, Chryshantemum, el Clérigo Urbatain y Jarel.
Asistente de correcciones: Morgul.

Web de SPAC http://usuarios.lycos.es/SPAC

índice

Editorial

Noticias

Artículos:
'InformATE! y lAnchoa, una aproximación distinta', por Baltasar El Arquero.
'Aventuras Conversacionales Multilineales', por Emily Short, traducción de Alfredo Liu-Pérez.
'Librería de combate', por Baltasar El Arquero.
'Consejos de diseño para el hogar del aventurero', por Jarel.
'La Aventura en tu Ciudad', por el Clérigo Urbatain.
'Especial entrega de la ESDAcomp', por dhan y el Clérigo Urbatain.
'Así se hizo Varanasi', por Chryshantemum.
'El Arte de la Aventura (VII): Capítulo 50, El diseño de los puzzles (I)', por Graham Nelson, traducido por dhan y Akbarr.

Comentarios:
'Hollywood Monsters', por el Clérigo Urbatain.
'9:05', por Baltasar El Arquero.
'Fernando Fernández', por Baltasar El Arquero.
'Enlightenment', por dhan.

Soluciones
'Los inmortales', por Axman.
'9:05', por Baltasar El Arquero.
'Fernando Fernández', por Baltasar El Arquero.
'Enlightenment', por dhan.


editorial

Empezamos un nuevo año y desempolvamos la vieja libreta de proyectos en la que tenemos decenas de ideas por desarrollar. Puede ser una libreta física o puede ser ese lugar escondido en la memoria en el que vamos amontonando ideas sueltas. Podemos estar en cualquier ámbito o rodeados de cualquier grupo de gente, y muchas veces imaginamos situaciones "conversacionales", posibles puzzles o estructuras renovadoras del guión que seguro que reciben buenas críticas en cualquier concurso a celebrar de aquí a unos meses, no importa en qué consista porque cuando yo pueda realizaré esa idea que persigo alcanzar.

Es muchas veces un secreto oculto que sólo nosotros conocemos. Podemos estar con alguien de mucha confianza y rara vez le contaremos esa idea que hemos tenido. Es un placer para disfrute personal, y dentro de poco será un juego para disfrute general, pero ese general será una "gran minoría" en la que estamos seguros que poca gente de nuestro entorno entrará alguna vez.

Puede que algún día nos hayamos atrevido a contar a nuestra pareja, mejor amigo o familiar cercano esa "extraña" afición que tenemos. A la gente le gusta leer libros, o jugar a videojuegos, pero qué raro parece combinar las dos cosas. Nuestro confidente, tras señalar numerosas complicaciones (¿puntos cardinales para moverme por mi casa? ¿hacer inventario si no trabajo en una tienda? ¿xyzzy, qué palabra es esa, por qué sabías que se podía teclear?) tenemos que esbozar una sonrisa y salir al paso con algo del tipo "ya lo entenderás" o "siempre ha sido así", o lo que puede ser peor, verlo como algo lógico.

Pero lo cierto es que hay muchas cosas que dejan de ser lógicas, no todo puede ser perfecto. ¿Y qué? Vivimos en un mundo con poca lógica, muy imperfecto, como para tener que buscar eso en las Aventuras Conversacionales. Un buen tutorial o un rato juntos en la pantalla y todo lo entenderás. ¿Que ese tipo del juego no quiere el tesoro que le estoy mostrando después de intentar hablar con él de mil temas? Espera, intenta programar algo y verás lo difícil que resulta planear todas las posibilidades posibles. Aun así, lo intentamos, y a veces nos quedamos cerca de conseguirlo. Cuando me veas sonreír, piensa que he encontrado nuevas posibilidades en un universo de posibilidades ilimitadas. Nadie es perfecto.

dhan

subir al índice


noticias

Nuevo impulso al MUD
Morgul continúa batallando para tratar de encontrar apoyos para el resurgir del MUD. Por lo pronto, se ha abierto una página de proyecto en SourceForge para los que estén interesados en colaborar: http://sourceforge.net/projects/mundocaad/

Premios Hispanos 2002
El concurso llega a su recta final de su primera fase, en la que se elegirán los nominados de cada categoría. JSJ organiza el certamen y se ha conseguido un buen sistema de votación online. No dudes en visitar la web y contribuir a que la aventura sea cosa de todos: http://conversacionales.cjb.net

Stand en Hispacon
Se está cociendo la posibilidad de acudir al congreso de Literatura de Ciencia Ficción llamado Hispacon. Se celebrará en septiembre, del jueves 18 al domingo 21, en Alcalá de Henares. La idea es llevar algunas aventuras y darlas a conocer al ¿gran? público. La información y fechas exactas se concretarán en los próximos meses.

Actualizados el kit del programador y del jugador de InformATE!
El kit del jugador presenta pocas novedades, pero el del programador se reestructura por completo para contar con prácticamente todas las librerías existentes en castellano y otras modificaciones importantes. Puedes bajar aquí la del jugador: http://caad.mine.nu/php/detalle_fichero.php?descarga_id=927 o aquí la del programador: http://caad.mine.nu/php/detalle_fichero.php?descarga_id=928

Aventuras Conversacionales como asignatura
Nos comenta un amable lector argentino que hojeando un poco una revista de la IEEE encontró un artículo titulado "Using a Computer Game to develop Advanced AI", escrito por un profesor de cursos de diseño de videojuegos, en la Universidad de Michigan. Lo interesante es que programar una aventura en Inform es parte del contenido del curso (prestad atención a
la sección Assignment 3 - Interactive Fiction ) http://ai.eecs.umich.edu/soar/Classes/494/

Constituida la PPCAC
Tan consonántico nombre engloba a una unión de aventureros que persiguen mejorar la calidad de las aventuras. Las siglas corresponden a Plataforma Pro-Calidad en las Aventuras Conversacionales (PPCAC). Por ahora está formada por Morgul, Lumpi, KRAC, Santiago Eximeno y Depresivo.

La web de AAC
Jon ha hecho una pequeña mudanza de la ubicación de su web. Acuérdate de cambiar el enlace por: http://usuarios.lycos.es/aacxx1/

Aventuras gráficas amateur
Nuestros amiguetes de las gráficas se mueven y por lo pronto constituyen un nuevo club, llamado ADÁN
(Asociación de Desarrolladores de Aventuras gráficas No profesionales). Su web, además de contener reportajes, soluciones, descargas, etc., pretende ser un lugar de aprendizaje. Si te gusta el género, los encontrarás en http://usuarios.lycos.es/grupoadan

'Fernando Fernández: un rescate accidentado'
La primera aventura de Drakkar Studios, ya está disponible. En esta pequeña aventura gráfica encarnarás a Fernando Fernández, un pobre diablo que, sin comerlo ni beberlo, se convierte en héroe por un rato y, más o menos, ejerce como tal. Visita la página de Drakkar Estudios ( http://usuarios.lycos.es/studiosdrakkar ) para más detalles y para descargar la aventura. En este número de SPAC encontrarás un comentario y la solución al juego.

Se rumorea, se dice, se cuenta...
Parece que los primigenios se niegan a abandonar este plano. Fiables rumores apuntan a que despedidas recientes no han sido tales sino estratagemas para perder (o ganar) tiempo, fuera de la lista de correo o canal de chat, y desarrollar antiguos proyectos. No diremos nombres en este caso. Otros veteranos aventureros como Uto desarrollan también ideas en la sombra. También se rumorea de que cierto ordenador no se quemó y que pronto habrá sorpresas por parte de gente también desaparecida. Permanezcan en sintonía.

Más de libro-juegos
Si el mes pasado poníamos un enlace a algunos de temática zorkiana, esta vez es Yokiyoki quien nos envía un nuevo enlace: http://www.mu.org/story/

Concursos:

Convocatoria de la II Brevecomp.

Este concurso no tiene ninguna temática concreta, pudiendo presentarse cualquier aventura al mismo.

Plazos
Fecha límite de entrega: 29 de Junio de 2003 a las 12 de la noche.
(Existirá un plazo de 7 días más, hasta el 6 de Julio, para presentar revisiones de las ya publicadas.)

Entrega
Las aventuras deben enviarse mediante el formulario que se encuentra al fondo de la página. La organización contactará con el participante para comunicarle que ha recibido los ficheros y que su juego está en la competición.

El envío deberá estar dividido en dos ficheros:

* En el primer fichero se incluirá el ejecutable del juego, las instrucciones...

* En el segundo se adjuntará la solución/pistas junto con el código fuente (opcional). La solución y el código sólo se harán públicos tras el periodo de votación.

El autor es libre de presentarse bajo pseudónimo, y en el caso de participar con más de una aventura, podrá utilizar nombres distintos. En todo caso su nombre real deberá aparecer en el segundo fichero.

Requisitos
Las aventuras que entren a concurso serán del tipo denominado "Aventuras conversacionales" o "Ficción interactiva", y el idioma será el español.

No se imponen limitaciones en cuanto a número de localidades, objetos o PSI's, si bien se recomiendan los siguientes números aproximados: 12 localidades, y 7 objetos o PSI's. La brevedad o extensión de la aventura no influirá negativamente si se potencian otros aspectos como la interactividad o la originalidad.

Se podrán incluir atractivos adicionales como gráficos o sonidos, si bien se advierte que primará el aspecto literario en las votaciones.

La aventura podrá funcionar en cualquier plataforma, aunque participará en desventaja si poca gente puede jugarla. En el caso de aventuras interpretadas (Inform, Glulxe...), no será necesario enviar el intérprete ya que junto a la aventura figurará el link correspondiente para conseguir la última versión del mismo.

La organización no se reserva ningún derecho sobre los programas presentados a concurso, que seguirán siendo propiedad intelectual de su autor, sin embargo, durante el periodo que dure éste, las aventuras deberán poder distribuirse y jugarse gratuitamente y sin ninguna limitación.

Envío de votos
El envío de votos y de las aventuras participantes se realizará a través del formulario habilitado en la web que al final se cita.

Periodo de Votación
El periodo de votaciones comenzará el 6 de julio y terminará unas dos semanas más tarde, la fecha exacta será anunciada por la organización el día que se abra el periodo de votación. Esto es así, porque se intentará realizar una quedada a finales del mes de julio durante la que se anunciarán los ganadores y se procederá a la entrega de premios.

Categorías a Votar
Cada aventura se votará con una escala del 0 al 10, con un decimal como máximo, en las siguientes categorías:

* Originalidad
* Literatura
* Interactividad
* Calidad global

-Nominaciones especiales:

* Mejor Puzzle
*
Mejor PSI

Al final deberá incluirse un mínimo comentario de la aventura votada, detalle que agradecerá sin duda el autor.

Más información en http://caad.mine.nu/brevecomp2


¡Necesitamos colaboraciones!
Necesitamos tus artículos para seguir mejorando. Puede ser un breve comentario, algunas pistas para solucionar un juego sin que tengan que ser la solución completa o cualquier artículo de interés relacionado al respecto. Entre todos podremos mantener vivo el mundo de la aventura.

Lo ideal es enviar tus colaboraciones a mi dirección de correo electrónico (dhan@interlap.com.ar) antes del día 25 de cada mes, pero aun así no te preocupes por la fecha de cierre ya que lo que no entre en un número irá al siguiente ;-) Gracias...

subir al índice

 

artículos

InformATE! y lAnchoa, una aproximación distinta
por Baltasar 'El Arquero'

Introducción

En otro artículo para SPAC [1], explicaba cómo se las podía apañar uno para escribir una corta aventurilla en Paguaglús y txtPAWS. En aquella pequeña aventura, el protagonista debía comerse una anchoa [2] en el salón de su casa, condimentándola con un poco de aceite. La idea que me ha motivado a escribir este pequeño artículo es que podría ser provechoso ver las principales diferencias de un sistema de desarrollo de aventuras a otro (cuando ambos generan código Glulx), de una forma similar al Proyecto Vampiro [3]. La ventaja de lAnchoa sobre el anterior, es que el anterior es demasiado grande como para poder colocarlo en un artículo, y ser a su vez asimilado: debe ser objeto de un estudio mucho más profundo que el que se le puede dar aquí.

InformATE!

La librería puede bajarse de la web de Zak [3], así como algunos tutoriales. El autor de este artículo también tiene los suyos hechos [2]. Este artículo no tratará de cómo se programa en InformATE!, ni de cómo reunir las librerías. Se supone un mínimo conocimiento del mismo.

La aventura

En esta mini-cutre-aventura, el protagonista se encuentra en el salón de su casa y decide comerse una anchoa, anchoa que se encuentra encima de la mesa, junto a un poco de aceite. Así, el jugador debe condimentar la anchoa con el aceite para poder comérsela, ganando el juego. Si se la come a secas, entonces muere de garganta seca. A continuación, comentaré el código fuente [2] de la aventura en InformATE!.

Implementando

En primer lugar, abordamos los preliminares del juego. Las siguientes líneas son casi obligatorias en cualquier aventura.

Constant Historia "lAnchoa";

Include "Eparser";
Include "Acciones";
Include "Gramatica";

Entonces, abordamos la localidad única del juego, el salón. En Inform + InformATE!, las localidades son objetos en las que el usuario debe definir ciertas características:

Object salon "El Salón"
with
descripcion "El salón se encuentra en semipenumbra, los tímidos rayos del salón asoman tímidamente por la ventana.",
has luz; ! En el salón ya hay luz.

En el salón, tenemos una mesa, sobre la que ponemos los ingredientes:

Object mesa "mesa" salon
with
nombre 'mesa',
descripcion "La mesa del salón. Es una mesa baja y cuadrada en el centro del salón"
has femenino estatico soporte; ! 'La' mesa puede soportar cosas sobre su superficie
! y no es “cogible”

Ahora, la anchoa. Si nos la comemos, sin haberla condimentado, el juego acaba con nosotros muy, muy muertos. Si la hemos condimentado, entonces ganamos. Para saber si está condimentada o no, añadimos una propiedad llamada "condimentada", que ponemos inicialmente a "false" (falso, no). Capturamos la acción "comer anchoa" en el objeto anchoa, en su propiedad "antes". Es decir, si "anchoa" recibe la acción "comer", capturamos la acción antes de que se produzca y acabamos el juego (bien o mal).

Object anchoa "anchoa" mesa
with
nombre 'anchoa',
condimentada false, ! ¿ Le hemos echado ya el aceite ?
descripcion "Pues sí, una anchoa apetitosa.",
antes [;
comer: if (self.condimentada) ! ¿ se ha condimentado la anchoa ?
{
banderafin = 2;
"¡Qué sabor! ¡Qué maravilla! ... estaba deliciosa ...";
} else {
banderafin = 1;
"¡Qué seco! ¡Qué espanto! ... mueres entre horribles espasmos ...";
}
]
has femenino; ! Es 'la' anchoa, no 'el' anchoa.

Ahora, es necesario programar que el jugador pueda condimentar la anchoa. "Echar aceite en anchoa" genera la acción PonerSobre, con uno siendo aceite (ya que es el que recibe la acción) y otro siendo la anchoa.

Object aceite "aceite" mesa
with
nombre 'aceite' 'poco',
descripcion "Un poco de aceite en un pequeño envase de plástico.",
antes [;
! Si echamos el aceite, actualizamos la anchoa
PonerSobre: if (otro==anchoa) { ! "echar aceite en anchoa"
anchoa.condimentada = true;
"Condimentas prudentemente la anchoa con un poco de aceite ...";
}
else "... pero hombre ...";
]
;

Ya tenemos bastante hecho de la aventurilla. Ahora, sólo es necesario realizar los últimos ajustes. Esto se hace en la función "Inicializar", que será necesario crear para toda aventura.

[Inicializar;
localizacion = salon;
"Te levantaste aquella mañana con un deseo especial. Te apetecía algo bueno, algo rico ...";
];

Ejecución

Compilar (guardando el archivo como "lanchoa.inf"):
C:> inform -G lanchoa.inf

Para probar la aventura, abre el intérprete Glulxe y entonces abre el archivo "lanchoa.ulx".

O también, si tienes instalado el intérprete "sólo texto":
C:> cheapglulxe lanchoa.ulx

Si tienes instalado el Kit del jugador de JSJ [4], sólo tendrás que hacer doble-click en "lanchoa.ulx".

Las ventajas de Inform+InformATE!

Está claro el mejor orden que impera en una aventura realizada en InformATE!. Todo lo que afecta a un objeto (la anchoa, o el aceite), se encuentra dentro de ese mismo objeto, por lo que es muy sencillo realizar, depurar y entender una aventura. Esto entra en claro contraste contra Paguaglús, que, al no contar con ninguna extensión de las proporcionadas por NMP o Caecho?, convierte en un infierno cualquier condición un tanto compleja, como vimos en el artículo anterior. El hecho de poder colocar un if para poder decidir sobre algo (¿está la anchoa condimentada?) es una gran ventaja. No debemos olvidar que, a pesar de todo, PAWS no deja de ser una especie de ensamblador (aunque permita elaborar aventuras de una forma muy sencilla).

Conclusiones

Tanto Paguaglús como InformATE! generan código Glulx. A estas alturas, debemos desterrar de nuestra cabeza que alguno de los parsers disponibles sean la panacea de la escritura de aventuras conversacionales. Paguaglús permite crear aventuras "como siempre", al menos tal y como en España hemos visto siempre las aventuras conversacionales, generando código para una plataforma moderna (Glulx) de amplia difusión. InformATE! es un lenguaje moderno que, sin embargo, exige un mínimo de aprendizaje previo antes de sumergirse en él.

Cada escritor de aventuras, en todo caso, tiene material suficiente para escribir su aventura en un parser de su agrado.
Probablemente, se eche en falta un parser, o al menos un entorno, que permita escribir aventuras para un escritor de aventuras con experiencia cero en programación, actualmente cubiertas en su nivel medio (Paguaglús) y avanzado (Inform+InformATE!).

Ejercicios

Como en el artículo anterior, puedes crear objetos de decorado en el salón, para ir entrenándote. Es muy sencillo, basta basarse en el objeto "mesa" del salón. Sólo será necesario crear nuevos objetos como "mesa", uno por cada objeto de decorado (sofás, sillones) nuevo.

Referencias

[1] http://usuarios.lycos.es/SPAC/
Concretamente, en el número 23.
[2] Descargable también en http://usuarios.lycos.es/elarquero/
[3] http://www.geocities.com/spinf/
[4] http://caad.mine.nu/

Baltasar El Arquero

subir al índice

Aventuras Conversacionales Multilineales
original por Emily Short
traducción de Alfredo Liu-Pérez

Una de las mejores cosas sobre las aventuras conversacionales (ACs) es que puedes usarlas para contar muchas historias diferentes.

Usarlas para contar muchas historias no es lo típico. Todo desde "Zork" hasta "Jigsaw" sigue una trama lineal preprogramada; o la sigues, o no la sigues, pero no permite salirse de curso. Hasta las obras más ambiciosas o experimentales de AC - "Photopia", por ejemplo - usualmente cuentan sólo una historia. O, si tienen múltiples caminos a seguir (como es el caso con "I-0"), estos están limitados a dos o tres.

Lo que quise hacer en "Galatea" fue darle al jugador la impresión de que el universo era completamente ilimitado, y en vez de que buscara a ciegas entre un número grande de opciones para encontrar la que implementé, él pudiera hacer casi cualquier cosa razonable y obtener algún resultado. Obviamente, no me fue posible alcanzar eso: todos los finales posibles en "Galatea" son el producto de mi cerebro, cosas que escribí porque anticipé algunas combinaciones de eventos que los harían apropiados. Pero hay entre 30 ó 40 finales de ese tipo (he perdido la cuenta; no todos los finales son distintos unos de otros), y cientos de formas de alcanzarlos. Así que, como una máquina de hacer historias, el juego es eficaz creando escenas que no he imaginado. Algunas de estas son mejores que otras, pero he hecho lo mejor que he podido para asegurarme de que cualquier cosa que produzca el juego tenga algo de sentido (esto es mucho más difícil de lo que te imaginas, y probablemente todavía tenga combinaciones enervantes o inapropiadas, aún después de depurarlo y volver a jugarlo).

Yo pensé que esto debía responder (o por lo menos contribuir) al largo debate sobre si es posible escribir ACs verdaderamente multilineales, o no lineales, que también den la sensación de estar bien creadas y parezca que tengan una historia. Algo que recompense el jugarlo muchas veces; algo que responda a los intereses propios del jugador. Cualquier pedacito de conversación dada en "Galatea" puede sugerir dos, tres, hasta cuatro o cinco temas adicionales para investigación; además, acciones como BESAR, ABRAZAR, ATACAR, y PERDÓN pueden tomar matices diferentes en contextos diferentes. La historia se desarrolla muy diferentemente dependiendo de lo que el jugador decida alcanzar. Quise evitar, lo más posible, el síndrome de léele-la-mente-al-autor y abolí los puzzles dejando la trama completamente abierta a máximos ajustes.

Este enfoque también crea un tipo de libertad especial para el autor. Tuve docenas de ideas diferentes bulliendo en mi cabeza cuando escribí "Galatea" - sobre arte; sobre feminismo y crítica feminista; sobre identidad y auto definición; y (por supuesto) sobre ACs y diseño de PSIs. Cualquier relato breve que pudiera haber escrito habría sido desgarrado por material tan diverso. Aun una presentación ramificada como las de los libros "Elige Tu Propia Aventura" (1) no podría haber abarcado todo lo que quise abarcar. En este medio, sin embargo, tuve la libertad de ponerle todos los hilos a mi trama, dejando al jugador escoger el que le interesara en particular.

El reto es determinar las condiciones finales y escribir los finales en sí de forma que satisfagan el deseo por coherencia - atando todos los hilos sueltos y explicando lo que ha pasado, o que el final se sienta como un resultado natural del proceso de conversación. Ciertamente no hice un trabajo perfecto, y hay formas de sacar historias de este juego que serían espantosas si fueran ficción estática (2). Las ACs ofrecen poco margen de acción extra, sin embargo, la gente (por lo menos según mi experiencia) tiende a tener expectaciones menos rigurosas de la trama y del ritmo de una AC que de una historia escrita, y si el final tiene sentido basado en los resultados de los últimos turnos, se sienten relativamente contentos.

Lo que no preví fue que tanta gente se pusiera nerviosa por la multilinearidad. Quizás sea la tendencia a resolver puzzles de los jugadores de ACs, pero muchas de las reacciones que recibí han sido en forma de esta pregunta: «Estos son los finales que he encontrado... ¿Los he encontrado todos?». No tienden a tranquilizarse con: «No, pero eso no importa».

Lo cual hace que me pregunte, después de todas las preguntas sobre si podemos escribir ACs verdaderamente multilineales, quizás hemos descuidado otro punto: ¿Es esto lo que quieren los jugadores? Mucha gente parece querer de mala manera el "hacerlo bien" o "verlo todo", y supongo que en cierta forma entiendo su forma de pensar. Ver "todo lo que hay" es un puzzle, y los puzzles atraen a los jugadores de ACs. Pero, más que eso, ¿cómo sabes que estás pasando por todo lo que el autor quiso que pasaras si sólo ves un pequeño fragmento de toda la obra? Esto va más allá de la idea del texto orientado al lector (3). El texto ES lo que el jugador hace de él; la responsabilidad de autoría yace en algún punto entre el jugador y yo. Posiblemente el mismo sentido de cohesión narrativa y progresión que siente el jugador son tan importantes como todo lo que hice para hacer satisfactoria una sesión de AC.

Sin duda hay algunas personas que nunca van a estar contentas mientras sepan que sólo han visto una parte de toda la obra. A ellos sólo les puedo decir, «Perdón». Ni yo misma tengo una visión de toda la obra. Sí, generé todo el texto; sí, tengo el código fuente a mi disposición. Pero eso no quiere decir que haya anticipado todo lo que pueda producir el juego. Pues no. El conocer todos los finales no quiere decir que sepas todas las formas diferentes de llegar a ellos, todos los sentidos posibles que puedan tener en diferentes contextos.

Notas del traductor:

(1) Elige tu propia aventura (Choose Your Own Adventure): Se refiere a esos libros en los que el lector tiene una lista de acciones que tomar en la aventura y cada acción está en una página diferente. El lector escoge la acción que quiere y va a esa página, donde la aventura continua y hay otra lista, etc.
(2) Ficción Estática (Static Fiction): Uso la misma traducción que usa Urbatain en SPAC #21 "Entrevista a Emily Short". Su definición es: "Static Fiction, eso lo he traducido por Ficción Estática, se refiere a ficciones no interactivas, relatos, libros, cuentos, etc." Ver http://usuarios.lycos.es/SPAC/spac10.htm#a1
(3) Idea del texto orientado al lector (reader-response criticism): Mi pobre traducción de "reader-response criticism", también conocido como "reader-oriented". No sé cuál es la traducción al español de este término literario inglés. La idea es que el lector es una parte integral del texto. El lector le da su propia interpretación a la obra, la trama, etc. La idea opuesta al "reader-response criticism" es que el texto contiene todas las ideas y el lector es un observador pasivo de estas ideas. Ver http://www.cwrl.utexas.edu/~waddington/e314l/criticreader.html o 'The Bedford Glossary of Critical and Literary Terms' por Ross Murfin y Supriya M. Ray. Copyright 1998 por Bedford Books.

Alfredo Liu-Pérez

subir al índice

Librería de combate
por Baltasar 'El Arquero'

Introducción

Con este artículo comienza una serie de tres artículos en los que desarrollaremos juntos una librería de combate. Con esta librería de combate, podremos incluir en nuestros juegos características propias de los juegos de rol, en los que se libran combates basándose en una serie de puntuaciones de vida, de capacidad de ataque, etc.

Al final de la serie, publicaré en mi página web [1] la citada librería de combate, completa, junto a un ejemplo en el que se mostrarán sus posibilidades. Para cada uno de los artículos, aparecerá también la versión descargable de la librería en su estado en ese momento. El propósito del ejercicio es comprender cómo funciona Inform, conjuntamente con la librería InformATE!. En este artículo se presuponen conocimientos mínimos de InformATE!, que pueden obtenerse del tutorial DocumentATE!.

Definiendo el problema

El propósito del ejercicio es conseguir soportar las múltiples partes de las que consta un combate: básicamente gestión de armas y gestión de atacantes (estadísticas de vida, fuerza, capacidad de ataque ...).

En el artículo de hoy, trataremos de solucionar la primera parte del problema, es decir, el soporte para el uso de armas.

Las armas en tu aventura

En primer lugar, es necesario indicar cómo vamos a incluir el soporte de armas en nuestra librería. Aunque cierto es que de poco sirve definir armas si no tenemos pensado cómo va a afectar al resto de los entes del juego (PSIs, jugador). Pero por algún sitio hay que empezar y, desde luego, las armas serán los elementos más importantes.

La clase básica de armas es la siguiente (al menos en esta fase inicial):

! ======= Clases de armas ====================================
class arma
with
  descripcion "Podrías utilizarlo como arma."
;

No dice gran cosa, eso es cierto. Es más, es probable que quien utiliza una de estas armas, tenga su propia descripción, así que esta clase bien podría ser:

class arma;

Parece malgastar demasiado esfuerzo el utilizar esta clase 'arma', cuando no aporta nada. Lo que permite en realidad es establecer una jerarquía de tipos de clases. 'arma' por sí misma no hace nada, pero permite derivar otras clases de ella.

class arma_defensiva
class arma
private
  poder_defensivo 0
with
  devDefensa [; return self.poder_defensivo; ]
;

La clase 'arma_defensiva' deriva de 'arma'. Esto se consigue con la segunda línea "class arma", que indica que arma_defensiva es lo mismo que "arma", y algo más que definimos a continuación. Esto es lo que se conoce como herencia. Aunque no es exacto: arma_defensiva podría redefinir alguna propiedad de "arma" (por ejemplo, creando una nueva descripción), con lo cual la herencia no significaría sólo añadir más características, sino también redefinir (o sobreescribir) otras ya existentes.

Otra parte importante es el uso de "private". El sentido que tiene utilizar private es que las propiedades bajo private no son accesibles desde el exterior, sólo desde el mismo objeto. Por ejemplo, si tengo un objeto pistola, ésta puede acceder a sus características private, pero no el objeto jugador, por ejemplo.

La razón de crear un método "devDefensa()" es poder acceder a este valor. Entonces... ¿por qué private?. La razón es que estamos convirtiendo a "poder_defensivo" en una propiedad de sólo lectura, podemos leer su contenido a partir de devDefensa(), pero no hay forma de modificar "poder_defensivo". Esto parece tener bastante sentido. Protegemos esa propiedad del objeto porque creemos que es algo que una vez que se crea el objeto, no va a volver a cambiar.

Class arma_ofensiva
class arma
private
  poder_ofensivo 0
with
  devOfensa [; return self.poder_ofensivo; ]
;

"arma_ofensiva", de la misma forma que "arma_defensiva", se va a crear a partir de "arma". La utilidad de esto es que, sea el arma defensiva u ofensiva, siempre podremos saber si es un arma sólo con hacer "objeto ofclass arma".

Class arma_mixta
class arma_defensiva
class arma_ofensiva
;

"arma_mixta" (por ejemplo, una espada) permite el ataque y la defensa. Esto es lo que se conoce como herencia múltiple. Un "arma_mixta" tendrá por tanto, devDefensa() y devOfensa(), además de, por supuesto, poder_defensivo y poder_ofensivo.

Class armaDeFuego
class arma_ofensiva
private
  balas_al_disparar 1,
  maxnumbalas 6,
  calibre 0,
  apuntado nothing,
  conseguro true,
  disparado_en_turno 0,
  disparado false,

  heSidoDisparado [x;
    self.disparado_en_turno = turnos;
    objectloop(x ofclass armaDeFuego) {
      x.noDisparado();
    }
    self.disparado = true;
  ]
with
  descripcion "Pues sí, es un arma de fuego.",

Un tipo interesante de "arma_ofensiva" es el armaDeFuego. Es decir, una pistola o un fusil. En este caso, definimos varias propiedades, que son el número de balas gastadas cada vez que se dispara el arma, el calibre de la misma, a dónde apunta, el último turno en que fue disparada, y si ha sido la última arma de fuego en ser disparada.

"heSidoDisparado()" es un interesante método que será ejecutado por la propia arma cada vez que ésta sea disparada. Así, no tiene sentido que otro objeto ejecute ese método, por lo que lo colocamos en la parte privada de la clase. El método guarda el turno en el que el arma fue disparada por ultima vez, y recorre el resto de armas de fuego para colocar su propiedad de disparo a "false" (falso). Finalmente, coloca su propia propiedad de disparo a "true" (verdadero).

"objectloop()" es un método muy útil que recorre todos los objetos del juego. Podemos añadir una condición, así "objectloop(x ofclass armaDeFuego)" sólo tiene en cuenta aquellos objetos de la clase armaDeFuego. Es parecido a un bucle for, en el cuerpo del cual "x" representa a un objeto distinto en cada vuelta.

  devBalasAlDisparar [;
    return self.balas_al_disparar;
  ],

  devDisparadoEnTurno [;
    return self.disparado_en_turno;
  ],

  noDisparado [;
    self.disparado = false;
  ],

  devNumBalas [numbalas x;
    numbalas = 0;

    objectloop(x in self) {
      if (x ofclass BalaArmadeFuego)
        numbalas++;
    }

    return numbalas;
  ],
  devApuntado [; return self.apuntado; ],
  devMaxBalas [; return self.maxnumbalas; ],
  devCalibre [; return self.calibre; ],

A continuación, tenemos una serie de métodos que nos permiten leer una serie de propiedades de los futuros objetos armaDeFuego. "noDisparado()" es un método que resetea la propiedad disparado a falso. "devApuntado()" devuelve el objetivo apuntado por el arma... y así sucesivamente. "devNumBalas()" es un método que recuenta las balas que el arma contiene. Más tarde veremos la clase bala. Así, las balas que el arma tiene disponibles estarán dentro de ella, y cada vez que dispara, una de estas balas es eliminada. Así, para saber el número de balas en el arma, sólo será necesario contar los objetos dentro de ella (ya que asumimos que todos son de la clase bala, pues la única forma de meter objetos en un arma es a través del método de carga de balas).

  apuntar [;
    if (~~(self.antesApuntar()))
      rfalse;

    if (self in jugador)
      self.apuntado = otro;
    else {
      print "No tienes ", (el) self, ".^";
      self.apuntado = nothing;
    }

    return self.despuesApuntar();
  ]

Comenzamos con las capacidades básicas de las armas. La primera de ellas es que pueden apuntarse a otro objeto. Veremos en la sección de gramática que se creará una acción nueva, "apuntar", que permitirá hacer que un arma tenga un objetivo. En esa acción, "uno" será el arma, y "otro" será el objetivo a marcar.

Damos una oportunidad al programador de parar la acción, con un método redefinible que es "antesApuntar()". Si devuelve falso, entonces la acción no se llevará a cabo. Quizás sea un fusil con mira telescópica defectuosa, por ejemplo. "despuesApuntar()" permite realizar algo, justo después de apuntar el arma. "devApuntado()" nos permitirá saber dónde está apuntando el arma.

  despuesApuntar [;
    if (self.apuntado ~= nothing)
      print (_El) self, " apunta ", (al) self.apuntado, ".^";
    else
      print (_El) self, " no apunta a nada.^";
    rtrue;
  ],

Por ejemplo, en este caso aprovechamos ese método para poder imprimir un mensaje de a dónde apunta el arma.

  despuesManipularSeguro [;
    if (self.conseguro)
      print (_El) self, " tiene el seguro cerrado.";
    else
      print (_El) self, " tiene el seguro abierto.";
    rtrue;
  ],

  quitaElSeguro [;
    if (~~self.antesManipularseguro())
      rfalse;

    self.conseguro = false;
    return self.despuesManipularSeguro();
  ],

  ponElSeguro [;
    if (~~self.antesManipularSeguro())
      rfalse;

    self.conseguro = true;
    return self.despuesManipularSeguro();
  ],

Algo muy parecido sucede cuando tratamos de quitarle el seguro al arma. Pero... ¿cómo encadenamos las acciones con estos métodos? Lo vemos a continuación:

  antes [;
    quitarSeguro:
      return self.quitaElSeguro();
    ponerSeguro:
      return self.ponElSeguro();
    apuntar:
      return self.apuntar();
    vaciar:
      return self.descargaTodo();
    cargar:
      return self.cargaTodo();
    disparar:
      return self.dispara();
  ],

El método "antes()" es la clave. El método "antes()" es el que permite capturar las acciones antes de que produzcan sus consecuencias por defecto. Ahora vemos claramente cómo el arma responderá a las acciones que le pida el usuario.

  antesDisparo [; rtrue; ],

  despuesDisparo [hubodisparo;
    if (hubodisparo)
      print "BANG!^";
    else {
      print (_El) self;

      if (self.conseguro)
        print " tiene el seguro puesto,";

      if (self.devNumBalas() == 0)
        print " no tiene balas,";

      if (self.devApuntado() == nothing)
        print " y no apunta a ningún sitio.^";
      else
        print " aunque apunta ", (al) self.devApuntado(), ".^";
    }

    return hubodisparo;
  ],

  dispara [disparo toret i;
    disparo = false;

    if (~~(self in jugador)) {
      print "No tienes ", (el) self, ".^";
      rfalse;
    }

    ! Gancho a la rutina del usuario
    if (~~self.antesDisparo())
      rfalse;

    if (self.devNumBalas() > 0)
    {
      if ((self.apuntado ~= nothing) && (~~self.conseguro))
      {
        self.heSidoDisparado();
        disparo = true;
        for (i = 0: i < self.devBalasAlDisparar(): i++)
          self.quitaBala(child(self), LugarBalasPerdidas);
      }
    }

    toret = self.despuesDisparo(disparo);

    if (toret)
      <atacar self.apuntado>;

    if (disparo)
      self.apuntado = nothing;

    return toret;
  ],

Tenemos los métodos "antesDisparo()" y "despuesDisparo()". En el segundo, aprovechamos para imprimir un mensaje significativo, acerca del disparo que acabamos de realizar.

En cuanto al método disparar en sí, primero comprobamos que el arma realmente esté en posesión del jugador, y entonces ejecutamos "antesDisparo()" para saber si podemos disparar. "antesDisparo()" siempre devuelve verdadero, pero podemos modificarlo para que haga otra cosa, si queremos (por ejemplo, que el arma se encasquille temporalmente).

Si es posible disparar (según el seguro, si hay balas y si estamos apuntando a algo), entonces realizamos el disparo. Nos cargamos de dentro del arma el número de balas necesario.

Lanzamos a continuación la acción de atacar al objetivo. Así, tendremos una forma de "disparar" a los objetos que no sean en principio guerreros, al menos, según lo que para nuestra librería es un "guerrero". Cada objeto puede entonces reaccionar a la acción "atacar" o permitir que discurra la acción por defecto: "La violencia no es la solución".

Llegados a este punto es necesario explicar todo lo concerniente a las balas.

Object LugarBalasPerdidas
with
  descripcion "¿Pero... cómo has llegado aquí?"
has luz;

En esta localidad vamos a guardar las balas que vayamos gastando. Habría sido posible realizar, simplemente, un "remove bala", eliminando la bala. Pero, de esta forma, se pueden contabilizar las balas e incluso "resucitarlas" si es necesario.

Class BalaArmaDeFuego
private
  calibre 0
with
  devCalibre [; return self.calibre; ],
  compatible [arma;
    if (~~(arma ofclass armadefuego))
      rfalse;

    if (arma.devCalibre() == self.devCalibre())
      rtrue;
    else
      rfalse;
  ],
  antes [;
    PonerSobre:
      if (otro ofclass ArmaDeFuego)
        return otro.CargaUnaBala();
      else
        "No puedes cargar ", (el) self, " en eso.";
  ],
  descripcion [;
    print "Una bala del calibre ", self.devCalibre(), ".^";
    rtrue;
  ],

Las balas son objetos al margen de las armas. Tienen su propio calibre, y deseamos cargar cada arma con las balas de su propio calibre. Así, un método de "bala" nos dice, pasándole un "arma", si ésta es compatible. Las balas pueden meterse una a una en el arma, por eso tenemos la reacción a PonerSobre en el método antes(). Cuando hacemos "mete uno en otro" o "pon uno en otro", entonces se dispara la acción PonerSobre.

  antesCargar [; rtrue; ],
  despuesCargar [numbalas;
    print "Has cargado ", numbalas, " bala(s).^";
    rtrue;
  ],

Estos métodos se dispararán antes y después de haber cargado el arma.

  cargaTodo [bala numbalas x;
    numbalas = 0;

    if (~~self.antesCargar())
      rfalse;

    do {
      bala = nothing;
      objectloop (x in jugador) {
        if (x ofclass BalaArmaDeFuego)
          if (x.compatible(self)) {
            bala = x;
            break;
          }
        }

        if (bala ~= nothing) {
          if (self.introduceBala(bala))
            numbalas++;
          else
            bala = nothing;
        }
      }
    } until (bala == nothing);


    return self.despuesCargar(numbalas);
  ],

El método cargaTodo(), es muy interesante. Recorre el jugador para buscar todas las balas en su posesión, compatibles con el arma, y las introduce en ella. Para eso, basta un objectloop(objetos en jugador) para localizar aquellas balas compatibles. Entonces, una vez con las balas localizadas, la cargamos en el arma, simplemente moviéndola dentro, como veremos a continuación. Si no encontramos ninguna bala, no se carga ninguna, por supuesto.

  ! Los siguientes métodos pueden ser utilizables por el usuario
  ! Automatiza el proceso de incorporación de una bala al arma
  ! Y viceversa
  ! La librería los usa.
  introduceBala [bala;
    if (self.devMaxBalas() > self.devNumBalas()) {
      move bala to self;
      rtrue;
    }
    else
      rfalse;
  ],
  quitaBala [bala receptor;
    if (self.devNumBalas() > 0) {
      if (bala == nothing)
      bala = child(self);
      move bala to receptor;
      rtrue;
    }
    else
      rfalse;
  ],


Estos métodos automatizan las tareas necesarias para meter/sacar una bala en/de el arma. Así, comprobamos que no nos estemos pasando de la capacidad máxima del arma, y simplemente movemos la bala dentro de ella. "quitabala()", en cambio, es llamada cuando una bala es disparada y, por tanto, hay que deshacerse de ella. También podrían utilizarse para cargar balas en un arma manejada por un PSI.

  cargaUnaBala [bala x numbalas;
    numbalas = 0;

    if (~~self.antesCargar())
      rfalse;

    bala = nothing;
    objectloop(x in jugador) {
      if (x ofclass BalaArmaDeFuego)
        if (x.compatible(self)) {
          bala = x;
          break;
        }
    }

    if (bala ~= nothing) {
      if (self.introduceBala(bala))
        numbalas++;
    }

    return self.despuesCargar(numbalas);
  ],

"cargaUnaBala()" hace exactamente lo mismo que cargaTodo(), pero con tan sólo una bala.

  descargaTodo [bala numbalas receptor x;
    numbalas = 0;

    if (~~self.antesDescargar())
      rfalse;

    if (self in jugador)
      receptor = jugador;
    else
      receptor = localizacion;

    do {
      bala = nothing;
      objectloop(x in self) {
        if (x ofclass BalaArmaDeFuego) {
          bala = x;
          break;
        }
      }

      if (bala ~= nothing) {
        if (self.quitaBala(bala, receptor))
          numbalas++;
        else
          bala = nothing;
      }
    } until (bala == nothing);

    return self.despuesDescargar(numbalas);
  ],

  antesDescargar [; rtrue; ],
  despuesDescargar [numbalas; print "Has descargado ", numbalas, " bala(s).^"; rtrue; ],

"descargaTodo()" hace exactamente lo contrario que "cargaTodo()", vaciar el cargador del arma en el jugador (o quién sea), pasando éste a tener sus balas.

  comprobar [ numbalas;
    if (self.conseguro)
      print "El seguro del arma está echado, ";
    else
      print "El arma tiene el seguro abierto, ";

    if (self.apuntado ~= nothing)
      print "tienes ", (al) self.apuntado, " en el punto de mira, ";
    else
      if (self in jugador)
        print "apuntando al suelo, ";

    numbalas = self.devNumBalas();
    if (numbalas > 0)
      print "y cuentas con ", numbalas, " bala(s).^";
    else
      print "y está descargada.^";

    print "Es de calibre ", self.devCalibre();
    print " y admite un máximo de ", self.devMaxBalas(), " bala(s).^";
  ]
;

"comprobar()" es un método de información que permite al usuario enterarse en qué condiciones está su arma.

Gramática

A continuación veremos un resumen de las gramáticas que es necesario definir para poder trabajar con la librería.

Extend 'quita' last
  * 'seguro' 'al'  noun -> quitarSeguro
  * 'seguro' 'en'  noun -> quitarSeguro
  * 'seguro' 'del' noun -> quitarSeguro
  * 'seguro' 'de'  noun -> quitarSeguro
;

Extend 'pon' last
  * 'seguro' 'al'  noun -> ponerSeguro
  * 'seguro' 'en'  noun -> ponerSeguro
  * 'seguro' 'del' noun -> ponerSeguro
  * 'seguro' 'de'  noun -> ponerSeguro
;

Extendemos los verbos 'quita' y 'pon' para poder manipular los seguros de las armas.

Verb 'descarga' = 'vacia';

Definimos un nuevo verbo, 'descarga', pero no nos molestamos en definir una nueva acción, simplemente lo hacemos igual a 'vacía'. Cuando un arma reciba la acción 'vaciar', será momento de descargar todas sus balas.

Verb 'carga'
  * noun -> Cargar
;

No queda más remedio que definir un nuevo verbo para cargar las balas. No existe otra acción que se parezca y tenga sentido, así que es mejor crearla. Cuando un arma reciba la acción Cargar, será momento de obtener todas las balas (compatibles en calibre) en ella.

Verb 'apunta'
  * noun 'a//' noun       -> Apuntar
  * 'con' noun 'a//' noun -> Apuntar
  * noun 'al' noun        -> Apuntar
  * 'con' noun 'al' noun  -> Apuntar
;

Debemos poder apuntar un arma contra un objetivo, es decir otro objeto. Cuando esta acción se realice, uno será el arma y otro será el objeto al que se va a apuntar.

Verb 'dispara'
  * noun       -> Disparar
  * 'con' noun -> Disparar
;

Disparar es una acción sencilla, simplemente necesitamos saber qué arma disparar.

Una aventurilla de ejemplo

Para poder probar la nueva librería, hay una pequeña aventurilla de ejemplo [1] que desgranaremos a continuación. Se trata de nuestro jugador metido en una sala de tiro, donde podrá comprobar diversas armas. En cuanto salga a la calle, el juego se acaba.

Constant Historia "Un día duro en la sala de tiro.^^";

Include "EParser";
Include "Acciones";
Include "Responde";  ! Módulo de respuestas múltiples
Include "combate";   ! Módulo de combates
Include "Gramatica";
Include "GramaticaCombate";  ! Gramática para el módulo de combates


! ================================= Sitios
responde moverseLocal
private
  elementos
    "Abres la puerta y la cierras a tu paso."
    "Pasas por la puerta..."
    "Franqueas la puerta."
    "Le cedes el paso a alguien, y franqueas la puerta."
;

Utilizaremos la librería de mensajes de respuesta para aderezar los cambios de localidad dentro del local.

Class lugar
;

Una localidad cualquiera. Como en el caso de las armas, lugar no aporta nada ni hace nada. Simplemente, nos permitirá identificar fácilmente en el futuro una localidad.

Class habLocal
class lugar
with
  antes [;
    Ir:
      print (string) moverseLocal.dev_Msg(), "^";
      rfalse;
  ]
has luz
;

Estamos dentro de un edificio, y en los edificios suele haber puertas separando las habitaciones. Así que cuando se genere la acción "ir", aprovecharemos para imprimir uno de nuestros mensajes, haciendo ver que ha cruzado una puerta. Por supuesto, podemos colocar puertas de verdad entre las habitaciones, pero esto es una forma de hacerlo tan correcta como otra cualquiera. Obsérvese que devolvemos falso para que la acción "ir" discurra por su curso normal.

Class calle
class lugar
has luz
;

Class mueble
has estatico soporte
;

Dos clases que nos servirán para la localidad final y para los objetos que va a haber en la sala de tiro, respectivamente.

! ================================= Localidades

habLocal salaDeTiro "Sala de tiro"
with
  al_e pasillo,
  descripcion "La sala de tiro es extraordinariamente larga, aunque quizás un poco estrecha. Hay
                5 plazas para tirar, con las dianas a unos 100 metros al norte del lugar de tiro.
                Al este, se sitúa la puerta de salida."
;

habLocal pasillo "Pasillo"
with
  al_o salaDeTiro,
  al_e Lepanto,
  descripcion "Un largo y estrecho pasillo lleva al exterior, a la calle Lepanto."
;

calle lepanto
with
  descripcion [;
    banderafin = 2;
    "Por fin has conseguido salir de ese infierno...^^
      La calle, rebosante de vida, se abre de este a oeste, en una alegoría de tu recién obtenida
      vida.";
  ]
;

Ya tenemos definidas las tres localidades: la sala de tiro, el pasillo, y la calle Lepanto, donde nada más entrar, se acaba la aventura.

! =================================== Objetos

mueble mostrador "mostrador" salaDeTiro
with
  nombre 'mostrador' 'mesa',
  descripcion "Pues sí, es una vieja mesa de madera que cubre toda la parte trasera del local.",
  antes [;
    Atacar:
      if (armaDisparada() ~= nothing)
        "Le haces un agujero nuevo al mostrador.";
      else
        "El mostrador ya está suficientemente viejo y estropeado.";
  ]
;

Aquí comenzamos a apreciar la interacción entre las armas y el resto del mundillo de nuestra aventura. Así, podemos patear el mueble. En tal caso, no se habrá disparado ningún arma, y la función "armaDisparada()" devolverá "nothing" (que es lo mismo que 0 o NULL en C y Java o nil en Pascal). Éste es el curso de acción habitual que sucede cuando tecleamos "golpear mostrador", por ejemplo. Si se ha disparado un arma, entonces está claro que le hemos hecho un agujero nuevo al mostrador, pero no lo tenemos más en cuenta.

"armaDisparada()" sólo hace un objectloop(objetos ofclass armaDeFuego), para encontrar el arma que fue disparada en este mismo turno. Si no encuentra una, entonces retorna "nothing", en otro caso devuelve una referencia al objeto "armaDeFuego" disparado.

Object diana "diana" salaDeTiro
private
  num_tiros 0
with
  nombre 'diana',
  descripcion [;
    print "La diana de tu calle está preparada para ser utilizada.^";
    if (self.num_tiros == 0)
      print "No has disparado a la diana.";
    else
      print "Has acertado ", self.num_tiros, " disparo(s).";
  ],
  antes [;
    Atacar:
      if (armaDisparada() ~= nothing) {
        if (random(10) <= 8) {
          self.num_tiros++;
          "Aciertas a la diana.";
        }
        else
          "Yerras el tiro.";
      }
      else
        "Está demasiado lejos.";
]
has femenino;

Tenemos un objeto mucho más receptivo a nuestros esfuerzos bélicos. Hemos puesto un contador para saber el número de balas que recibe la diana (es decir, los disparos), y los visualizamos a la hora de imprimir la descripción de la diana. La clave, por supuesto, está en el método "antes()". Cuando la diana recibe la acción "atacar", comprueba si el ataque ha venido de un arma de fuego. En tal caso, contabilizamos una bala más en la diana (aunque puede que el disparo se pierda por ahí, gracias a un pequeño "random()"). Si no, es que hemos puesto algo así como "golpear diana". Y eso no nos vale, claro.

armaDeFuego pistolaWPK38 "Walther PK 38" mostrador
private
  poder_ofensivo 20,
  calibre 38,
  maxnumbalas 10
with
  nombre 'pistola' 'walther' 'walter' 'pk',
  descripcion [;
    self.comprobar();
    "^El esmalte negro de la walther reluce peligrosamente.^";
  ]
has femenino
;

Creamos el objeto pistola. Redefinimos los valores "poder_ofensivo", "calibre" y "maxnumbalas", para darle los valores que queremos. En la descripción llamamos al método "comprobar()", ya que da automáticamente un montón de información sobre el arma. El resto ya lo hace la librería.

BalaArmaDeFuego bala38 "bala del 38" mostrador
private
  calibre 38
with
  nombre 'bala' '38',
  descripcion "Pues sí, una bala del 38"
has femenino;

BalaArmaDeFuego bala45 "bala del 45" mostrador
private
  calibre 45
with
  nombre 'bala' '45',
  descripcion "Pues sí, una bala del 45"
has femenino;

Tenemos dos balas, una del 38 y otra del 45. Una es para la pistola, y la otra para el cetme, que veremos a continuación.

armaDeFuego Cetme "cetme" mostrador
private
  poder_ofensivo 30,
  calibre 45,
  maxnumbalas 50
with
  nombre 'fusil' 'asalto' 'cetme',
  descripcion [;
    self.comprobar();
    "^Es un fusil de asalto de fabricación española.^";
  ]
;

Ahora tenemos el cetme, con sus propiedades. Vemos que no es demasiado diferente a la pistola.

arma_mixta espadaToledana "espada" mostrador
private
  poder_ofensivo 15,
  poder_defensivo 15
with
  nombre 'espada' 'sable' 'toledo' 'toledana' 'espanola',
with
  descripcion "Es una espada de fabricación Toledana."
;

Aquí tenemos una espada, que en momentos próximos de la serie veremos cómo puede ser utilizada. Es el ejemplo perfecto de cómo un arma puede ser de ataque y defensa a la vez. Es poco probable que siga siendo "arma_mixta", probablemente necesitaremos crear una clase más elaborada, que derive de ella. Por supuesto, de poco sirve frente a un arma de fuego (quitando a los ninjas que desvían las balas con sus katanas), pero eso también podremos comprobarlo más adelante en nuestro juego.

! =================================== Inicializar
[Inicializar;
  localizacion = salaDeTiro;

  "Un largo y frustrante día de trabajo... esperas poder relajarte en la sala
    de tiro, afinando tu puntería...^";
];

Finalmente, inicializamos de la forma habitual el juego, mediante la rutina de la librería estándar, "Inicializar()".

Conclusiones

En esta primera entrega, nos hemos concentrado en un tipo particular de armas, las armas de fuego. En las siguientes entregas, veremos cómo modelar el resto de armas posibles y, sobre todo, los guerreros y sus estadísticas de combate. Veremos también cómo cambiar al jugador estándar de Inform por un guerrero, cosa necesaria para poder hacer que el jugador intervenga en los combates (o no...).

Referencias

[1] http://usuarios.lycos.es/elarquero/
[2] baltasarq@yahoo.es
[3] http://caad.mine.nu/

Baltasar el Arquero

subir al índice

Consejos de diseño para el hogar del aventurero
por Jarel

El hogar es el refugio de la persona y, como cada individuo es diferente, las necesidades de espacio y forma también lo son. Como somos unos animales muy adaptables y pasotas muchas veces solemos tirar con lo que hay sin plantearnos lo que sobra y lo que falta; he aquí unos consejos para aquellos aventureros que estén prontos a mudarse...

Lo primero es elegir el sitio donde vamos a pasar la mayor parte de nuestros días, no importa lo lejos que esté, pero eso sí: asegúrate de que no haya muchos lugares significativos entre tu casa y la ciudad, para poder llegar en pocos turnos.

Por otro lado, tampoco conviene que la casa esté muy aislada o todos los aventureros que se crucen con ella llamarán a la puerta, te dirán "Hola", te preguntarán "¿Qué quieres?", e intentarán ofrecerte todo tipo de objetos inservibles a cambio de otro objeto o información sobre temas extraños. Lo mejor en estos casos es responder repetidamente "No te entiendo" a fin de que te confundan con un PSI de decorado y te dejen en paz, o intercambiarles su objeto por otro objeto cualquiera de modo que se vayan contentos. Tener buena provisión de pergaminos con runas extrañas es muy útil al caso.

La decoración deberás pensarla muy muy bien al principio, pues si posteriormente quieres mover una cama o quitar un cuadro descubrirás que "no serviría de nada hacer eso".

En algún lugar de tu casa deberá existir una habitación secreta, herméticamente cerrada y a la que sólo se podrá acceder mediante la fórmula secreta "XYZZY". Este habitáculo oscuro, además de para guardar tesoros se podrá utilizar para comprobar la duración de las pilas de la linterna; objeto de vital importancia ya que, como seguramente tanto los interruptores como las bombillas "No están aquí" o "No son necesarios" dependerás de los objetos luminosos para no partirte la crisma en medio de la oscuridad.

Si a una habitación converge más de una puerta, cada una habrá de ser de un color diferente o en su defecto de un tamaño diferente, esto permitirá a los invitados poder referirse a ellas inequívocamente antes de conocer a dónde conducen.

De la misma manera, la llave del garaje será dorada; la de la casa plateada; y la del buzón... una pequeña llave. Las ventanas irán provistas de un indicador luminoso que informe de su estado para evitar la farragosa tarea de tener que examinarlas cada dos por tres para ver si están abiertas o cerradas.

Las paredes que carezcan de apertura deberán señalizarse convenientemente con el rótulo "No puedes ir por ahí" para evitar pasos en falso y tener que comprobarlo directamente con nuestras narices.

Se evitará poner mesas o cualquier otro tipo de soporte en cualquier estancia que albergue una caja de escaleras, para evitar que un desafortunado intento de "SUBIR" nos haga terminar encima de la propia mesa.

Y no te olvides de comprar un gran escritorio donde guardarás regularmente todas las cosas que consigas a lo largo del día; si no lo haces, y por casualidad te mueres, luego tendrás que ir recogiendo todo de nuevo.

Lo suyo es familiarizarse cuanto antes con los ruidos naturales de la casa (chasquidos de las carpinterías por la dilatación térmica día-noche, sonidos de los flujos de agua a través de las tuberías, zumbido del refrigerador, tic-tac del carillón... etc) para hacer cierto el dicho "No oyes nada fuera de lo normal", salvo que incluyas en tu salón una librería de efectos.

En la cocina no puede faltar una armadura con la que protegerse de la rata que siempre salta a la cabeza al abrir la alacena, y puesto que la nevera "no tiene demasiado interés", conviene tener también el teléfono del TelePizza a mano. El resto del mobiliario tampoco es muy útil, tan sólo asegúrate de examinarlo nada más instalarlo y comprobar que "forma parte de la cocina".

El retrete te lo puedes ahorrar, los aventureros rara vez precisan de esas cosas, y si un día la suerte cambia siempre puedes hacer tus cosas en la calle, la mayoría de tus vecinos no estarán programados para detectar y reaccionar ante tan impúdico y desvergonzado acto.

Y para acabar, recordad que no debéis invitar jamás a vuestra casa a otros aventureros; dad por hecho que buscarán por todos los rincones y se llevarán todos los objetos que encuentren, recorrerán todas las estancias, harán un mapa, obviarán cerrar cada cosa que abran y manosearán todo mobiliario extraño en busca de algún mecanismo que abra entradas secretas... en resumen, que registrarán hasta debajo de las alfombras. ¡¡¡ Es muy duro ser tratado como un vulgar PSI !!!

Jarel

subir al índice

La Aventura en tu Ciudad
por el Clérigo Urbatain

Hace tiempo escribí un artículo para CAAD de opinión sobre cómo poder expandir la aventura. Una forma era distribuir las aventuras por webs de usuarios invidentes... tarea que nunca se termina, y que la llevo muy lenta (aunque ha dado ya varios frutos) y otra era hacer juegos para niños y así poder enganchar a sobrinos, hermanitos, hijos, etc, de la cual "La Juguetería del Mago Zacarías" es fruto. Evidentemente, si uno apenas saca un juego decente cada año o dos, es evidente que el número de juegos para niños no ha aumentado mucho, pero algo es algo, y estoy bastante orgulloso del resultado de este remake de "La Juguetería", pues he visto a niños de 7 años pasárselo del tirón y pedir más :).

Ahora he tenido la idea de una tercera vía para dar a conocer las aventuras. Consiste en hacer una serie de acciones en la ciudad natal de un aventurero. Así, la "Aventura en tu Ciudad" sería un proyecto para ser hecho poco a poco, y con la colaboración de todos los aventureros, ir propagando la aventura en la ciudad de cada cual.

El proyecto por ciudad conlleva tres tipos de acciones:

1) Contactar con el director de la ONCE de la ciudad y proponerle el distribuir y dar clases sobre aventuras en niños con deficiencia visual; o poner a disposición de la entidad la distribución gratuita de estos juegos a los afiliados, colgarlos en redes internas de la ONCE, o meterlos en los ordenadores de posibles aulas de informática.

2) En jornadas culturales de una ciudad, sobre literatura, cuentacuentos, actividades lúdicas, exposiciones, etc; ponerse en conctacto con los organismos pertinentes y pedir un pequeño sitio para las aventuras.

3) En tiendas especializadas de rol, librerías, hablar con los dueños para poder distribuir aventuras de forma gratuita.

Evidentemente, por mi parte, en la ciudad de Úbeda, la cosa va lenta. Hablé con el director de la ONCE de Úbeda sobre el punto 1). Me elogió por querer colaborar de esa manera, le pareció una buena idea, inició una búsqueda de niños invidentes afiliados a la sucursal, pero... ahí se quedó todo, en nada de nada. Resulta que el director, incluso no tenía potestad para poder usar el propio ordenador de su oficina para ver una aventura que le llevé de ejemplo; tenía que pedir permiso para todo. Además, no todas las sucursales tienen aula de ordenador, lo cual me extrañó sobremanera, pues ellos podrían aprovechar incluso un 386 con un lector de voz prehistórico, al menos para dar a conocer lo que es un ordenador y un lector de voz... digo yo. Así que, eso de dar clases gratuitas sobre cómo jugar a aventuras, es casi imposible por ciudad... aunque provincialmente sí podría ser. En Úbeda no tienen aula de informática, pero en Jaén me dijo que sí, y es evidente que en zonas como Madrid seguro que tienen. Total, que ya ni él me llamó, ni yo volví por allí; imagino que el director de la ONCE tiene cosas mejores que hacer que todo esto de la aventura, aunque más de uno y dos ya me han dicho que los usuarios invidentes están necesitados de material de entretenimiento, pues muchos sólo usan los ordenadores para trabajar, trabajar y trabajar, y no tienen a la vista esa posibilidad de entretenimiento: nuestras aventuras. Esto, unido al fracaso de cuando escribí por e-mail al apartado de tiflotecnia de la ONCE (no me respondieron), me sugiere que es mejor no esperar ayuda ninguna para promocionar las aventuras, de parte de cualquier organismo semi-oficial. Esto es, la necesidad está ahí, la ONCE lo sabe, pero la burocracia interna y los posibles intereses comerciales impiden que se pueda tratar el tema decentemente. Así que es mejor escribir a webs independientes, y si pudiese ser contactar con organismos aparte de la ONCE, los cuales dudo que existan, pero es una posibilidad que hay que estudiar.

Cambiando de tercio, la posibilidad 2). En la pasada edición de la semana de cuentacuentos de Úbeda, me dije: ¿por qué no presentar las aventuras como cuentos interactivos?. Dicho y no hecho, ya que era demsiado tarde. Así que, para la próxima, intentaré colarme en la organización, y que el Ayuntamiento me ceda un pequeño apartado para poner dos o tres ordenadores con aventuras listas para jugar por la gente. Además, he pensado en hacer esto junto con las organizaciones de Rol que hay en mi ciudad, para servirnos de apoyo mutuamente... Al fin y al cabo, el rol se podría considerar como cuentos en vivo XD Así que a ver si con esto hay más suerte que con la ONCE. En realidad no tiene por qué ser sólo jornadas de cuentacuentos, cualquier acontecimiento social que sea de literatura o de artes alternativas (rol, comics), la aventura podría colarse fácilmente, como actualmente se está barajando en nuestra comunidad aventurera respecto a entrar con un stand en la Hispacon 2003 de Alcalá de Henares.

Y es que, nuestra comunidad, las de rol y las de literatura fantástica, son casi comunidades estancas, que no se dan a conocer fácilmente, y presuponemos que somos unos frikis intratables :) Lo somos... pero bueno, estaría interesante ver a gente de rol organizando partidas en vivo para gente normal de la calle, ¿no?

Y por último, la opción 3)... En las jornadas de cuentacuentos éstas de Úbeda, las librerías se implicaron bastante como patrocinadores y todo eso, así que se me ocurrió el mostrarles a unas cuantas de éstas las aventuras y ver si quieren distribuir disquetes gratis con aventuras, pero bajo la siguiente etiqueta: cuentos interactivos, libros interactivos o literatura interactiva; seguro que así llama más la atención que el típico "aventuras conversacionales" que suena un pelín raro. ¡Ah! Esto tampoco lo he hecho, esperaré a la citada jornada.

Respecto al proyecto en conjunto, no he puesto nada on-line todavía sobre todo esto, pues este proyecto de momento ha sido un fracaso en uno de sus puntos, así que hasta no tener nada concreto que mostrar, no tiene sentido darlo de alta como proyecto consolidado. Pero, si algún punto tiene éxito, le haré una página web donde se pondrán los progresos, y espero que otros aventureros en sus correspondientes ciudades se unan a la idea y así ir engordando el proyecto poco a poco. Además, si lo del punto 2) se pone en marcha, espero que algunos valientes aventureros vengan a ayudarme en la tarea... se podría convertir en una Ubeda-Aventura 2003 fácilmente.

Y eso es todo, ya sólo falta que vosotros os animéis a colaborar y a intentarlo. ¿Os apetece?

El Clérigo Urbatain.

subir al índice

Especial Entrega de Premios ESDAcomp
por dhan y el Clérigo Urbatain

La coincidencia en el tiempo de dos competiciones ha hecho que poco después de terminar la Nanocomp se haya celebrado el final de la ESDAcomp, la competición temática del año pasado. Por suerte, Jarel se curró una buena entrega y todos pudimos disfrutar de un rato entretenido en el canal como hacía tiempo que no veíamos. En casi doce meses ha llegado mucha gente nueva y todos pudimos compartir un buen rato, con los típicos desdobles de personalidad, comentarios enloquecidos y ambiente festivo.

Antes de repasar lo que dio de sí esta ceremonía, conectamos con el Clérigo Urbatain que tenía una entrevista pendiente del número pasado, la de Raúl el Lula.

Entrevista a Raúl el Lula sobre "La Mediana Evasión".

Nombre: La Mediana Evasión
Autor: Raúl el Lula
E-mail: el_lula@yahoo.es
Fecha: Noviembre 2002
Parser: InformATE!
Soporte: Máquina-Z
Disponibilidad: Gratuita
URL: http://es.geocities.com/tcompe2002/esdacomp2002.htm
Tipo: Bilbo al rescate de los enanos.

<Urbatain> Con retraso, finalmente, el Lula me ha mandado las respuestas de la entrevista, muy escuetas, eso sí XD. Él es un miembro nuevo de la comunidad que nos ha sorprendido a todos con la calidad de su primer juego, "La Mediana Evasión", participante de la ESDAcomp pasada.

<Urbatain> Raúl, háblame del juego que has hecho, cómo se llama y de qué va.
<Raúl> El juego es "La Mediana Evasión", y está basado en un capítulo de "El Hobbit" donde Bilbo debe rescatar a sus compañeros enanos, atrapados por los elfos del Bosque Negro.

<Urbatain> ¿En qué sistema lo hiciste y por qué?
<Raúl> En InformATE!, porque es el único parser con el que soy capaz de hacer algo.

<Urbatain> ¿Por qué ese juego y no otro?
<Raúl> Me pasé unos cuantos días dándole vueltas, pero no acababa de dar con ningún tema con el que me surgiera un guión. Un día lo hablaba con mi chica y, sin pensárselo apenas un instante, me sugirió esta posibilidad... y ya se sabe: Ellas siempre tienen razón.

<Urbatain> ¿Cómo fue el desarrollo?
<Raúl> Desde Febrero cuando decidí en qué la iba a basar, hasta ahora que sigo con retoques... Dificultades, todas menos una, sobre todo con los enanos: moverlos (al principio los enanos no te seguían, únicamente les ordenabas ir en una u otra dirección y había que comprobar la validez de la misma), controlar que no se pudiera subir más de un personaje encima de otro. Resumiendo: los enanos se me quedaron grandes.

<Urbatain> Vota tu aventura. Es para que tú mismo valores los puntos fuertes de la aventura y para promocionarla para el concurso:
<Raúl> La opinión la debe de dar el resto de la gente. Ahora mismo me parece la "Mejor-aventura-jamás-escrita" pero, muy en el fondo, me parece que no es una opinión excesivamente objetiva.

<Urbatain>¿Algo que opinar de los contrincantes?
<Raúl> Estoy gratamente sorprendido por el altísimo nivel de todas las aventuras presentadas. La que no destaca en un aspecto lo hace en otro, cada una con su toque particular. Como jugador he disfrutado mucho con ellas.

<Urbatain> ¿Cual es tu futuro aventuril? ¿Algún proyecto en mente?
<Raúl> Aparte de terminar de retocar "La Mediana Evasión"... (¿algún voluntario para testear la nueva revisión?), unos seis o siete, la gran mayoría condenados a no llegar a ningún sitio. Lo que tiene mayores posibilidades es una pequeña aventura que escribí para aprender a manejar Inform, me apetece mucho revisarla y terminarla, también estoy planteándome la posibilidad de hacer un remake de "Megacorp" en Glulx, con gráficos y todo eso, pero a más largo plazo.

<Urbatain> ¿Unas palabras para terminar?
<Raúl> Agradecimientos miles, por los comentarios, buenos o no tan buenos, que la gente ha hecho: indudablemente ayuda mucho saber que la aventura que, con mayor o menor fortuna, tanto ha costado escribir, la juega alguien.

El Clérigo Urbatain.

Al final "La Mediana Evasión" ha sido uno de los juegos que más ha gustado, quedando en segundo lugar. La triunfadora, sin duda alguna, ha sido "Misterio en el Último Hogar", y Saimazoom apenas tenía manos para sostener tanto trofeo. Por suerte o por desgracia, los discursos fueron breves y todo transcurrió con bastante fluidez. Éste era el ambiente que se vivía en el canal poco antes del inicio de la ceremonia.


Inicio Sesión: Sun Jan 19 22:19:10 2003
*** entrando en #caad [22:19]
* nanolo arrastra un pesado nanocarrito lleno de nanochuches y una nanopancarta
<@JenOFF> ya sé quien es nanolo
<@JenOFF> XDDDDD
* Usagi111 lee la nanopancarta
<Usagi111> Olorin?
* JenOFF le compra una cocacola a nanolo
* nanolo extiende la nanopancarta: NANOCOMP... NANOENTREGA DE NANOPREMIOS
<Usagi111> y yo
<@JenOFF> :)
<Usagi111> que mal se camufla
<Usagi111> por Crowter
<@JenOFF> por whois...más bien XDDD
* nanolo saca del carrito una caja de nanoconfetis
<@JenOFF> no llevas esdacomics????
* nanolo saca, además, una caja de nanomatasuegras y nanosprays de nieve artificial
* Usagi111 repasa su parte del guion
* nanolo coge un par de nanosprays... los agita y... ¡¡¡rocia a Jen!!!
* JenOFF quiere una nanosilla
* JenOFF se sacude las filigrans y se le caen las gafas
* JenOFF buscando en el suelo...
<@JenOFF> cuidad no me piseis!!!
* JenOFF se encuentra un nanochicle
* Usagi111 se pone su traje de samurai y las espadas, que es una noche de gala
* Usagi111 pasa a forma conejil
* JenOFF regaña a nanolo
*** JenOFF es ahora Jenesis
* nanolo salta alrededor de Jen pitando con un nanomatasuegras
* Jenesis saca una nanocuerda y hace un nudo nonañero
* Usagi111 ve un grupo de fans de Tolkien a la puerta del anfitetatro
<@Jenesis> }:)
<Usagi111> teatro
<Usagi111> quise decir teatro
*** _blanxs_ ( webch7747@DcFxmJ.BuPsHB.virtual ) entra [22:34] [entró antes como u6521173]
<_blanxs_> a ver...
<_blanxs_> ¿hola?
<_blanxs_> yo a tí sí... y tú a mi? XDDD
* nanolo sonríe a blanxs y la rocía con un poco de nieve en polvo
<_blanxs_> ains :) asias nanolo ;)
<nanolo> mira blanxs... qué de cosas me han dado en nanocity con un euro...
<_blanxs_> juas XDDD
<@Jenesis> juas!!!
*** saimazoon ( Saimazoom@BYrlz6.AyXTqe.virtual ) entra [22:35]
* nanolo enseña a blanxs el carrito lleno de nanochuches, nanomatasuegras
<_blanxs_> euro robado... por cierto
*** saimazoon es ahora saimazoom
<jarelsuma> nas sai
<_blanxs_> ;)
* nanolo se hace el despistado
<_blanxs_> nas saimaz
<@Jenesis> sera con un nanoeuro
<saimazoom> re
* Usagi111 pregunta si hay nanosake
<@Jenesis> re
<saimazoom> vuelvo en un ratito, me voy a cenar OO=)
<_blanxs_> sianda!!
<nanolo> no Jenesis... era un euro... lo que me ha sobrado lo he metido al nanobanco para el resto de mi nanovida :-)
<_blanxs_> jajajajaja
*** [balrog] ( jsj@A0K5lA.DB17Nt.virtual ) entra [22:37]
*** 0,1 CloNes [ nanolo, [balrog]] A0K5lA.DB17Nt.virtual [2]
<@Jenesis> ohhhh
<[balrog]> groaurghsffssssssssss
<@Jenesis> que miedo!!!!!!
* [balrog] fustiga el canal con su látigo de fuego
* _blanxs_ se aparta de balrog... por si se quema...
* nanolo se esconde detrás de Jen
* Jenesis se esconde dertrás de ...
<@Jenesis> oyyeeeeee
<_blanxs_> jajajajaja
<@Jenesis> y yo donde me meto????
<[balrog]> groaugfffgsssssssssffgfrrrrggg
<@Jenesis> XDDDD
<Usagi111> oh!
* Jenesis pìensa que ha de ser mas rápid tecleando...
<Usagi111> es el malerrimo balrog!
<Usagi111> NO PUEDES PASAR!
<[balrog]> groaugf... cog cog
<Usagi111> si quieres entrar al baño
<Usagi111> espera tu turno
* Jenesis le pasa una limonada al balrog
* [balrog] saca unas pastillas mentoladas y se zampa 200 o 300 para aplacar su tos
* Jenesis se sienta en la butaca...
<_blanxs_> XDDDDD
* Usagi111 saca el extintor y fustiga con el al balrog del caad
* [balrog] observa como su látigo se apaga con un "pfssss" miserable
* _blanxs_ se va a poner el traje de gala
* Jenesis come la galleta... y crece.... crece.....
<@Jenesis> ya!!!
* nanolo sonríe desde detrás del pie de Jen y esconde el nanosifón con el que ha rociado el látigo del balrog
* Jenesis sienta a nanolo encima de sus rodillas
* nanolo pone carita de niño bueno
<@Jenesis> ves bien, nalolo?
* Usagi111 ve que nanolo es un hobbit
* [balrog] saca un zippo y...
<@Jenesis> nop, es que he crecido mucho :)
* Usagi111 rocia el zippo
<@Jenesis> zippo ¿mechero?
<Usagi111> sips
<Usagi111> a ver si es fumador
<@Jenesis> de petróleo???
* [balrog] groaurgggsss ¡por el Guardián del Fuego Sagrado de Udún!... ¿es que ya no hacen zippos como los de la Primera Edad?
* Jenesis manda al balrog al lado de no fumadores
<Usagi111> sssips
<Usagi111> nops
* [balrog] se arrastra lastimosamente a la esquina de fumadores...
* Jenesis le abre un bocata a nanolo
<Usagi111> jo
<Usagi111> pues esperad a que venga gandalf
* nanolo se mete dentro del bocata
<@Jenesis> es de jamón...
<@Jenesis> es de nanolo
* _blanxs_ vuelve a aparecer en tenue de gala aventurera
* _blanxs_ le pide fuego amablemente a Balrog
* Jenesis tiene hambre...
* Jenesis tiene un bocata...
<@Jenesis> }:)
* [balrog] abre la boca y lanza su aliento flamígero hacia _blanxs_
* Jenesis abre la bocaaAAAAAA para morder el bocata...
* [balrog] pide perdón... hoy a comido bocata-hobbit-choricero
<@Jenesis> ops,
<_blanxs_> asias balrog :)
* Jenesis saca a nanolo de dentro del bocata y le da un donuts
* nanolo se mete dentro del agujero del donuts y comienza a correr en círculos pegando bocados
* _blanxs_ se fuma apaciblemente el pitillo al lado de balrog [zona fumadores]
* [balrog] pasa su látigo por encima de los hombros de _blanxs_


Vamos, un ambientazo con esas dos estrellas invitadas. Otra de las incógnitas fue la aparición de una tal "Deyrdrem", que se presentó hace varias semanas como la "Talibana" y que decía ser Melhython. Sin embargo, desapareció sin decir nada más y sembró dudas sobre la verdadera desaparición de tan primigenio aventurero.

Tras el habitual retraso de unos minutillos, se procedía a la entrega del primer premio de la noche. Curiosamente, el IRC-Hispano se volvió "inestable" y los intentos de duplicar el nick a veces hacía que no aparecieran algunos de los que estaban en el canal. Tras varios intentos por parte de Jarel "Canelorn" de introducir a Sarruman, tuvo él mismo que dar el premio al juego más original...


<Canelorn> creo que hay un problema
<buh> nos van a dar las uvas
<Canelorn> alguien no ve a Sarruman??
<saimazoom> yo
<KRAC> yo no lo veo
<_blanxs_> ayvá...
<Canelorn> me lo temia XDDDD
* [balrog] no ve a Sarruman
< dhan > no lo veo
<_blanxs_> pos yo sí... juajuajuajuajuajuajua
<Canelorn> empezamos bien
<KRAC> jajaja
<saimazoom> split
< dhan > que se quite el anillo!!!!!!!
<Canelorn> Largo de aqui Sarruman!!
<saimazoom> split in the middle of the night
* nanolo se asoma por la solapa del bolsillo de _blanxs_ pero no ve a Sarruman
<Canelorn> bueno, recapitulemos
* dhan lleva media hora meter otro nick para el kraken pero no le deja el webchat
<Canelorn> premio a la avnetura más original
* KRAC también quiere entrar en el bolsillo de blanxs
<Canelorn> en tercera posicion:
<Canelorn> EL Anillo Regente
<KRAC> bien!
<Canelorn> !!!!!!!!
* Usagi111 busca al mago arcoiris
* _blanxs_ piensa que krac estaba mejor desnudo...
<buh> yo quiero entrar en donde sea de blanxs
* saimazoom aplaude !
* _blanxs_ rehace la ola de nuevo
<Canelorn> en segunda posicion....
<_blanxs_> uhala buh XDDDDD
<Canelorn> Sombras de Moria
<KRAC> bien!
<Canelorn> y el gandor..........
* [balrog] silba
<Canelorn> el ganador....
* _blanxs_ piensa 'menos mal que son los pantalones de campaña y tienen muchos bolsillos'
* balarcher tensa el arco
<_blanxs_> QUE LO DIIIGA
* balarcher pone una flecha
*** _JMV_ ( a@Cy42vI.DksGFQ.virtual ) entra [23:10]
* _blanxs_ le arrima candela al cohete
<yokohama2> xD
<_blanxs_> engaaaaa
<Canelorn> es...
* balarcher va a saber si Canelron está relleno de carne o no
* [balrog] le quita la candela a _blanxs_ y enciende le cigarrillo
<_blanxs_> jajajajajjajajaja XDDDD
*** SARRUMAN ( x-cript@BVbdrr.AGpF8D.virtual ) entra [23:10]
<saimazoom> sarrOman !
<SARRUMAN> y el gandor es...
<kifcu> el de los dientes sucios
* _blanxs_ le tiende el cepillo de dientes a sarruman
<balarcher> pero Canelorn donde está ?
<SARRUMAN> no os ibais a librar de mi
<SARRUMAN> El Último Hogar !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<KRAC> EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
<saimazoom> O_o
* _blanxs_ distribuye pinzas de la ropa para tapar las narices... a sarruman le hiede el aliento mogollón
<balarcher> Bien !
<kifcu> balarcher: se lo habran comido
<@Jenesis> bieeeeennnn!!!!!!
< dhan > bravo!
<_blanxs_> OEEEEEEE BIEEEEEENNN
<Canelorn> estoy aqui
* balarcher guarda el arco y las flechas
* [balrog] lanza una llamarada hacia el techo de la estancia
<saimazoom> joer, que caña X)
* Usagi111 aplaude!
<Usagi111> BIEEEEEEEEEEEEEN
* Jenesis aplaude entusiasmada
< dhan > hala, saimazoom, a por el primer discurso de la noche XD
* KRAC aplaude
* nanolo dispara un nanocohete de fuegos artificiales desde el bolsillo de _blanxs_
<SARRUMAN> venga majete sube al estrado que te voy a dar el premio
* _blanxs_ huele a chamusquina
<KRAC> me da que va a dar muchos discursos
* saimazoom tropieza con un escalon al subir
<saimazoom> ups
< dhan > una trilogia de discursos XD
* _blanxs_ hace fotos de tan magno evento
<Canelorn> venga Sai , un discurso!!!
* dhan comienza a jugar con ciertas esferas... a ver si puede darle la vuelta al escenario :-)
<saimazoom> ''=)
* balarcher le echa un ojo al reloj de arena y piensa que queda un largo viaje hasta casa
<saimazoom> no se ... gracias =)
<KRAC> así me gusta... breve
* SARRUMAN entrega a Saimazoom un anillo cuadrado. Premio a la Originalidad
<KRAC> :)


Los discursos, más que breves, fueron inexistentes, lo que complació a algunos y a otros no. El segundo premio, a la mejor calidad literaria, fue presentado por un "jovvit":


<Canelorn> EL premio a la aventura con mejor literatura
* nanolo se hace pipí
* Jenesis se vuelce a sentar...
<Canelorn> con mejor ambientacion, atmósfera...etc
* balarcher "a continuación", bien, bien
<[DEF]> Jodooooo cuanta gente...
<yokohama2> nanolo cochino!
*** _JMV_ [ a@04Cy42vI.DksGFQ.virtual ] cierra [23:14] [User Quit: Algo se muere en el alma ...]
* nanolo busca desesperadamente un rinconcito apartado dentro del bolsillo de _blanxs_
* [DEF] saca un screenshot pa la posteridad
<@Jenesis> pobre Blanxs,,,
< dhan > te faltó la tilde en "ambientaciÓn" para el premio a la mejor literatura XD
* saimazoom sonrie como un tonto con su anillo cuadrado
<jovvit> Hola, yo daré el premio
<@Jenesis> quien con nilos se acuesta...
* _blanxs_ vigila a nanolo con el microscopio
< dhan > hemos asustao al JMV juas
<@Jenesis> niños :)
<_blanxs_> atrévete y muere... nanolo...
<jovvit> en tercera posición.....
* balarcher dispara al kraken por si acaso y le acierta en un ojo "te tenía ganas, desde Moria"
<jovvit> Cirith Ungol!!!!!!
<@Jenesis> juas!!!
<_blanxs_> OEEEEEOOO
* nanolo se contiene
<KRAC> bien
<kifcu> Jenesis : quien con niños se acuesta.... es un pedófilo
<saimazoom> plas plas plas !
* dhan observa que el kraken ha traido chaleco anti-flechas O_O
<balarcher> Bien !
<_blanxs_> juajuajuajuajua
* jovvit cuenta con los dedos a ver por cual iba
<jovvit> ah si
* _blanxs_ se está mareando... será la emoción?
<Usagi111> vaya
<jovvit> la segunda posicion....
< dhan > bueno, ahora que no esta jarel por aqui criticaremos a Cirith Ungol un poco mas XD
<jovvit> Sombras de Moria!!!!!!!!!!!
<_blanxs_> oeeeeeooo
<saimazoom> eooooo
<balarcher> Bien !
< dhan > vaya, dos segundos puestos para sombras de Moria!!!
<Canelorn> te estoy oyendo dhan
<Usagi111> mmmm
< dhan > yo no hablo, es el kraken
* jovvit cuenta con los dedos otra vez
<jovvit> ah si!!!
* _blanxs_ llama a su psicólogo... desdoblamientos de personalidad!!
< dhan > somos como jose luis moreno y compañia, ya sabes :-)
<jovvit> ahora debe de ir la primera
* balarcher le dispara otra flecha "anti-chalecos" al kraken
<jovvit> La ganadora es ...........
<jovvit> El Último Hogar!!!!!!!!!!!!!!!!!!!!!!!!
<KRAC> EEEEEEEEEEEEEEEEEEEEEEEEEEEE
* balarcher piensa que con el kraken se podría preparar un "pulpo a la gallega" como en su tierra
<saimazoom> O_O
<_blanxs_> OEEEEOOOEEEOOOEOo
<balarcher> Bien !!
<KRAC> va a arrasar
<@Jenesis> biiieeeeeeennnn!!!!!!!
* dhan observa que el kraken hace una voltereta ante el anuncio del premiado y esquiva esa flecha :-)
<Usagi111> BIEEEEEEEEEEN
* Canelorn aplaude y se lleva al jovvit disimuladamente
< dhan > bien!!! venga, discursito!!!
* saimazoom clava los dientes la madera del estrado al caer de nuevo ...
<kifcu> deberia llamarse "el primer hogar"...
* Jenesis reaplaude reentusiasmada !!!!!
<saimazoom> bueno... este es facil
< dhan > ay payo, di argo....
<jovvit> mmm, que suba al estrado el ganador
<KRAC> jaja, muy bueno kif
<saimazoom> el merito es sobre todo de mi "traductor" : dela
<KRAC> sai va a terminar con agujetas de subir al estrado
<saimazoom> que se encargo de corregir todo tipo de extrañas expresiones que habia escritas
< dhan > "dela" agenda debolsi ?
<saimazoom> gracias a todo !
<saimazoom> es un amiguete =)
<balarcher> "grasia a tós"
* KRAC aplaude como lo que es, un loco
* jovvit entrega a Saimazoom el Anillo de papel. Premio a la mejor literatura, y le da los buenos días
* _blanxs_ piensa que eso es un bodrio de discurso... XDDD
* balarcher guarda el arco y aplaude
<kifcu> juasjuas
< dhan > ufff de papel, como anda el presupuesto... XD
* saimazoom tira al suelo las tarjetitas
<KRAC> jaja
<saimazoom> ups
* Canelorn le pega una patada al jovvit


Y rápidamente, pasamos al tercer premio...


<Canelorn> vamos con la INTERACTIVIDAD
* dhan piensa que no debería haberse traido al "extra para escenas arriesgadas", sino a la verdadera estrella :-)
<Arguen> hola queridos
* balarcher piensa "los siento, pero parece un pulpo"
<Canelorn> el premio lo dará arwen
* [balrog] sabría con quien tener "interactividad" en las oscuras cavernas de Moria
<saimazoom> anda X)
<Canelorn> digo Argüen
<Canelorn> que no es famila de AranGüena
* balarcher balarcher coge un tentáculo y lo examina para ver si se puede preparar
< dhan > ese balrog es un poco sinvergüenza, no?
* Jenesis enseña a bal a respetar a los feos... también
* dhan va cogiendo ideas para acabar bien su Moria
<Arguen> Las Avneturas más interactivas según la opinión de los votantes son:
<kifcu> va que sigan los premios!
<Arguen> en tercer lugar....
* balarcher piensa que ahora que ha acabado con el Kraken ,.puede ir a por el balrog
<Arguen> Mediana Evasión
<Arguen> !!!!!!!
<KRAC> ole
<balarcher> bien !
* dhan vigila al kraken... un tentaculo parace moverse lentamente...
<_blanxs_> ooOOOooEEEeeEEe
< dhan > buen juego el de Raul!!!
<Arguen> a continuación (la 2ª)....
<@Jenesis> bravo
<Arguen> Cirith Ungol
* [balrog] muestra su látigo flamígero apagado a balarcher... ¿no atacarás a un pobre balrog indefenso?
<Arguen> !!!!!!!
<KRAC> ole
<balarcher> bien !
<_blanxs_> OoeoOOOEoeoe
<@Jenesis> bravísimo
* _blanxs_ se pone delante de balrog y dice
<Arguen> y la ganadora........
* balarcher coge el arco sin glechas ni nada y le pega al Kraken con él
<Arguen> es....
<_blanxs_> pobre de quien le toque!!
< dhan > que emocion!
< dhan > que intriga! XD
<Arguen> Andá! , mi casa
<saimazoom> que .. dolor de barriga ...
<_blanxs_> jajajajaja XDDDD
<Arguen> El Último Hogar!!!!!!!!!!!!!!!!!!!!!!!
<KRAC> oleeeeeeeeeeeeeeeee
<saimazoom> arg
<balarcher> bien !
<Usagi111> OTRA VEZ???
<[balrog]> Arguen,,, macizaaaaaaaaaaaaaaaa
<_blanxs_> oOOooOooOoooOooOEEEeeeEEeeEE
* dhan le tira la bandeja a arwen en los morros...... que no te´nteras de ná!!!!!!!!!
<_blanxs_> quehable
<[DEF]> Tongo!!!!!
<_blanxs_> quehable
<balarcher> espera ... o¿otra vez?
<_blanxs_> quehable
<_blanxs_> XDDDDDD
<saimazoom> uf
<KRAC> esto empieza a ser sospechoso ¿no? XDDDDDDDDDD
<yokohama2> :D
<Canelorn> está muy repetida la cosa
<[DEF]> Musho...
<KRAC> es broma
* saimazoom intenta subir al estrado, pero tira el microfono al suelo sin querer
< dhan > por cierto, saimazoom........ al final no habeis votado??
<Canelorn> enohorabuena Sai
<balarcher> va a salir de neuvo ?
<[DEF]> A ve... que venga el notario
<yokohama2> fraude!!!
<saimazoom> nops, no ha dado tiempo a jugar la aventuras
* _blanxs_ recoge el micro y se lo da a saimaz... que no te vas a librar
<Arguen> Su turno maese Saimazoom
<yokohama2> xD
* dhan reparte bandejas de plata
* balarcher prepara una flecha para saimazon y otra para el barlog, por si acaso
* Jenesis saca el ganchillo.... otra vez
* Jenesis se sienta entre Balacher y el Balrog }:(
* _blanxs_ defiende al balrog blandiendo su látigo
<saimazoom> agradezco a Urbatain todo el betatesting que me envio y a DavidAgudo (otro pobre amiguete) por el betatesting, si por nosotros hubiera sido ...
* balarcher mira a Jenesis y guarda la flecha para el Balrog
* KRAC aplaude como un loco a la mejor aventura de los últimos tiempos
<saimazoom> gracias a todos !!!!!!!
* [balrog] pasa su otra ala de oscuridad tras la espalda de Jen
* Arguen entrega a Saimazoom un anillo de barro para que interactúe con él. Premio a la Interactividad


Discurso bastante breve, pero lo bueno si breve, ya se sabe... Por sorpresa, nos visitó Juankar en la entrega de premios, para dar el del juego "más Tolkien".


<Juankar> EN tercer posición, haciendo gala de un gran patrotismo hacia la Tierra Media....
<KRAC> jajaj
* balarcher mira a Jen y guarda el arco
<Juankar> Mediana Evasión!!!!!!!!!
<balarcher> Bien !!
<KRAC> ole
<@Jenesis> bieennnnn
<_blanxs_> ooOOOooooEEeeEEeeE
* _blanxs_ se ha cansado de hacer la ola... tiene agujetas... tanta actividad...
* balarcher entonces, no va a salir Saimazon otra vez, ¿no?
* saimazoom aplaude
* Usagi111 busca rapidamente algun ninja
<Juankar> en segunda posicion, puesto de gran honor y merecimiento , digno de condecoraciones....
< dhan > tu prepara la flecha, balta XD
<Juankar> Sombras de Moria
<KRAC> ole
<Juankar> !!!!!!!!!
<balarcher> bien !!
<_blanxs_> Bien!
* saimazoom contiene la respiracion ...
* balarcher ayayayay ...
* Juankar se aclara la garganta
* _blanxs_ prepara la mascarilla de oxígeno
<@Jenesis> biennnnn
*** modo: CHaN pone [+o kifcu]
<[DEF]> Tongo!!!
<KRAC> voy a adivinar quien ha ganado
<@Jenesis> este Chani....
* balarcher saca el arco pero mira a Jen y lo vuelve a guardar
<[DEF]> A no... que aun no ha diho elprimer premio
<KRAC> soy anthony blake
* Jenesis le compra una automática a bal... pa que se modernice....
<Juankar> Y la gandora, feliz navidad por cierto que creo que no lo he dicho, la trinufadora es.....
< dhan > ya te vimos por la tele, juankar
<Juankar> Moria!!!!!!!!!!!!!!!!!!!!
* balarcher ¡que lo diga de una vez!
<saimazoom> bieeeeeeennnn!!!!
<balarcher> bien !!
<@Jenesis> biiieeeeeen!!!!!!!!!
<[balrog]> mi casssaaaa... teleffoooo
* saimazoom respira aliviado =)
< dhan > vaya, que raro... haced bien el recuento de las papeletas XD
<[balrog]> ¡ops!.... perdón... ¡la emosión!
* balarcher espera ... ¿la del Kraken?
<KRAC> EEEEEEEEEEEEEEEEEEEEEE
* Juankar prepara los esquies para luego
* balarcher ¿la del KRAKEN?
*** _blanxs_ [ webch7747@04DcFxmJ.BuPsHB.virtual ] cierra [23:28] [User Quit: 0,0 0,14 ,8 WebChat 0,14 0,0  http://www.wanadoo.es]
<yokohama2> xD
<KRAC> dhan!
*** Beckinsal [ John@04BCVFpC.DogPpS.virtual ] cierra [23:28] [User Quit: IRcap v7.1 - http://www.ircap.com]
*** _blanxs_ ( webch9289@DcFxmJ.BuPsHB.virtual ) entra [23:28]
<Canelorn> dhan a dar un discurso!!!
<_blanxs_> :_(
* Jenesis se acomoda en el sillón
<_blanxs_> aish.... ha ganao moria? XDDD
<@kifcu> Juankar : venga largando, que tengo op y no me gusta mucho la monarquia xDDDDD
<[DEF]> Ya se han acabaó los premios
<balarcher> que hable, que hable
<_blanxs_> (justo me tenía que caer ahora...)
* dhan tropieza con el escalon, pierde los papelitos, desenchufa el micro por el camino
* _blanxs_ hace la ola
*** xalons ( yaves@Bv82UM.Dkwoqa.virtual ) entra [23:29]
< dhan > bueno, yo tengo poco que decir en el tema
<xalons> Holas
* Jenesis saca su labor de bolillos
* _blanxs_ le pasa a Dhan el micro inalambrico
* saimazoom dice: arreglad ese escalon !
<KRAC> dhan, queremos un hijo tuyo
* balarcher jo,. que tío
* Juankar se monta en los esquies
< dhan > hola xalons
<saimazoom> re
<xalons> me he perdido mucho?
* nanolo vomita mareado dentro del bolsillo de _blanxs_
<@Jenesis> oufff
<@kifcu> jajajaja
<balarcher> casi todo X-d
* Juankar entrega a Dhan el ANillo de Oro. Premio a la más Tolkien
* [DEF] saluda.. Dhan xxxón saluda a la afición
< dhan > el empate del atleti XD
* Usagi111 estora los brazos y rona las palomitas de Juankar
* _blanxs_ se arranca el jersey
* yokohama2 ha saboteado los esquies
* Juankar se monta en el telesilla y se va
<Usagi111> 0_:0
<balarcher> bueno, jenesis me ha regalado un automática
*** Juankar ( x-cript@06BVbdrr.AGpF8D.virtual ) sale [23:29]
< dhan > de hecho no esperaba para nada ningun premio, Moria es muy mejorable
<Usagi111> BLANX!!!
<@kifcu> ese kraken
< dhan > lo unico que tengo que decir es que espereis la version final, en la que cuento con un gran grupo de gente apoyando
<xalons> jooooo
* KRAC aplaude
<Canelorn> estamos por la mitad xalons
<saimazoom> yo quiero ver la version final
* balarcher mira a Blanx, a ver si sólo llevaba jersey
* _blanxs_ muestra una camiseta en la que pone 'LIRROJOOO MASISSOOOO'
<_blanxs_> XDDDD
< dhan > jaja
* Jenesis se aparta de Blanx... puaghhhh
<buh> vaya!!
<Canelorn> dhan cuando hayas acabado Salta
< dhan > y ya está, me imagino que sera la mas tolkien por esos bonitos graficos que he conseguido
< dhan > y por intentar seguir el libro/peli lo mas fiel posible
<@Jenesis> hueles a vomitina crío, Blaxs
* balarcher espera que quiten al kraken de la versión final ... y se asegura de que el kraken está bien muerto
* _blanxs_ mira con repugnancia a Jen
<Canelorn> o por ese kraken tan realista
<Canelorn> continuamos
<Canelorn> a continuación la mejor aventura
* _blanxs_ piensa 'le digo que es ella la que huele?' XDDDD
< dhan > asi que queiro compartir el premio con todos los que le han echado imaginacion y han pensado en otros tolkiens posibles, de ellos es el premio
* Jenesis remira con asco a Blanxs
* dhan salta


La única sorpresa de una noche acaparada por "El Último Hogar" y su indiscutible calidad. En el premio al mejor juego, nadie tenía dudas de para quién sería.


<Canelorn> en tercera posicion...
<xalons> okis, gracias
<Canelorn> Sombras de Moria
<Canelorn> !!!!!!!!!
<balarcher> toma !
* [balrog] le pide un pitillo a xalons
<KRAC> ole
< dhan > gran juego!
* balarcher piensa que no sepuede fumar !
* Canelorn le da una colleja a Olorin ...donde quiera que estés
<@Jenesis> bienn
*** _blanxs_ [ webch9289@04DcFxmJ.BuPsHB.virtual ] cierra [23:32] [User Quit: 0,0 0,14 ,8 WebChat 0,14 0,0  http://www.wanadoo.es]
*** _blanxs_ ( webch9380@DcFxmJ.BuPsHB.virtual ) entra [23:32]
* Jenesis piensa que es raro que Blanxs no haya sacado la fregona....
<_blanxs_> bueno... requetere
<Canelorn> en segunda posicion......
<saimazoom> ¿ quien es Olorin ?
* _blanxs_ estaba muy ocupada con el látigo... XDDD
<Canelorn> (ésta rima y todo)
<Canelorn> Mediana Evasión!!!!!!!!!!!
<@Jenesis> bieeennnn
<_blanxs_> oeeeoooee
<buh> bieeeennn
<@kifcu> vaya que suspense....
* balarcher apuntaría a Olorin con su arco si supiera quien es
<Canelorn> y la gandora es......
<balarcher> bien !!
<Canelorn> El
<Canelorn> Último
<balarcher> Meeva me mola mucho
<Canelorn> Hogar!!!!!!!!!!!!!
<saimazoom> bug
<KRAC> oleeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
* Jenesis lo sabía pero no se acuerda...
<Usagi111> OTRA VEZ?
<yokohama2> jeje
<xalons> biennnnnnnnnnnnn
* _blanxs_ salta de alegría
<@kifcu> jejejejje
* balarcher espera ... ¡va a subir Saimazoon otra vez?
<buh> pos vaya!
* saimazoom sube de nuevo al estrado y tira toda una fila de focos !
* KRAC da saltos
<@Jenesis> bbiieieiieeeeeeen!!!!
<balarcher> Bien !
<@kifcu> ha sido toda una sorpresa
<saimazoom> ''=)
* _blanxs_ ve a nanolo salir despedido del bolsillo
<KRAC> felicidades saimazoom
<Canelorn> ahora no te libras del discurso
* _blanxs_ saca el confetti
<[DEF]> Usago... si es que hay 4 aventuras y 500 premios... se trendrán que repetir digo yo
* Jenesis le pasa un chicle a Presi
* nanolo se agarra a la solapa de la blusa de _blanxs_
<Usagi111> po zip
<yokohama2> xDDDD
* _blanxs_ piensa 'anda que no es listo nanolo, ni ná...' XDDDD
* nanolo aterriza... en la blusa de _blanxs_
* balarcher piensa eu el nanolo ese es un fresco
<KRAC> saimazoooooooooooooooom queremos UN HIJO TUYO
< dhan > saimazoom, gran juego, cuentanos algo de él
<saimazoom> bueno, este premio va para todos los del canal de #inform que ayudaron a programa la aventura, y tambien dedicado a Zak por haber puesto los cimientos necesarios para la creacion de nuevas aventuras =)
* Canelorn entrega a Saimazoom el Anillo de Diamante. Premio a la mejor aventura
* balarcher KRAC es un tío, no
<saimazoom> gracias a todos !!!!!!!


Por último, los premios a mejor puzzle y mejor PSI depararon un empate que dejó la decisión final en manos de la lista. El resultado final fue un nuevo empate en mejor PSI y la victoria del puzzle de subir a la torre en el Último Hogar. Usagi presentó el de mejor puzzle:


<Usagi111> es la lista de nominados estan unos puzzles que han dado mucho que hablar
<Usagi111> en la lista de coreeo
* balarcher ... un conejo presentando un premio ??
<Usagi111> y...
* Canelorn le pone esparadrapo a Kif en la boca, no hace más que quejarse!!!!!1
* _blanxs_ dormita ZzzZZzzZZZzzzzzZZz
<Usagi111> es mi deber anuncia rque ha habido TRIPLE empate!
<[DEF]> Recien sacado de la Chirtera
<_blanxs_> uhalaaa!!!!!
* dhan le da un codazo a balarcher, "apunta, apunta, que ya tenemos cena"
<Usagi111> los ganadores son
<@Jenesis> ooOOOOooooohh
<Usagi111> Salvar a los enanos en los barriles en la mediana evasion
* balarcher ¿tu crees?
<KRAC> ole
* _blanxs_ se da cuenta de que se le ha corrido el rímel...
<Canelorn> bien!!!
<Usagi111> Recorrer el laberinto de Sombras de Moria
<KRAC> ole
<Usagi111> y
<Canelorn> bien!!!!1
<balarcher> mola !!! ese lo voté yo !!!
<buh> bien
<Usagi111> Subir y bajar a la torre


Una de las pocas incógnitas que quedaban de la competición, era saber quién se escondía tras el nick de Olorin. Éramos pocos los que sabíamos de quién se trataba...


* Canelorn empuja a Olorin al estrado
* Jenesis busca lembas en la encarta
<_blanxs_> aaah...
* balarcher trae a Jen de vuelta
<[DEF]> Joe... po mejó un jamón
<@Jenesis> gasias
<KRAC> ¿no hay desempate?
<Canelorn> no blata que el ultimo puzzle era de El ultimo HOgar
<Canelorn> una aclaración
<_blanxs_> o unos cachitos de kraken...
* balarcher explicaue las lembas es una comida de esas de viaje
<@Jenesis> aaahhhhh
<Canelorn> luego os comento
* dhan se da cuenta que Olorin está presente, es una presencia que siempre estuvo ahi
<@Jenesis> :)
*** KRAC es ahora _Olorin_
<MelHython> eso eso, que haya desempate
<_Olorin_> hola
<Canelorn> BIEN!!!!!!!!!!!
<saimazoom> al fin
<_blanxs_> hmmm...
* balarcher un tentáculo de kraken a la gallega ...
<saimazoom> enhorabuena !!
* Usagi111 cede la palbra a los trws premiados
<MelHython> que gane el que se coma dos docenas de sus lembas de una sentada
<_blanxs_> XDDDD
<@Jenesis> yo quieroooooo, pulpoooooo
<xalons> vaya, KRAC que sorpresa!!!!!!
*** PSIPSI ( x-cript@BVbdrr.AGpF8D.virtual ) entra [23:40]
* _blanxs_ piensa 'pos lembas suena a flemas...'
<_Olorin_> alguien acertó?
* saimazoom intenta esquivar el escalon y tropieza con otro volviendo a caer
< dhan > hala, luego para cenar repartimos un poquito de pulpo, que ha sobrado mucho XD
< dhan > pero el balrog que no coja nada
<@Jenesis> que no ma aclaro....
<@Jenesis> es Krac???
<[DEF]> jodoo Blanxs, kasko!
* [balrog] no come
<_blanxs_> uish... yporqué no dhan?
<_Olorin_> sí, jen
<@Jenesis> el olorin?
<_Olorin_> era yop
<@Jenesis> ooOOOOoooohhhh!!!!
<Canelorn> olorin =KRAC
<buh> que sorpresa
* [balrog] recuerda que no hay nada que comer en las profundidades de Moria
<balarcher> Es KRac ...
* yokohama2 se duerme y se va
<yokohama2> ciao!!!!!
<Canelorn> alguien lo adivino??
* balarcher pero Olorin, ¿qué aventura hizo?
<[DEF]> Mentira! Quiere apropiarse de un premio ajeno! Olorin soy yo! ^O^
<_blanxs_> nasnoches yoko :)
* Jenesis alucina por un tubo....
<Usagi111> xddd
*** yokohama2 [ republic@04CDEKFR.BBsWmf.virtual ] cierra [23:40] [User Quit: Cliente IRC -=|Solar IRC|=- OpenSource 1.4.2 www.solar-opensource.org]
<saimazoom> bye yoko
<_blanxs_> a ver... canelón... quién es olorin?
<Canelorn> Olorin, SOmbras de Moria
* balarcher de repente se da cuenta de que a lo mejor Olorin es él
<_Olorin_> jaja
* balarcher nah ...
<Canelorn> Bueno
* _blanxs_ mira a nanolo... ¿eres tú?
<Canelorn> y ya para finalizar
* Jenesis está segura de que Olorín no es ella
* nanolo mira a _blanxs_ y sus miradas se cruzan por un nanosegundo...
<Canelorn> EL mejor PSI
* _blanxs_ no está tan segura de que no sea Jen...
<_Olorin_> olorin soy yooooo
* _blanxs_ ha dejado de mirar a nanolo porque no lo vé...
<_Olorin_> por qué nadie me cree?
< dhan > buen estreno de Olorin en Inform
<balarcher> Excelente, "Sombras de Moria", qué tío !!!!
<[DEF]> DNI! queremos el DNI!
<@Jenesis> juas!!!!
<PSIPSI> EL mejor PSI lo presento yo
<_blanxs_> enseña la patita... Olorin... XDDDDD
* _Olorin_ se calla
<PSIPSI> como veis también hay empate
<@Jenesis> la pepsicolaaaaa
<_blanxs_> pstpst... XDDDD
<@Jenesis> ah no...
<PSIPSI> los dos empatados son:
* balarcher pero KRac, mira que usar un psuedónimo ...
<PSIPSI> Merry en Último Hogar
* _blanxs_ se vuelve a poner las gafas de sol
<PSIPSI> Frodo, de Cirith Ungol


Todos los comentarios de los juegos por parte de los votantes, así como el log completo y la tabla final de resultados pueden encontrarse en la web oficial del concurso. ¡Hasta la próxima!

http://es.geocities.com/tcompe2002/esdacomp2002.htm

subir al índice

Así se hizo Varanasi (I)
por Chryshantemum

1. Introducción

Con este artículo iniciamos una serie en SPAC en la que pretendemos mostrar en detalle (o al menos intentarlo) el desarrollo de "Varanasi", la nueva aventura que Chryshantemum tiene previsto presentar en otoño de este año. El desarrollo de "Varanasi" se está realizando con InformATE!, por lo que nos centraremos en los problemas que nos han surgido -y las soluciones adoptadas- a la hora de adaptar nuestro guión inicial a las limitaciones de la Máquina-Z. Hemos escogido este parser por su versatilidad y por nuestra experiencia previa con él.

Por lo tanto, puede considerarse esta serie de artículos como un diario de desarrollo, que creo podrá resultar de interés tanto a los creadores de aventuras que emplean InformATE! como a los curiosos que quieran saber cómo desarrollamos nuestras aventuras. Desde luego, no vamos a desvelar secretos ocultos, ya que nuestra experiencia con la Máquina-Z es limitada, pero es posible que otros se hayan encontrado con los mismos problemas que nosotros y las soluciones que hemos adoptado puedan resultarles de utilidad.

Durante los artículos se mencionarán detalles de "Varanasi" que, en algunos momentos, podrían revelar aspectos de la trama. En cualquier caso, intentaremos que eso no ocurra, y nos centraremos preferentemente en el desarrollo más que en el guión.

2. La idea

La idea de realizar "Varanasi" surgió tras leer un cómic (excelente, todo sea dicho) de Díaz Canales y Guarnido llamado "Blacksad". Tras leerlo, creímos que sería posible crear una trama de novela negra como guión para una nueva aventura, y narrarlo al estilo de los grandes autores como Ellroy o Chandler, presentando el personaje de un detective introvertido y decadente que se ve envuelto en una trama que le queda demasiado grande. Dado que Santiago Eximeno, uno de los creadores de Chryshantemum, había publicado recientemente un relato llamado "Varanasi", ambientado en un futuro próximo con ciertos paralelismos con "Blade Runner" y el cyberpunk y protagonizado por un detective algo peculiar, decidimos que aquél era un marco excelente para situar nuestra aventura, fusionando el decorado de "Varanasi" con una trama policíaca inspirada (oh, bueno, reconozcámoslo: algo más que inspirada) en "Blacksad".

En breve tuvimos preparado un guión completo, con todas las localizaciones, objetos y personajes que consideramos necesarios. Afrontar el desarrollo iba mucho más allá de nuestras experiencias previas, ya que queríamos dotar al juego de una ambientación muy cuidada y de una gran interactividad, sobre todo con los personajes, punto más que débil en nuestras anteriores producciones. En paralelo decidimos llevar este diario de desarrollo, que nos sirve al mismo tiempo de motivación para continuar con la programación de la aventura.

Desde luego, el guión original deberá sufrir diversas modificaciones durante el desarrollo, debido a motivos muy diferentes: limitaciones de la Máquina-Z, nuestras propias limitaciones como programadores, nuevas ideas que nos surjan, correcciones de errores en la trama...

3. El desarrollo (I): mensajes en primera persona

Lo primero que afrontamos a la hora de desarrollar "Varanasi" fue la modificación de los mensajes por defecto que nos proporcionaban las librerías de InformATE!. Con las nuevas versiones de desarrollo se entrega un fichero, Mensajes.h, que permite realizar dicha modificación con gran facilidad. Para "Varanasi " resultaba necesario modificar todos los mensajes, ya que nuestra intención era realizarlos en primera persona -como una voz en off que nos muestra los pensamientos del personaje protagonista- y en tiempo pasado -proporcionando esa sensación de novela negra que buscábamos-. Partiendo del fichero Msg1P.h creado por El Presi, modificamos todos los mensajes -incluídos los que proporciona el parser, ya que queremos eliminar cualquier mensaje que nos recuerde que se trata de un juego- para mostrarlos en pasado, y mantener un estilo de respuestas coherentes con la narración del protagonista. Mientras realizábamos las modificaciones advertimos que también era necesario modificar las referencias a los verbos ser/estar y tomar/coger que aparecen en el fichero Espanol.h, ya que están preparados para aparecer siempre en presente.

También barajamos la alternativa de introducir los comandos en pasado e incluso en primera persona y, aunque todavía no lo hemos descartado, creemos que pueda inducir a cierta confusión, por lo que si definitivamente optamos por realizar ese desarrollo mantendríamos también la compatibilidad con las otras formas habituales de introducir los comandos (infinitivo e imperativo).

4. El desarrollo (II): movimiento

Cuando creamos el esbozo inicial de nuestro barrio hindú, nos encontramos con que el sistema de movimiento proporcionado por Inform no era el más adecuado para nuestra idea. Las localizaciones se distribuyen sobre un mapa y son visibles para el jugador una vez que realiza alguna acción previa (como encontrar un objeto o consultar a un personaje) de forma similar a cierta aventura gráfica de Sherlock Holmes, por lo que no resultaba posible manejar el movimiento con comandos habituales como Norte o Este. Nosotros queríamos que el usuario pudiera moverse simplemente ordenando ir a Shiva Klub, por indicar un ejemplo.

Para realizarlo, pensamos inicialmente en utilizar la librería de movimiento que ya presentara Urbatain al concurso NanoComp III, pero como se trataba de una versión beta no terminada tuvimos que desechar la idea. Entonces decidimos atacar el problema de la forma más sencilla: modificar la brújula y sustituir las direcciones habituales por las de nuestras localizaciones. Sin embargo, no era tan sencillo como pensábamos, ya que la brújula restringe el número de direcciones posibles a ocho, y los nombres de nuestras localizaciones debían ser muy determinados para no inducir a error. Ello nos llevó a redefinir varias de las direcciones básicas, como al_n o al_s, para poder controlar todos los posibles caminos. Y, desde luego, redefinir los verbos ir, mirar y examinar para controlar las acciones que puede realizar el personaje sobre las localizaciones a las que todavía no tiene acceso.

(continuará)

subir al índice

El Arte de la Aventura (VII)

Capítulo 50 - El diseño de los puzzles (I)

La odisea de "Zork: Mimesis" comienza en el campo, detrás de una casa blanca. Entras por una ventana abierta, coges agua y comida de la mesa, vas a la salita y mueves la alfombra para revelar - ¡nada! ... Al poco tiempo el propietario de la casa - un albañil alcohólico en paro - te está apuntando con una escopeta y su infiel y neurótica esposa llama a la policía. Esta acción literaria y sin puzzles continúa mientras caes a través del sistema criminal de justicia.

Roger Giner-Sorolla, admitiendo que la mimesis no lo es todo

Sin puzzles, problemas o mecanismos que permitan al jugador avanzar por el texto poco a poco - llámalo como prefieras - no existe interacción. Inevitablemente, los puzzles son obstáculos. En esta escena, Arthur Dent no podrá ver alienígenas y normalmente pasará un buen rato hasta que consiga un pez de babel:

>examina máquina
La máquina expendedora es alta, tiene un botón aproximadamente a la altura de los ojos y un letrero con grandes letras en el que pone "Peces de Babel". Lo que salga de la máquina lo hará probablemente por la rendija que hay a la altura de las rodillas. Tiene una pequeña etiqueta en la que pone "Otro magnífico producto de la Corporación Sirius Cybernetics."
>pulsa el botón de la máquina
Un pez de babel sale disparado por la rendija. Recorre la habitación y sale por un pequeño agujero en la pared, justo debajo de un gancho de metal.
>quítate la bata
Muy bien, ya no tienes puesta la bata.
>cuelga la bata en el gancho
La bata está ahora colgando del gancho, cubriendo el pequeño agujero.
>pulsa el botón de la máquina
Un pez de babel sale disparado por la rendija. Recorre la habitación y tropieza con la bata. El pez se desliza por una manga de la bata y cae al suelo, desapareciendo por la rejilla de un desagüe que no habías visto hasta ahora.
>pon la toalla en el desagüe
La toalla cubre completamente el desagüe.

No busques mucho por Internet, este juego es inglés y no existe una versión española, como prácticamente todos los que aparecerán en este capítulo.

(Para ver la solución de esta escena, juega a "The Hitchhiker's Guide To The Galaxy").

Un buen juego mezcla puzzles fáciles y difíciles, pero ninguno debería ser tan simple como para resolverse con un comando evidente. Por otro lado, una vez descubierta la solución, llevarla a cabo tampoco debería llevar un tiempo ridículamente largo, ni requerir repeticiones sin fin: como alcanzar algo inútilmente lejano, o resolver el problema de las Torres de Hanoi con 8 discos, o hacer juegos malabares con los objetos porque sólo se puedan llevar tres a la vez. Aquí hay dos obstáculos básicos:

El síndrome de "Coge-X-Usa-X"

Tradicionalmente, cualquier palabra o frase de una pista de un crucigrama se usa exactamente una vez para formar una parte de la respuesta. Lo equivalente en aventuras es la ecuación 'un objeto = un puzzle resuelto', donde el jugador coge una bomba de aire de bicicletas y busca una bicicleta, coge un alfiler y busca un globo, y así con todo. Una vez se ha usado el objeto, se puede dejar, ya que seguramente no se necesitará otra vez. Pero esta tradición hace perder rápidamente el realismo, y la mayor parte de los diseñadores intentan romper la ecuación de cualquier forma posible: con los llamados en inglés 'red herrings', cuya traducción significa literalmente 'arenques rojos', (un objeto = ninguna solución), 'puzzles basados en colección de objetos' (varios objetos = una solución), múltiples soluciones (cualquier objeto entre unos cuantos = una solución) y múltiples usos (un objeto = muchas soluciones).

El síndrome de "Adivina-el-Verbo"

En "Ballyhoo", 'whip lion' y 'hit lion with whip' (ambas traducibles como 'golpea al león con el látigo') no son equivalentes, sólo una de ellas consigue el objetivo. En "Sorcerer", la existencia en inglés de dos palabras para abrir puertas o cerraduras (open y unlock) complica la apertura de un grimorio.

(Por dar un tercer ejemplo, las palabras necesarias para usar el ladrillo en "Zork II" son bastante tramposas). En muchos juegos los verbos 'examinar', 'buscar' y 'mirar dentro de' realizan acciones diferentes, y es fácil diseñar accidentalmente un tesoro oculto de forma que sólo una de ellas lo encuentre. (Aunque, en el otro extremo, una tolerancia excesiva a los verbos lleva a que todo sea 'movido', no 'empujado', 'tirado de' o 'girado'). De la misma forma con el síndrome de 'Adivina el sustantivo', un objeto se empeña en no responder a sinónimos razonables, como 'espada' por 'estoque' o 'balón' para una pelota de fútbol. Pero quizá habría que incluir aquí una observación sobre un tema un poco lamentable. A la mujer japonesa que hay cerca del principio en "Trinity" se le puede llamar 'amarilla' y 'japo', términos con un matiz despectivo. El juego no muestra más que respeto por ella, ¿debería permitir al jugador tratarla de otra forma?

La variedad es valiosa, pero la lógica y el juego limpio son de una importancia capital. «¿El escritor está sacando un conejo del sombrero, o antes puedes verle sus peludas orejas?» (Dave Lebling). Gareth Rees sugiere que una forma de asegurarse de que los puzzles sean consistentes es escribir antes un ejemplo de transcripción del juego:

No programo nada hasta que no tengo el puzzle bastante bien formado en mi mente. A menudo es tentador empezar a codificar algo de una forma para descubrir después que los siguientes desarrollos necesitan un enfoque diferente. Eso me hace pensar como un jugador (intento... incluir una selección de las cosas estúpidas que probaría a escribir si estuviera jugando el juego...). Muchas veces cuando se está programando se acostumbra a no tratar situaciones y respuestas que son delicadas de escribir. El que aparezcan en la transcripción me fuerza a decirme a mí mismo, «Puede que sea duro de programar, pero quedará natural en el juego y eso es importante». También me cuesta acostumbrarme a dar respuestas interesantes a acciones fallidas, y la transcripción también me ayuda con eso.

Otro enfoque es encadenar pensamientos hacia atrás partiendo de un objetivo, preguntando repetidamente «¿cómo puedo dificultar esto más aún?», de forma que el guión se vuelve, como el dibujo en ordenador de una curva fractal, más intrincado con cada iteración. Peter Killworth, en su libro "How to Write Adventure Games for the BBC Microcomputer Model B and Acorn Electron" (cuyas primeras palabras son «Las aventuras son como peras de aguacate») describe un juego entero de esta forma ("Roman", 1984). Necesitas pagar una deuda a un Senador, para lo que debes robar un busto de un templo, pero eso implica hacerse pasar por un sacerdote, sacrificando un pollo con un puñal, lo que significa que hay que coger un pollo (le asustas con un gato, pero hay que atraer al gato con un ratón, para lo que necesitas coger una trampa para ratones): y el puñal tampoco está simplemente por ahí tirado. También necesitas una antorcha, que...

... hay que empapar en aceite primero, de la misma forma que las velas necesitan cera para arder. Así que haríamos bien en organizar un charco de aceite por el que el jugador pueda caminar... Cuando el jugador llega a un lugar donde pueda proveerse de fuego - ¿qué tal un brasero de carbón, que no se pueda coger? - puede intentar encender su antorcha. Si no tiene aceite para que prenda, no retendrá ni una llama...

... si lo tiene, prenderá... No, no es tan sencillo. ¡Si el jugador está también mojado de aceite, seguramente también prenda!... Crearemos una zona húmeda y brumosa, donde un esclavo fugitivo asesine al jugador salvo que entre mientras esté ardiendo. Entonces estará a salvo, porque la niebla se condensará en su cuerpo... así que el pobre jugador, tambaleándose y ardiendo, intentará ir hacia la niebla, pero, para su disgusto, ¡la antorcha también se apagará permanentemente!. La solución es trivial - debe dejar la antorcha antes de entrar en la niebla.

(Los juegos de Killworth no son famosos por sus escrúpulos, el juego no avisa que la antorcha no se puede encender sin aceite o sobre lo que debes hacer al explorar la zona brumosa). Este tipo de trama, con puzzles que encajan entre sí como cuentas de un collar, ofrece la considerable ventaja de ser muy coherentes. Pero también es susceptible de hacer secuencias de puzzles largas y lineales, que se deben completar en un orden exacto. «Me ha parecido increíblemente difícil conseguir que los puzzles no sean los que controlan la historia.» (David M. Baggett, 1994).

Laberintos

En la obra 'Traité des systèmes" de 1749, Condillac decía: «¿Qué podría ser más ridículo que el que los hombres despertaran de un profundo sueño y se encontraran a sí mismos en el centro de un laberinto, donde para salir debieran desechar la forma de pensar habitual?». Sin duda cargante, al ser repetitivo y tener algún elemento irritante: debería haber mucha más diversión en su forma de funcionar que en sus principios generales.

Se puede decir más claro: son los creadores a quienes les gustan los laberintos («conectar los laberintos es uno de mis placeres» - Peter Killworth); por el contrario, los jugadores los detestan. En el puzzle clásico, hacer un mapa resulta imposible al haber varias habitaciones conectadas con idéntica descripción: la primera solución es distinguir las localidades dejando objetos para señalarlas. Esta solución se puede inutilizar fácilmente (el pirata de "Advent" y el ladrón de "Zork" que vagan recogiendo objetos una y otra vez), pero esto lo único que consigue es hacer la experiencia más agotadora. Cuando preguntaron a David Baggett «¿Cómo hago que mi laberinto no tenga la típica solución?», su única respuesta fue: «omítelo».

Sin embargo, al igual que escribir sobre misterios de habitaciones cerradas, idear nuevas soluciones para laberintos - normalmente implicando guías, señales ocultas o caminos a descubrir- es una forma de arte más modesta por sus propios méritos: el punto esencial debe ser la novedad, aunque es igualmente importante señalar al jugador que existe una solución nueva y original. El inigualable "Manual de Jugadores de Aventuras" (1992), realizado por el vicario Cormish y el excéntrico escritor Bob Redrup, dedica los capítulos 7 y 8 a resolver distintas variantes de laberintos: a lo largo de ellos se mantiene un tono desganado. Redrup era un gran aficionado a los juegos de Topologika, y por tanto de los viejos juegos de la Universidad de Cambridge, llenos de laberintos con acertijos. En uno de ellos, "Crobe" (1986), realizado por el infatigable creador de laberintos Jonathan Partington, no se espera que el jugador explore al azar:

Estás en un pantano subterráneo, un lugar traicionero donde todo parece igual, y el agua y el lodo salpican tus pies. Un movimiento en falso podría significar la muerte, pero al menos tienes ocho direcciones para vagar por ellas.

Debido a que son mortales a no ser que se solucionen por completo, este tipo de laberintos son más benignos. De la misma manera ocurre en "Kingdom of Hamil" (1982):

Estás en el Laberinto de Hamill. Haces de luz salen entre los huecos de las rocas. Desde aquí oyes un sonido constante de desprendimiento de rocas, lejanas y no tan lejanas. Aquí hay un pequeño hexágono de níquel, con la inscripción "1 PFENTIME". Pase lo que pase aquí, no parece un objeto que haya caído como cualquier otro.

Partington también tiene una gran predilección (desde luego más que pasada de moda) por elementos de aleatoriedad a los que un jugador con una planificación cuidadosa pueda vencer. El laberinto de "Fyleet" (1985) coloca un gran número de obstáculos de forma aleatoria siguiendo un determinado patrón, y en "The Quest for the Sangraal" (1987) aparece lo siguiente: 'Hay salidas en varias direcciones pero ya que la isla está rotando, estas direcciones cambian contínuamente'. Las conexiones en Infocom solían tener su parte de laberintos, que solía ser de uno por juego: los de "Starcross" y la trilogía de "Enchanter", "Sorcerer" y "Spellbreaker" fueron los más satisfactorios.

Puzzles basados en objetos luminosos

Casi igual de detestados, pero que ofrecen un poco más de posibilidades al diseñador, son los puzzles de 'traer luz a las tinieblas': Las dos premisas habituales suelen ser rellenar una lámpara con aceite limitado y llevar luz a una habitación oscura que aparentemente sólo puede alcanzar un jugador que no tenga un objeto que emane luz. ("Advent" incluye ambas. Las áreas del lago y el acueducto en "Zork III" tienen un elegante puzzle de luz, probablemente lo mejor de un juego por otro lado bastante irregular). La oscuridad no debe ser necesariamente un problema a solucionar: podría ser una circunstancia de la vida. Aunque pocos juegos lo hayan intentado (con la excepción del pasaje secreto en "Christminster"), un área grande y permanentemente a oscuras se podría explorar con otros sentidos.

Puzzles basados en la capacidad y el agotamiento

Una vez más, bastante impopulares, debido a que su solución normalmente se basa en realizar algo pesado y repetitivo, forzando al jugador a reponer cosas e ir buscándolas de nuevo. Puede parecer ridículo que el protagonista pueda llevar cientos de cosas voluminosas y complicadas sobre él todo el tiempo, así que muchos diseñadores imponen un límite para mejorar el realismo, que típicamente ha sido de siete objetos. Un mal método para hacer puzzles es restringir el número a cuatro o cinco (después de todo, ante una emergencia cualquiera puede llevar más de un objeto al mismo tiempo). En algunos juegos, el límite está basado en el peso total. Llevando aún más lejos el realismo, algunos juegos miden el estado de salud o incluso niveles numéricos de 'fuerza' o 'constitución' durante el juego. El protagonista se vuelve más hambriento y necesita comida, somnoliento y necesita dormir (en "Enchanter" es completamente narcoléptico), o está herido y necesita curarse. "Planetfall" simulaba una enfermedad progresiva cuyos síntomas son una necesidad cada vez mayor de alimento y sueño, y disuadió a muchos jugadores de este tipo de puzzle para siempre. Las reglas de agotamiento son difíciles de simplificar. Una regla que requiera ir a un huerto para buscar fruta se debería vigilar con cuidado, ya que tener que hacerlo dos, tres o diez veces será algo que irritará al jugador.

(continuará)

Original de Graham Nelson, traducido por dhan y Akbarr

subir al índice

 

comentarios

CLAVES PARA LA FICHA Y PUNTUAR EN LOS COMENTARIOS

NOMBRE: Jabato
AUTOR: Aventuras AD
EMAIL: Desconocido
FECHA: 1989
PARSER: DAAD
SOPORTE: PC - SPECTRUM - AMIGA
DISPONIBILIDAD: Abandonware
URL: No disponible
TIPO: Basado en el comic.

Cuando mandes comentarios para las reviews, puedes poner SI QUIERES una puntuación valorando la aventura considerando una escala del 1 al 10, según tus apreciaciones.

Si has jugado a algo recientemente, por favor... ¡escríbenos un comentario!

Producción de Hollywood

NOMBRE: Hollywood Monsters
AUTOR: Péndulo Studios
EMAIL: Desconocido
FECHA: 1998
PARSER: Desconocido
SOPORTE: PC
DISPONIBILIDAD: Fx Interactive
URL: http://www.penduloestudios.com/hm
TIPO: Aventura gráfica de detectives, humorística.

 

 

Iré al grano. Este juego es digno de una producción de Hollywood porque tiene unos gráficos increíbles, un sonido, doblaje y banda sonora más que aceptable, tiene un argumento bastante bueno e interesante y una programación brillante en todos los aspectos, pero el guión es horroroso, esto es: digno de Hollywood.

El argumento va sobre cubrir una noticia de una fiesta de los monstruos de Hollywood. Allí, una de las protagonistas desaparece junto con Frankenstein, y su compañero Roy Ashman decide ir al rescate e iniciar la investigación sobre el paradero de los desaparecidos.

Este juego contiene todos los elementos a no seguir para hacer un buen juego de aventuras. Los puzzles están para rellenar, pegados unos con otros sin lógica y sin encajar bien en la historia. Además la interfaz, aunque no está mal, no es del todo buena, y uno nunca termina de acostumbrarse a ella. Esta tiene una extraña carencia de accesos rápidos por letras a las acciones, que en algunos casos son muy necesarios; y el acceso a las acciones suele ser esquizofrénico, llevándonos a errores de elección de acción que nos sacarán de quicio.

Parece que los autores se han esforzado por hacerla difícil. Pero difícil nunca debe ser sinónimo de ilógico o absurdo, o mucho peor, de usar la interfaz gráfica para tener que buscar 'el píxel exacto'. Si en nuestro conversacional mundo, un fantasma a evitar es el 'síndrome de la palabra exacta', en el mundo de las gráficas se podría decir que hay un 'síndrome del píxel exacto'. Hay varios objetos que son casi imposible localizarlos con el ratón, a menos que sepas que están ahí. Por ejemplo: en cierta mazmorra hay un sarcófago con pinchos, éste en un píxel tiene un agujero que, por los colores de la localidad, no se ve aunque subas el brillo al máximo. Entonces, en un caso como éste, una buena aventura, al examinar el sarcófago daría una pista, por ejemplo: «En el lateral ves un agujero rectángular». Pero en "Hollywood Monsters" no, como la jugabilidad es nula, pues evidentemente este tipo de cosas no están hechas.

Además, en cuanto a la interactividad... ésta se vuelve nula a la hora de dar información de 'acciones de resultado negativo', o sea cuando NO PUEDES HACER ESO, el juego te dice que eso es absurdo o que sencillamente no puedes; nunca da retroalimentación negativa, así que todo el juego se limita a usar el objeto exacto en el momento exacto en el píxel exacto, lo cual es muy frustrante.

Pero lo peor de todo es la falta de ritmo que tiene el juego como narración. La aventura no termina de enganchar, a pesar de lo bueno del argumento, ya que no tiene un ritmo bien definido, los puzzles no están distribuidos en condiciones (en nivel de dificultad ascendente conforme avanza la aventura), y el desarrollo de la historia se hace de forma desordenada. Además, esto empeora porque el planteamiento del juego es abierto (se pueden visitar casi todos los sitios desde el principio) y hace que tengamos infindad de objetos e infinidad de situaciones y puzzles que resolver a la vez, lo que hará que estemos perdidos. En este caso hubiese sido infinitamente mejor hacer un desarrollo lineal, guiando al jugador hacia adelante y dejándole atascado pero con poco terreno para moverse, lo que facilita mucho el concentrarse en algunos problemas y en resolverlos.

Otro problemón con los puzzles es que el objetivo o el planteamiento de estos no son claros al jugador. En más de una ocasión creeremos que un problema o un puzzle se refiere a una cosa, y luego resulta que tira para la otra dirección ?:-? Por ejemplo, con el uso de la margarita laxante.

Y no es que todos los puzzles sean malos en su planteamiento, no... lo que pasa es que están mal desarrollados. Por ejemplo, uno en el castillo de Drácula sobre un órgano... el planteamiento es genial... lo voy a desvelar: el órgano, cuando despunta el día, se encarga de tocar una melodía para avisar al conde a ir a dormir. El jugador tiene en su poder un camafeo que contiene rayos de luz solar. La solución es apuntar con el camafeo al órgano, el cual cree que es de día y hace que el conde se quite de enmedio de donde nos conviene. Pero el problema es que no hay pista ninguna para ello, en ningún lado se sugiere que sea un 'órgano sensible a la luz', entonces tenemos un puzzle que es una idea genial, pero está tan poco desarrollada, tan mal implementada que se convierte en algo imposible de solucionar para el jugador, y por tanto un puzzle pésimo. Esta es la característica más común de "Hollywood Monsters", y una ley que todo buen diseñador de aventuras debe de tener en cuenta: No un buen argumento o una buena idea resultan en un buen juego o un buen puzzle. Hay que desarrollarlos lo suficientemente para que sean muy jugables, y que el jugador disfrute con ello. No olvidemos que estamos hablando de juegos, que son para disfrutar, no para que sean un reto imposible de resolver que sólo gusta a los masocas.

Volviendo a lo del desorden en el guión y en falta de su planificación: otro ejemplo a no seguir es que el mejor clímax final se produce en el 'capítulo penúltimo'. Y después nos hacen seguir con una última fase, que dura demasiado y que tiene demasiados puzzles de esos absurdos para llegar hasta el final verdadero; que ya nos será indiferente y no es tan espectacular y satisfactorio como el anterior. Un pedazo de error de diseño.

Además, los diálogos son demasiado extensos y demasiado triviales, cayendo en el tópico de tener que soltar una chorrada en cada diálogo elegido. Y encima hay mogollón cada vez, lo cual hace que sea bastante tedioso.

Creo que no he recalcado demasiado lo imposible de resolver los puzzles por méritos propios... en mi caso, empezé a jugar deseando no mirar la solución cada dos por tres, pero pasando la introducción interactiva a duras penas y a cada rato mirando la solución, ví que la cosa no mejora y que la tónica de los puzzles ilógicos está repartida a lo largo y ancho de todo el desarrollo. Así que yo al final acabé siguiendo la solución paso a paso, sin calentarme la cabeza mucho, pues sabía que la frustración me asaltaría a cada paso. ¡Y no me equivocaba!, pues sólo hay que mirar las pistas para comprobar lo absurdo de los puzzles.

Si en verdad, y pese a todo lo que he dicho, te da por jugar, quizás haya una salvación para ti. Sigue al pie de la letra estas recomendaciones:

- Apunta cada problema que encuentres y cada puzzle, en listas comentadas.
- Sigue las pistas de la edición de Fx Interactive. Hay 3 tipos de pistas, las leves, las pistorras y la solución completa. Al menos usa las leves y las pistorras sobre todo para tener un guión fijo a seguir de los lugares a visitar en cierto orden, así te podrás defender más. Cuando vayas a abandonar un sitio, mira la solución pistorra o la completa para ver si te has dejado algo atrás.
- Si no avanzas, no dudes en mirar la solución completa, te ahorrarás muchos quebraderos de cabeza y frustraciones.

Por supuesto, hablo de la edición de Fx Interactive que, como siempre, su trabajo de post-producción y maquetación es excepcional. Tratando de buscar algo positivo entre tanto desastre, diré que algunos Personajes Seudo Inteligentes (PSIs) están bastante bien, sobre todo los escoceses y los hermanos Harker o como se llamen. Otros están muy bien pero son odiosos, como el jorobado subnormal. Por eso creo que sí que merece la pena coger la solución, imprimirla y ver el juego como una película, aunque sea sólo por ver los increíbles gráficos. Además, el juego incluye unos elementos en 3D completamente integrados en el entorno que ya quisiese el Monkey ese tener. También tiene muchas cosas divertidas, por ejemplo, el encuentro con las girl scouts.

Ya veré en el futuro otros juegos de Péndulo Studios... espero sinceramente que se hayan remendado con el paso del tiempo, pero este juego es un fracaso por culpa del pésimo guión, cuando el resto de los elementos son pasables o excepcionales... una pena.

El Clérigo Urbatain.

subir al índice

9:05

NOMBRE: 9:05
AUTOR: Adam Cadre
EMAIL: web@adamcadre.ac
FECHA: 1999
PARSER: Inform
SOPORTE: Máquina-Z
DISPONIBILIDAD: Freeware
URL: http://www.adamcadre.ac
TIPO: Costumbrista

La aventura

Es una aventura en formato de Máquina-Z (z5), de tipo cotidiano. Te levantas una mañana en tu cama para descubrir, mediante una llamada, que llegas tarde al trabajo.

La aventura es más bien corta (por torpe que uno se encuentre, puede acabarla en 15 minutos).

Comentario

Algunas veces, el simple hecho de comentar una aventura hace que le recorra un sudor frío por la espalda, pensando “no digas nada, no digas nada” ... o como en aquél concurso “... y hasta aquí puedo leer”.

Sí, puedo decir que es una típica aventura de Adam Cadre, entendiendo que las típicas aventuras de Adam son todas atípicas, claro. Esta aventura no desmerece su fama en nada, sino todo lo contrario. Como curiosidad, Adam la escribió en un hotel de Melbourne, durante unas vacaciones que debió continuar en Nueva Zelanda, alrededor de Diciembre 1999 – Enero de 2000 (NOTA: En el hemisferio Austral, esas fechas son de sofocante verano).

Sobre la aventura, sólo te diré que te la juegues, que las cosas hay más de una manera de entenderlas... y nada más. Tendrás que fiarte de mí. Altamente recomendable para cualquier aventurero que quiera pasarse un ratito agradable (es cortita).

Conclusión

Es una digna aventura de Adam, en la que llegamos a un punto en el que uno abre la boca todo lo que puede y dice “¡¡¡halaaaaaaaaaaa!!!”. Un divertimento corto, interesante y altamente recomendable. Podría ser una gran competidora en una NanoComp.

Como curiosidad, que sepas que en el código de Adam falta un “static” en un objeto que no debería poder ser “cogible”.

Baltasar El Arquero

subir al índice

Fernando Fernández: Un rescate accidentado

NOMBRE: Fernando Fernández
AUTOR: Drakkar Estudios
EMAIL: xabial@hotmail.com
FECHA: Enero 2003
PARSER: Indy Java
SOPORTE: Máquina Virtual de Java (JVM)
DISPONIBILIDAD: Freeware
URL: http://usuarios.lycos.es/studiosdrakkar/
TIPO: Aventura gráfica, social

La aventura

El argumento de este juego es simple hasta decir basta: rescatar a la damisela en apuros, tomando el papel del príncipe azul en su caballo blanco. Esta vez el príncipe azul es Fernando Fernández, y la damisela en apuros una tal Jenny, mujer ricachona a la que le sale el dinero por las orejas.

La aventura está realizada en IndyJava. Es decir, no es una aventura conversacional, sino una aventura gráfica en toda regla.

Comentario

Creo que es la primera vez que juego y comento una aventura gráfica (a excepción de "El Lacasito de Gandalf"). Desde luego, no soy de los expertos en el tema. Pero sí puedo dar mi opinión sobre el juego, claro está.

Tengo que reconocer que las aventuras gráficas no son, para mí, ni comparables con las aventuras conversacionales. Sobre todo por lo pobre de la interfaz. En este juego, concretamente, sólo se puede utilizar “recoger”, “hablar”, “mirar”, “empujar”, “usar” y “abrir”. Así, cada vez que se nos ocurra hacer alguna acción, invariablemente tendremos que comunicársela al juego con “usar x” o “usar x con y”. Ésto no es un problema de este juego, claro, sino de las aventuras gráficas en general. Muchas veces, la forma de salir de un atasco es empezar a combinar objetos, “usar x con y” hasta que algo pase.

El juego en sí es entretenido y correcto, con bastante imaginación y un toque de humor que esconden muy bien la pobreza del guión. Tenemos que resolver varios pequeños puzzles antes de poder liberar a la bella dama, que son mucho más originales y mucho más entretenidos que el objetivo final.

Como nota negativa, sólo que yo necesité mirarme la solución para poder acabar la aventura, cuando quizás no me habría hecho falta. Me explico. Cuando tiras la bombilla, para distraer al secuestrador, automáticamente es imposible salir de esa situación. Siempre que lo intentas, recibes un mensaje que dice “¡Tienes que aprovechar ahora que está distraido para hacer algo!”. Efectivamente, esto plantea el problema de que si no tienes todo lo que necesitas, tendrás que recomenzar la aventura. Y así fue, puesto que yo no había visto el alambre en la rejilla (tienes que fijarte bastante, la localidad es oscura), y tuve que recomenzar el juego del todo. Claro que el juego no es demasiado largo.

Conclusión

Una aventura buena como introducción a las aventuras gráficas, lástima que sea tan corta pero, sobre todo, que tenga un guión tan, tan simple. Y es que, por mucho que lo líes, de un guión así no se puede sacar mucho. El final deja abierto una posible segunda parte donde se abren muchas posibilidades, siendo posiblemente mucho más interesante (al menos, de nuevo, hablando del guión), que esta misma. Con unos cuantos puzzles como los de esta parte aderezándolo, el éxito está asegurado.

Baltasar El Arquero

subir al índice

Enlightenment

NOMBRE: Enlightenment
AUTOR: Taro Ogawa
EMAIL: Taro.Ogawa@navy.gov.au
FECHA: 1998
PARSER: Inform
SOPORTE: Máquina-Z
DISPONIBILIDAD: Freeware
URL: http://www.ifarchive.org/if-archive/games/competition98/inform/enlighte/enlighte.z5
TIPO: Anti-recolección de tesoros

Tener una fuente de luz ha sido un tema recurrente en las conversacionales desde el principio de los tiempos. Raro es el parser que no incluye 'de serie' la posibilidad de que ni el jugador ni la localidad provean de luz y por tanto se muestre un mensaje estándar que te diga que te has quedado a oscuras. Este juego da una vuelta de tuerca al interruptor y plantea todo lo contrario, el objetivo es quedarse a oscuras.

¿Y por qué? Bueno, el objetivo al principio es un poco 'oscuro' en el juego. Zak recomendó hace tiempo el juego y ya comentaba que el objetivo era éste, pero si arrancas el juego sin saber nada es difícil llegar a esta conclusión, aunque si examinas el inventario verás cómo además de indicarte si los objetos están abiertos o cerrados te dice también cuál de ellos está iluminando la escena. El hecho de tener que quedarte a oscuras no es simplemente para esquivar un troll sin que te vea, sino para atraer al lugar a unos grúes, los seres de "Zork " que acuden a la oscuridad.

En el juego adoptamos el papel de un aventurero que regresa de una expedición subterránea cargado de tesoros. Estamos cerca de la salida de la gruta, pero un último enemigo nos cierra el paso, un malvado troll, y como no podía ser más tópico-paródico, nos bloquea un puente. El juego cuenta con algunas dosis de parodias al estilo "Zork" realmente conseguidas. De hecho es bastante curioso hechar un ojo a los ficheros que acompañan al Z5, ya que tenemos una especie de periódico al estilo New Zork Times y dentro del típico fichero de ayuda para jugar estos juegos vemos cómo el autor declara que posee el permiso de Activision para utilizar algunos de sus términos. Aunque luego es curioso que veamos en repetidas ocasiones la palabra g***, que llegué a deducir que quería decir grue, las criaturas de "Zork", que no sé por qué motivo luego no pueden nombrar con todas sus letras. ¿Podré escribir yo aquí 'grue' sin violar ningún derecho? Quizá sea esta la única pega que tiene el juego para un desconocedor del universo Zorkiano.

Por suerte, el juego incorpora un buen sistema de pistas, además de unas extrañas anotaciones a 'pie de página'. En algunos momentos, el texto descriptivo indicará entre corchetes [Footnote 1], si tecleamos eso veremos estas llamadas a pie de página. El caso es que nos encontramos junto al troll, debemos quedarnos a oscuras y como no podía ser de otra forma tenemos un montón de cosas que iluminan. En estos objetos los elementos paródicos están muy conseguidos. Por ejemplo, la espada se ilumina ante peligros, y claro está, ante el troll está a pleno rendimiento. Si intentas 'apagarla' el juego te informa de que este modelo no tiene interruptor para desactivarla. Más graciosa es la lámpara, que ante el intento de apagarla te informa de que nueve de cada diez aventureros compran lámparas que no se agotan, y que por desgracia tú has sido uno de esos.

En ocasiones puedes hacer acciones que te impidan acabar el juego, lo que se te avisa con un pitido de oídos, tras el cual teclearemos sabiamente el mágico verbo de UNDO.

Los recursos y la interactividad entre ellos están muy bien conseguidos. El juego es de una sola localidad, tras salir de la Gran Puerta y encontrar el troll. Contamos con un gran inventario y muchas interacciones entre los objetos que portamos, con un gran detalle de simulación entre contenedores, objetos que pueden apagarse y encenderse o que simplemente brillan. Participó en la IFComp de 1998 y consiguió un meritorio quinto puesto, que no está nada mal si observamos que ganó "Photopia" y que participaron otras grandes aventuras. En los premios anuales se llevó dos nominaciones, a mejor Personaje No Jugador, el Troll, y a mejores Puzzles.

En resumen, un juego cortito y bien aprovechado, muy divertido, en el que desearemos quedarnos rápidamente a oscuras para intentar luego salir a ver la luz cuanto antes.

dhan

subir al índice

Los inmortales

Ante las insistentes peticiones recibidas al respecto, y a pesar de que en general no me gusta el invento de las soluciones, y que para eso prefiero que se me pidan pistas, procedo a publicar la solución completa de la aventura "Los Inmortales".

Y no se me ocurrió mejor forma de hacerlo que viajar al futuro, del modo que sólo los programadores podemos hacerlo, para recuperar la crónica que tú mismo escribiste después de cumplir tu misión (porque, sí, lo conseguiste).

Que sepas que, si te lees esto, a mi juicio estás perdiendo tu honor como aventurero y empañando tu reputación, pues aprovecharse de lo visto en el futuro es poco elegante; pero bueno, mejor eso a que la gente deje de jugar a "Los Inmortales" por atascarse. Que para eso le he programado un final :)

Carlos Gómez, 20/01/03
(solrac888@yahoo.com para dudas/sugerencias)


IMPORTANTE: Esta solución sólo vale para la revisión 2.0 y superiores de la aventura, la 1.x se resolvía de forma ligeramente distinta (al hacer viajes temporales, acaba uno cambiando el pasado y el futuro sin querer).

Bueno, ahí va. Está todo, así que, si quieres mancillar tu honra sólo ligeramente y leer lo menos que puedas, una sugerencia es utilizar la herramienta 'buscar' que tienen muchos editores de texto para buscar la palabra que designa el objeto que te dé problemas, y mirar 'de reojo' las frases que la rodean. Claro que si no quieres estropearte la aventura también puedes mandarme un e-mail a la dirección antes descrita y pedirme una pista.

Solución Completa

[Extracto de la crónica que escribiste sobre el cumplimiento de tu misión de ingreso en Los Inmortales]

(...)

Sin duda cualquier mortal hubiese temblado en mi lugar; pero yo no tenía miedo, y no vacilé en abrir la gran puerta y entrar en la casa. Me encontré en un zaguán, cubierto de suciedad y telarañas, un preludio de los horrores que me esperaban en aquella mansión. No parecía haber nada de interés en aquel lugar, además de un armario que no conseguí abrir, y tenía prisa por encontrar la piedra y salir de aquel lugar maldito, así que me dirigí a la siguiente estancia, un gran vestíbulo de dos alturas. ¡Ah, aquel vestíbulo! Los grandes maestros anglosajones del terror se quedarían sin palabras para describir las abominables monstruosidades que se ocultaban en sus esquinas. Pero, me olvidaba, dije que omitiría los detalles escabrosos, así que no hablaré de cómo me enfrenté a aquel peligro, y diré simplemente que, habiendo visto cómo la piedra rompía una de las ventanas del ala izquierda del segundo piso, procedí a subir la gran escalera que allí había, y me dirigí hacia esa zona, al oeste.

Fue ahí donde me atacaron las ratas gigantes; pero no fue eso lo que me preocupó, ya que al sentir mi valor huyeron como se dice de las de su especie. No, lo preocupante era que el pasillo oeste estaba bloqueado por una barrera de escombros. Ni un superhombre hubiese podido apartarlos. Viendo esto, salí de la casa y avisé a Jorge de la eventualidad; pero él y el resto de los Inmortales hicieron caso omiso, probablemente no me creían. Decidí, pues, que recuperaría la piedra de un modo u otro, y, entrando de nuevo en la casa, la exploré exhaustivamente.

No me extenderé en detalles sobre los innumerables peligros que corrí, sobre las abominaciones que se escondían en las sombras, pues todos los esfuerzos de las malignas entidades por terminar con mi vida, o al menos con mi misión, fueron en vano. Diré, simplemente, que en una habitación del piso superior, que se hallaba al oeste, encontré un reproductor de casettes sin pilas, una daga puntiaguda y una cinta de casette. Después me dirigí al ala este, y había allí dos puertas que daban a habitaciones. Me fue imposible abrir una de ellas; pero tras la otra encontré una habitación húmeda y desagradable donde había un cuadro repugnante, que parecía pintado con sangre. Otra persona menos observadora sin duda habría pasado de largo; pero yo descubrí enseguida, al coger el cuadro, que tras él había una caja fuerte empotrada. Ya os imagináis mi emoción al ver una caja de seguridad en una casa vieja y encantada, ¿qué secretos guardaría...? Sin embargo, me fue imposible abrirla, pues se requería una combinación numérica. Por cierto, que en la misma habitación encontré, dentro del cajón de una cómoda, una cinta de casette, con título en un extraño idioma extranjero. Tal vez el mismo idioma que vi en un papelito que encontré más tarde, al levantar la alfombra del pasillo este. Aún me acuerdo de las palabras que había por uno de sus lados: "Zøhlmes nagah zrähn!"

Volví después al piso de abajo, y allí había una puerta cerrada dando al oeste, y al este una oscura cocina, donde encontré una pequeña linterna. Por desgracia, estaba rota; pero me fijé en que la pila era del mismo tipo que requería el reproductor de casette, así que la guardé.

Parecía que no me quedaba ya ningún sitio accesible por mirar y, aunque me había hecho con un pequeño botín, no me acercaba a la piedra, y tampoco había conseguido nada de gran valor, cosa que al menos compensaría los esfuerzos (todavía creo que en esa casa se han de ocultar grandes riquezas en plata y oro, algún día volveré para recuperarlas). Fue entonces cuando me decidí a probar suerte con un lugar que había dejado sin explorar: un agujero que había en el suelo de la habitación oeste del piso de arriba. Tal vez desde la habitación interior pudiese alcanzar de algún modo la que albergaba la piedra. El caso es que, viendo que no había apoyo visible alguno para bajar, y que saltar por el agujero sin más sería cuanto menos arriesgado, se me ocurrió utilizar un colchón que allí había para amortiguar la caída. Lo empujé, pues, hacia el agujero, y salté. Fue entonces cuando noté un intenso dolor que me laceraba el brazo. Aún hoy ignoro qué fue lo que me atacó durante el salto; pero el hecho es que mi brazo sangraba profusamente. Y todo ello fue, aparentemente, para nada, pues no encontré nada en la habitación inferior, cuyas ventanas estaban condenadas. Además, la única salida estaba bloqueada por un sofá que tuve que quitar de enmedio. Resultó que aquella puerta era la puerta cerrada que había visto en el vestíbulo, por lo visto solamente estaba atrancada por el sofá, porque salí sin problemas.

Fue entonces cuando, fijándome en la gran lámpara de araña que debió iluminar el enorme vestíbulo, vi que en su interior brillaba algún tipo de objeto metálico. Sin duda, no era parte de la araña, y pensé que había de ser algo interesante para que lo escondiesen en tal lugar. Me decidí, pues, a conseguir aquel objeto, y ya me gustaría haberme visto desde fuera, mi brazo magullado, mis esperanzas casi cortadas de raíz por el pasillo bloqueado, y aun así pensé mil estrategias para hacerme con él. La araña estaba lejos, no llegaría saltando de ninguna manera; así que no tardé en darme cuenta de que la única forma factible de conseguir el objeto sería lanzar cosas a la lámpara hasta hacer que el objeto cayera. Revisé, pues, mi inventario. El reproductor de cintas parecía un objeto demasiado pesado para lanzarlo, y las cintas demasiado ligeras. No recuerdo por qué ya no debía de llevar la daga, seguramente la perdí en algún momento, tal vez en la caída por el agujero. El caso es que necesitaba un objeto contundente y susceptible de ser lanzado, y los mecanismos de mi mente se pusieron instantáneamente en marcha para encontrarlo, pues nada es imposible para el aventurero valeroso y experimentado. En realidad, la solución al problema era obvia: no en vano había visto hacía muy poco a Jorge coger una piedra en el jardín de la casa, la misma que era mi misión buscar. Donde hay una piedra, siempre hay alguna más, así que salí de nuevo al jardín y miré al suelo, y, en efecto, encontré una muy adecuada, que además se parecía notablemente a la lanzada por Jorge, si no fuera porque le faltaba la marca del permanente.

Desde la parte inferior del vestíbulo no conseguí acertarle a la araña; pero me di cuenta enseguida de que la parte superior ofrecía mucho mejor ángulo para lanzar la piedra, así que lo hice. Apunté a la unión de la lámpara con el techo, y fue tal mi puntería que cayó la lámpara entera, rompiéndose en pedazos. Bajé al vestíbulo a recoger la piedra y el objeto, que resultó ser nada menos que una llave vieja y oxidada. Lógicamente, fui a ver qué abría, y encontré que no encajaba en la llave de la habitación cerrada del piso de arriba; pero sí en la del armario, y allí me encontré nada menos que con una segunda pila válida para el reproductor y una nueva cinta.

Me apresuré, por tanto, a poner pilas al reproductor y escuchar los tres casettes que había encontrado. No hablaré de las fantasmales, horripilantes voces que habían quedado grabadas en las dos primeras... sólo diré que, en la cinta que había encontrado en la cómoda de la habitación de la caja fuerte, una voz hablaba en un raro idioma extranjero. Me di cuenta de que en algún momento enumeraba cosas lentamente, y de hecho las enumeraba dos veces. No tardé nada en relacionar aquella cinta con el papelito, y casi doy un salto de regocijo, a pesar de estar en tan maligno lugar, cuando me di cuenta de que, sin duda alguna, las palabras allí escritas aparecían en la enumeración... ¡que, sin duda, por el aire de alguno de aquellos términos, se trataba de una enumeración de números! Sé que debería haberme dado cuenta antes de que una cinta que repite lentamente listas de palabras en un idioma extranjero debería pertenecer a un curso de idiomas; pero como sabéis me hallaba bajo una gran tensión. El caso es que se trataba de tres números, que por el orden en que aparecían en la cinta no tardé en deducir que eran el 5, el 9 y el 0. Y, ¿qué uso podrían tener tres números, escondidos en un papelito bajo una alfombra, y escritos en un idioma incomprensible, más que el ser la combinación de la caja fuerte que había encontrado?

Cuando introducí la combinación 590 en la caja esperaba encontrarme, como mínimo, con oro y diamantes, y mentiría si negara que me decepcionó bastante ver solamente una llave, una nueva llave. Parecía que los moradores de aquella casa lo hubiesen preparado todo para esconder sus misterios y hacerlos inaccesibles, clave tras clave. El caso es que, probando la llave en la cerradura de la puerta que me quedaba por abrir, comprobé que, en efecto, se abría. No mencionaré al horror de ultratumba al que me tuve que enfrentar allí, herido y desarmado, simplemente diré que, tras vencerlo, inspeccioné la sala y encontré, debajo de los papeles, un rotulador.

Un rotulador parecerá, sin duda, muy poca cosa; pero a veces un objeto sencillo puede salvarnos la vida, y éste fue el caso. Miré el rotulador y miré la piedra con la que había roto la araña. La piedra se parecía muchísimo a la que Jorge había lanzado. Solamente le faltaba la marca que Jorge había hecho con el permanente... y tenía un permanente en la mano. ¿Podría engañar a Los Inmortales con aquello? Sin pensármelo mucho, me dispuse a pintar la piedra con el rotulador; pero antes de trazar la "I" me tembló la mano, y no llegué a hacerlo, pues me di cuenta de que el rotulador que tenía era azul, y el que había usado Jorge era rojo. Una argucia así jamás surtiría efecto...

Y, sin embargo, tenía algo para pintar la piedra de rojo, y contar con posibilidades de engañar a la banda. Mi brazo continuaba sangrando...

En efecto, tuve que pagar mi ingreso en Los Inmortales con mi propia sangre. Mojé la punta del rotulador en ella, y pinté sin vacilación una marca en la piedra idéntica a la que Jorge había hecho. Volví a donde estaban Jorge y sus secuaces y les entregué la piedra, y, en efecto, ¡dieron mi misión por cumplida!

Antes he utilizado el verbo "engañar"; pero creo que no es el adecuado. ¿Se puede llamar mentiroso a quien vivió una aventura tal, y superó tan increíbles peligros para encontrar una piedra que, al fin y al cabo, no se diferenciaba de la buscada? Sin duda sería cruel utilizar tal término.

Axman

subir al índice

9:05

El walkthrough de la aventura -mínimo- es el siguiente:

get up
drop watch
drop clothes
look under the bed [no es indispensable]
s
enter shower
n
open dresser
take clean clothes
wear clean clothes
take watch
wear watch
take keys
e
s
enter car
drive car
z
[responder 'y' o 'n', es indiferente]
z
[responder 'n']
z
[responder 'y']
[FIN]

Baltasar El Arquero

subir al índice

Fernando Fernández

La solución a la aventura puede encontrarse en la página web de Estudios Drakkar. Sin embargo, te pongo los pasos que yo he seguido aquí mismo:

abre los barriles
empuja la puerta (x3)
usa el tronco
entra en la casa
abre el armario
usa el trapo con el polvo
usa el jarrón con la repisa
usa llave con puerta
entra
coge bombilla
empuja cajas
usa cajas
coge alambre
mira rejilla
habla rejilla
usa cajas
salir
mirar rejas
usa bombilla con pared
usa alambre
usa alambre con tv
usa trapo con palanca
usa trapo-palanca con puerta
entra
mirar gordo
salir
ir a habitación secreta
usar peine con fantasmo
salir
ir a celda
mirar posters [no es estrictamente necesario: deduces los tres últimos números de la combinación, 95 del Tour de Indurain y 8 de la 8º del Madrid]
mirar candado
introduce la combinación: 661895
[fin]

Baltasar El Arquero

subir al índice

Enlightenment

Salimos por la Gran Puerta y nos encontramos "En el lado equivocado del Puente". Un troll sujeto con una cadena de oro al cuello, nos bloquea el paso por el último puente antes de salir con todas las riquezas que hemos conseguido en el subterráneo. Parece que debemos quedarnos a oscuras para poder evitarlo y... ¡casi todo lo que llevo emite luz! Hacemos inventario y nos encontramos lo siguiente: la lámpara (encendida), la espada (iluminada), una cruz y un amuleto (también brillando) y la mochila, que aunque está cerrada emite luz. Curioso, la abrimos y... ¡más cosas iluminadas! Una esfera que brilla, un cilindro también brillante, una joya en forma de estrella, un vial que también brilla y por último, un destornillador, una bola de chicle, un repelente para g***s (grues, criaturas de Zork), una cajita con material para hacer hogueras, un frasco con agua, y un certificado Frobozziano de celulosa explosiva.

Cualquier intento de diálogo o de dar un objeto al troll acabará frustrado, ya que es un ser poco inteligente que sólo pretende aniquilarte. Lo más fácil a simple vista parece ser arrojar las cosas por el abismo, aunque el troll se interpone. Si intentamos arrojar las cosas sin más veremos que el troll las atrapa, las huele y las arroja al suelo. Todas, menos la esfera, que al rebotar parece que le divierte. Sin embargo, siempre adivina su dirección. Para evitar esto, la arrojamos contra la puerta que está en dirección opuesta (THROW BALL AT GATE), con lo que el rebote le despistará y burlará su intento de atraparla. Un objeto menos. Es curioso el uso de la preposición, ya que si ponemos TO GATE nos dirá que eso solo podemos hacerlo con seres animados.

La espada parece ser un modelo muy moderno, nada de funcionar con magia, la descripción te indica que es un modelo con pilas, pero no hay interruptor para apagarla. Sin embargo, podemos intentar buscar el compartimento de las pilas, para quitarselas. El único lugar donde pueden estar es en el mango, por lo que procedemos a abrirlo, aunque no parece fácil sin algo con filo. Observando el inventario, vemos que las posibilidades de que encaje ahí algo son dos: el propio filo de la espada, que al no ser flexible lo desechamos, y la cruz, con la que abrimos el mango y un panel posterior (OPEN GRIP WITH CROSS, OPEN PANEL WITH CROSS). Y ahí estaba la batería, que al caer al suelo apaga la espada.

Cogemos el material para hacer hogueras y aprovechamos el hueco de la cajita para meter lo único que ahí puede encajar, el amuleto (PUT AMULET IN TINDERBOX y CLOSE TINDERBOX). Un objeto menos. Observamos ahora la cruz, que era demasiado ancha para meterla ahí. Mirando la localidad, podría ser una buena idea meterla por debajo de la gran puerta para perderla de vista. Sin embargo, si la ponemos sin más todavía se observa algo de su brillo. La solución es masticar el chicle (EAT GUM), pegarle la cruz (PUT GUM ON CROSS), pegarlo todo al certificado (PUT GUM ON CERTIFICATE) y meterlo balo la puerta (PUT CERTIFICATE UNDER GATE). El brillo sigue existiendo, pero si sacamos el material de hacer hoguera y quemamos el certificado (BURN CERTIFICATE), la explosión será suficiente para alejar la cruz en la habitación que hay tras la puerta.

La lámpara es nuestro siguiente objetivo. Notamos que está muy caliente y que así es difícil manipularla, además de estar hecha de cristal irrompible. Abrimos el frasco de agua (OPEN FLASK) y vertimos agua sobre ella (POUR WATER ON LAMP), con lo que la enfríamos e incluso parcialmente apagamos. Aunque el filamento interior sigue iluminado. Si intentamos romperlo con el destornillador vemos que no alcanzamos, con lo que necesitamos alargarlo con el mango de la espada (PUT GRIP ON SCREWDRIVER) para poder romperlo (BREAK FILAMENT WITH SCREWDRIVER). La lámpara ya no será ningún problema.

Para quitar de la vista el vial mágico brillante nos fijamos en la cerradura también de la puerta, de forma circular en su parte superior y luego rectangular. Por casualidad, el vial encaja justamente en la primera silueta (PUT PHIAL IN KEYHOLE), pero una vez más, está demasiado cerca de la escena para que nos llegue su brillo. De nuevo es necesaria la intervención del destornillador (¿nuevo objeto imprescindible para todo aventurero?), que al más puro estilo McGiver servirá para empujarlo. De nuevo vemos que no llegamos al final, por lo que será necesario alargarlo un poco. Contamos ahora con la ayuda de las pilas de la lámpara (PUT BATTERY ON SCREWDRIVER), para posteriormente empujar sin más problema (PUSH PHIAL WITH SCREWDRIVER).

Ya sólo nos queda la joya estrellada, con la que no es necesario marearse tanto. Si antes cogíamos las baterias del compartimento de la espada, ahora utilizamos ese hueco para ocultar la joya (PUT STARJEWEL IN COMPARTMENT y CLOSE COMPARTMENT). ¡Por fin nos libramos de todo! Pero... ahora vemos unos ojos rojizos que iluminan todavía la escena, ¡los del troll!

Echando un vistazo al inventario vemos algo que aún no hemos usado, el repelente de Grues, que rápidamente echamos sobre los ojos (SPRAY EYES WITH REPELLER). Dañamos seriamente uno de los ojos del troll, pero se nos agota el contenido y otro de los ojos sigue dando luz a la escena. Sin ningún tipo de compasión, lo dañamos con la espada en uno de sus pestañeos (CUT EYE WITH SWORD), y un ruido en la oscuridad nos indica que unas criaturas han dado buena cuenta de él. Pero ese sonido continúa de fondo, en la oscuridad. Y algo se acerca a nosotros. Necesitamos de nuevo la luz, y tenemos un turno. Abriendo la cajita obtenemos luz del amuleto (OPEN TINDERBOX) y ya podemos cruzar el puente, con lo que habremos ganado el juego (NORTH).

Ahora es buen momento para echar un ojo a la puntuación completa del juego (empezábamos ya con 240 puntos y ganábamos uno cada vez que nos deshacíamos de algo brillante), con mensajes bastante divertidos de nuestras peripecias anteriores (5 puntos por mirar debajo de la cama, 3 por haber encontrado el Halcón Maltés verdadero, 12 por colgar adecuadamente un cuadro XD). En las curiosidades te informan de muchas más opciones posibles y pensadas, que demuestran aún mejor lo interactivo que puede ser el juego con pocos objetos. Y ahora, por favor, el último que salga de SPAC que apague la luz...

dhan

subir al índice

Los comentarios más buscados

Estos son los juegos que nos gustaría ver comentados en los próximos números:

"1893"; "Anchorhead"; "Earth and Sky"; "Once and Future"; "Savoir Faire"; "Yet Another Game with a Dragon".

Si te animas a hacer un comentario o quieres añadir algún juego a esta lista, escríbeme raudo y veloz a dhan@interlap.com.ar Hasta el próximo número.

subir al índice

SPAC

 

 



Acertijo del fanzine anterior: Clyde Wentworth no sabía lo que le esperaba aquel fatídico día
Hace referencia al protagonista de Whitman Day. Acertaron Baltasar el Arquero y Morgul.

 

¡Mándame un acertijo! Este mes no se me ocurre ninguno...