Post on 30-Mar-2021
Nº9 – Septiembre 2004
www.speccy.org/magazinezx
3 Editorial.
4 Panorama.
6 Análisis. Cannibal Island, Stack Up, The Island of Dr.Destructo.
10 Al descubierto. Livingstone Supongo.
18 Zona WWW. Name the Game.
21 Programacion Z88DK. Creando una aventuraconversacional con Z88DK (III).
26 Input. Entrevista a Droy.
28 Opinion. SPECCY TOUR, Un vistazo atrás y otro haciaadelante.
Redacción de MAGAZINE ZX
Ya estamos aquí de vuelta tras el caluroso mes de agosto, yesperando que todos vosotros hayáis podido disfrutar de unosmerecidos días de descanso. Lentamente, todo vuelve a lanormalidad y la rutina trata de apoderarse una vez más de nuestrasvidas. Para tratar de evitarlo, os presentamos este nuevo número devuestra revista Magazine ZX.
En esta entrega tras el lapso estival los contenidos no son demasiadoextensos, si bien esperamos que sean de vuestro agrado. Tras elconsabido repaso a la actualidad en lo referente al Spectrum,analizamos tres juegos no demasiado conocidos, de la mano deFALVAREZ. Tras abrir boca, NÉSTOR LUCAS pone patas arriba todo unclásico como es Livingstone Supongo.
SIEW sigue desentrañando los secretos de la herramienta z88dk. Enesta entrega completaremos la aventura conversacional de GuybrushThreepwood, aprendiendo nuevas funcionalidades que nos serán degran utilidad a la hora de elaborar nuestros propios programas.
En la parte más subjetiva de la publicación, analizamos la web NameThe Game, un soplo de aire fresco en el panorama de los sites sobreSpectrum. Para cerrar este número, contamos con la entrevista queDroy concedió a nuestro colaborador HORACE y la opinión de unjugón del Speccy Tour acerca del devenir de dicha competición, cuyaedición de este año está apunto de comenzar.
Nº 9 – Septiembre 2004 MAGAZINE ZX 3
Año II Nº 9 Septiembre 2004
Redacción:
Santiago Romero(SROMERO).
Federico Álvarez(FALVAREZ).
Pablo Suau (SIEW). Miguel A. García Prada
(DEVIL_NET).
Ilustración dePortada:
Juanje Gómez (DEV).
Colaboraciones eneste número:
Josetxu Malanda(HORACE).
SpeccyTourPlayer
Maquetación en PDF
Álvaro Alea (ALEASOFT)
Contacto:
magazine@speccy.org
Redacción de MAGAZINE ZX
Ya ha pasado el verano, algunos se han llevado el Spectrum a la playa,otros a la montaña, otros dentro de una GBA o un teléfono móvil, y otros lehan dado al emulador. Pero, ¿qué ha pasado durante estos días dedescanso? Demos un repaso a la actualidad:
Nuevas versionesde emuladores
En este intervalo de tiempoalgunos emuladores se hanactualizado, como es el caso deSpeccyalK (para Dreamcast yGP32), SpeXtrum (emuladorpara XBox), QEmulator(emulador de QL paraWindows y Mac OS), ZXSpin(versión 0.504) y RealSpectrum (R14), siendo ésta laúltima la última versión paraMSDOS. Parece ser queRamsoft va a centrar susesfuerzos en la versión paraWindows. ¿Veremos algunavez la versión Linux?
Quedadas yparties
Durante este verano se hancelebrado importantesreuniones de usuarios, comohan podido ser la Campus Partyo la Euskal Party. En concreto,en esta última hubo una secciónespecífica dedicada a laretroinformática, en la que tuvolugar una interesanteconferencia en la queparticiparon como ponentesgente de la talla de S.T.A.R.,Rafa Corrales, Injaki o nuestrocolaborador Horace, y unacompetición de juegos
organizada por Iván Ruiz.
También se celebró en Torrente(Valencia), organizada porusuarios de Atari, la partyVintagenarios, en la que sereunieron la flor y nata de lossistemas vintage. Esperamosuna crónica detallada de lo queaconteció en la web deMatranet.
Suspensión¿temporal? de LaTira de speccy.org
Se acabó: este es el título de laúltima tira dibujada porPedrete. Esa tira que semanatras semana nos comentaba laactualidad en el mundillo y enlas news en clave de humor. Talcomo explica Pedrete en lapropia página de la tira, duranteel mes de Septiembre se van aproducir unos cambiosimportantes en su vida personalque van a hacer imposible, almenos de momento, quecontinúe trabajando en ella.Sólo nos queda agradecersinceramente a Pedrete eltrabajo realizado y desearlemucha suerte en sus nuevascircunstancias. Nosotrosestaremos aquí esperando a quevuelva, releyendo las tirasanteriores que seguirán online
en el servidor de speccy.org.Gracias, Pedrete, y suerte.
El Speccy Tour2004 calientamotores
Primeras noticias del nuevotour: como siempre, Iván Ruiznos mantiene informados enes.comp.sistemas.sinclair. Entrelas novedades, un controlautomatizado de la competiciónbasado en PHP, gracias a lacolaboración de Kak, lo quehará que no se dependa tantodel correo electrónico duranteel desarrollo de la competición.Se supone que esto va a tenercomo consecuencia ladisminución de los retrasos alhacerse la gestión del tourmucho más sencilla.
Los emuladores que se podránusar serán Real Spectrum ensus versiones DOS y WIN32,FUSE y Spectaculator 5 (si elautor del programa no poneningún inconveniente). SPINqueda fuera al negarse losautores a incluir un método decompetición en su emulador (lacual es su decisión y estotalmente respetable).Mientras esperamos nuevasnoticias, seguiremos entrenandopara mantener los buenos
4 MAGAZINE ZX Nº 9 – Septiembre 2004
resultados españoles en lacompetición. Que lástima que elSpeccy Tour no sea categoríaolímpica, porque si no seguroque hubiéramos acabado en unpuesto mucho más elevado en elmedallero gracias a nuestrosjugones.
En principio, parece que lainscripción ya estará abierta enel momento de publicar estenúmero de la revista, por tanto,os animamos desde aquí a todosa que participéis. Es unaexperiencia única, y una excusasin igual para jugar y jugar anuestro querido Spectrum,además de servir posiblementepara descubrir nuevos juegos omejorar nuestro nivel enalgunos ya conocidos.
Froggermix, nuevojuego español endesarrollo para ZXSpectrum
A finales del mes de julio,Jaime Tejedor (metalbrain)
sorprendía a todos anunciandoel comienzo de un nuevoproyecto, ideado por José JuanRódenas (sejuan) y con élmismo y Juan Carlos Soriano(JC) como colaboradores, cuyoobjetivo es la creación de unnuevo juego para Spectrum.De momento sóloencontraremos en la página delproyecto algunas ideas, elargumento, y algunosestupendos gráficos del juegoque se pretende desarrollar(Frogger Mix).
Cuando se anunció el proyectoeran esas tres las personas quede momento estaban subidas alcarro, y dicho anuncio serealizó con la intención de quela gente pueda participar. Dehecho, según el mismoMetalbrain asegura, se trata deun desarrollo abierto, cuyocódigo sería publicado en lalista de correo z80asm. Sinembargo, desde dicho anunciono se ha vuelto a saber nadadel tema, y la página, diseñada
por nuestro redactor MIGUELsigue tal cual estaba entonces.Esperamos que tras la vuelta devacaciones se reanude elproyecto y se reinicie la largatradición de producción desoftware para nuestra entrañablemáquina dentro de nuestrasfronteras.
La escena rusasigue en la brecha
Novedades software: allá en lahelada Rusia la escena siguemuy activa. Prueba de ello sonlas nuevas demos y programasque se anuncian año tras año.Como siempre, entre las demoslas hay de muy alto nivel,exprimiendo la máquina almáximo y demostrando un granconocimiento del hardware. Sehan lanzado también dos juegosnuevos, uno de ajedrez y unaaventura Hentai (aventuraerótica manga) que, a menosque sepamos ruso, por desgraciano vamos a poder disfrutar.
LINKS ● SpeccyalK: http://www.speccyal.be/
● ZXSpin: http://www.zxspin.co.uk/
● Q-Emulator: http://users.infoconex.com/~daniele/q-emulator.html
● Real Spectrum: http://www.ramsoft.bbk.org/realspec.html
● Conferencia Retroeuskal 2004 (renombrar extensión .mp3 a .spx):http://www.euskadigital.net/enredando_net/euskal_12/audio/12.mp3
● Vintagenarios: http://www.matranet.net/PARTY/
● La Tira de speccy.org: http://www.speccy.org/pedrete/
● Speccy Tour 2004: http://www.speccy.org/st04/
● Froggermix: http://www.speccy.org/froggermix/
● Chaos Constructions 2004 (scene rusa): http://cc.enlight.ru/
Nº 9 – Septiembre 2004 MAGAZINE ZX 5
En esta ocasión, hemos seleccionado tres títulos no muy conocidos paraproceder a su análisis. Son los siguientes: Cannibal Island, Stack Up y TheIsland Of Dr. Destructo. Esperamos que sean de vuestro agrado.
CANNIBAL ISLAND
Título Cannibal Island
Género Estrategia
Año 1986
Máquina 48K
Jugadores 1 Jugador
Compañía LiveWire Software
Autor Barry Jones
Otros comentarios
● N/A
Eres el único superviviente de un naufragio, y hasido a parar a una isla habitada por caníbales. Debesescapar, pero además el tiempo corre en tu contra, yaque en la isla hay ¡¡¡un volcán a punto de estallar!!!
La pantalla de juego
Este es el argumento que nos ofrece esta creación deBarry Jones. Para escapar, deberemos construir unabalsa, intercambiando con los nativos nuestras balas
por troncos y cuerdas. Tendremos que estar atentos alo que encontremos, ya que si vemos huesos,posiblemente los caníbales anden por allí cerca.Podremos dispararlos, pero teniendo en cuenta quelas balas son un bien escaso. Pero si no nosdefendemos y los caníbales nos atacan, perderemosun miembro de nuestro cuerpo.
Negociando con los nativos
6 MAGAZINE ZX Nº 9 – Septiembre 2004
A esta tragedia se añade el caluroso clima, que nosobligará a aprovisionarnos de agua más a menudo delo que desearíamos. Así que, cuando hayamosconseguido todas las piezas para construir la balsa,debemos encaminarnos con presteza al embarcaderoque se encuentra al noreste de la isla.
Para empezar, el juego consta de 3 niveles dedificultad, de forma que podamos ajustarla a nuestrapericia. Una vez comenzada la partida, pulsando latecla i, el programa nos muestra las teclas con lasque manejaremos a nuestro protagonista, que nospermitirán movernos por la isla, disparar en 4direcciones, negociar con los nativos y, una opciónnada común, como es grabar nuestros progresos enun microdrive.
El desarrollo del juego es tal y como lo hemoscomentado más arriba. Recorreremos la isla en buscade poblados donde podemos negociar con los nativospara intercambiar troncos y cuerdas por nuestrasbalas, y así poder construir la balsa. Pero los nativosno son tontos, si rechazan nuestra oferta tendremosque intentar hacer el trueque con más balas.
¡Peligro! Los caníbales nos ataca
Fuera de los poblados encontraremos pozos de agua,donde rellenar nuestra cantimplora, y alguna balaque otra tirada en el suelo, que nos vendrá muy biena la hora de negociar. Pero, por desgracia, la isla estáplagada de caníbales. Cuando nos encontremos conuno de ellos tendremos la posibilidad de luchar osalir huyendo. Para salir por piernas debemos contarcon agua suficiente, ya que esquivar las flechas esmuy cansado, y si no reponemos bebiendodesfalleceremos a causa de la sed y seremoscocinados por los caníbales. Si nos enfrentamos aellos, se produce un combate por turnos dondealeatoriamente el caníbal o nosotros iremos
sufriendo heridas. Al superar las 10 heridas, elperdedor morirá, y el ganador seguirá su camino.
Por tanto es buena idea intentar memorizar dóndeestán los pozos, para estar siempre dispuestos aescapar corriendo, ya que el resultado de loscombates es totalmente aleatorio.
Técnicamente, el juego es muy simple y nodemuestra nada. A veces tarda en responder a lapulsación de las teclas. Gráficamente tampoco esnada del otro mundo. El sonido es lamentable, sóloalgunos pitidos a modo de efectos al movernos orealizar acciones.
Escapando de las flechas de los caníbales
En resumen, un título con una buena idea, sencillo,pero flojo técnicamente, que nos puede llegar aenganchar como mucho una tarde intentando escaparde la isla, lo cual no es demasiado fácil, pero quepierde interés enseguida debido a lo repetitivo de sudesarrollo y a la ausencia de alardes técnicos en suprogramación.
ValoracionesOriginalidad: [7] Gráficos: [5] Sonido: [3] Jugabilidad: [5] Adicción: [6] Dificultad: [7]
Descárgalo de:
● WOShttp://www.worldofspectrum.org/infoseek.cgi?regexp=Cannibal+Island
Nº 9 – Septiembre 2004 MAGAZINE ZX 7
THE ISLAND OF DR. DESTRUCTO
Título The Island Of Dr. Destructo
Género Arcade Shoot'em Up
Año 1987
Máquina 48K
Jugadores 1 ó 2 Jugadores
Compañía Bulldog
Autor Eugene Messina, David LincolHowells
Otros comentarios
● Crash Issue 44 ● Your Sinclair Issue 22
Este Dr. Destructo se trata de un matamata de seriebarata (o budget). En estas ocasión la historia es lasiguiente: Tenemos 7 días para abortar los plantes dedominación global del Dr. Destructo. Para evitarlo,nuestra misión consiste en destruir el imperio del Dr.Destructo. El juego consta de 21 pantallas que sedesarrollan durante días y noches a medida que vamosprogresando en la historia.
El menú de opciones
El juego consiste en ir destruyendo la flota de nuestroenemigo a base de lanzar sobre ella los aviones quevayamos derribando en el cielo. En cada pantalla, además,contaremos con una bomba que podremos lanzar en ellugar que prefiramos. Una vez destruido el objetivo,pasaremos a la siguiente pantalla. Hay que destacar quepueden participar dos jugadores cooperativamente, con loque el juego quizás gane en competitividad, para ver quiénde los dos consigue una mayor cantidad de puntos.
Podemos controlar nuestro avión con el teclado o concualquier joystick de los habituales (kempston, sinclair ocursor). Las aeronaves obedecen rápidamente y conprecisión a nuestras órdenes. El sonido es correcto, conefectos para los disparos y explosiones, y poco más.
Se trata, en resumidas cuentas, del típico juego barato(estamos hablando de un precio de 1,99 libras), sin más
pretensión que entretenernos un rato. Quizá en sumomento tuvieran validez este tipo de iniciativas, pero enla actualidad, con el acceso que tenemos a una grancantidad de títulos, juegos como éste pasendesapercibidos, con bastante justicia por otra parte.
En el fragor de la batalla
ValoracionesOriginalidad: [5] Gráficos: [5] Sonido: [6] Jugabilidad: [6] Adicción: [4] Dificultad: [6]
Trucos:
Puedes encontrarlos en The Tip Shop http://www.thetipshop.co.uk/cgibin/search.pl?name=Dr+Destructo
Descárgalo de:
● WOShttp://www.worldofspectrum.org/infoseek.cgi?regexp=^Dr.+Destructo$&pub=^Bulldog$
8 MAGAZINE ZX Nº 9 – Septiembre 2004
STACK UP
Título Stack Up
Género Puzzle
Año 1991
Máquina 48K
Jugadores 1 Jugador
Compañía Zeppelin Games Ltd
Autor David Sanders
Otros comentarios
● Crash Issue 90 ● Your Sinclair Issue 68
Estamos ante otro juego de puzzles que destaca por susencillez y su adicción. En este caso la tarea es sencilla. Setrata de una versión más del tan manido juego de las tresen raya. El juego consiste en ir colocando las piezas quecaen de tres en tres desde la parte superior de la pantalla demodo que queden alineadas tres piezas del mismo color, yasera en horizontal, vertical o diagonal. Cuando esto ocurra,las piezas alineadas desaparecerán y el resto se recolocarándejándose caer hacia los huecos que se han abierto.
Conforme vamos alineando piezas, el nivel de dificultadirá en aumento. Concretamente, la velocidad con la quecaen las piezas crecerá, como ya es típico en este tipo dejuegos.
El menú principal
Tampoco vamos a comentar mucho más acerca de lamecánica del juego. Todo dependerá de nuestra pericia a lahora de colocar los bloques que vayan apareciendo y quelos colores de los mismos se adecúen a nuestros intereses.Por si queremos ponernos las pilas, tenemos en el menúuna opción para practicar antes de afrontar el reto,eligiendo nosotros la velocidad a la que se desarrollará eljuego.
Eso sí, técnicamente es bueno. Gráficamente es un juegomuy vistoso, y los bloques van descendiendo suavementepixel a pixel, pero sin merma alguna de velocidad. El usodel color es acertadísimo. La respuesta a los controles
(teclado o joysticks kempston, sinclair o cursor) esinmediata. Las melodías (en el menú y durante el juego)están bien aunque, con el tiempo, esta última puede llegara resultar un poco machacona.
Tratando de conseguir 3 en raya (o más)
A modo de valoración final, se trata de un título correcto,muy bien resuelto técnicamente y adictivo, que nos harápasar ratos entretenidos si somos amantes de este tipo dejuegos.
ValoracionesOriginalidad: [4] Gráficos: [8] Sonido: [7] Jugabilidad: [8] Adicción: [8] Dificultad: [8] Trucos:
Puedes encontrarlos en The Tip Shop http://www.thetipshop.co.uk/cgibin/search.pl?name=Stack+Up
Descárgalo de:
● WOShttp://www.worldofspectrum.org/infoseek.cgi?regexp=^Stack+Up$
FALVAREZ
Nº 9 – Septiembre 2004 MAGAZINE ZX 9
NÉSTOR LUCAS
LIVINGSTONE SUPONGO
Sin duda alguna, una de las compañías españolas de software deentretenimiento de la edad dorada que más nos ha hecho disfrutar, juntocon Dinamic, fue sin duda Opera Soft. Bajo este sello se publicaría en 1988la genial "Abadía del Crimen". Pero no va a ser este el juego que ocupenuestro patas arriba.
Título Livingstone Supongo
Género Arcade/Plataformas
Año 1987
Máquina ZX Spectrum 48K/128K
Jugadores 1 Jugador
Compañía Opera Soft
Los chicos de Opera publicaron en 1987 dosjuegos de plataformas con los que demostraron subuen hacer para con cuantas plataformasdisponibles había en el mercado. Me refiero a"Goody" y a "Livingstone Supongo", siendo esteúltimo al que dedicamos este artículo.
Tengo que reconocer que una de las cosas quemás me llamó la atención de estos juegos en 1987fue verlos funcionar en un PC, en la sección deinformática de cierta cadena de centroscomerciales. Uno se quedaba embobado viendocomo se vendía la gran potencia de los PCs de laépoca con estos juegos, y luego comprobaba queen nuestro querido Speccy era igual, y hastaañadía colores.
Dos años después, en 1989, y tras la sorpresa delfinal de la primera parte, Opera decidió publicar"Livingstone Supongo 2", juego con poco éxito, enel que se sacrificó (para mi gusto) la jugabilidadpor aportar personajes más grandes.
Este patas arriba, como ya es cosa habitual, vaacompañado de una partida grabada en el formatoRZX con la resolución del juego. Y como novedad,dado que no lo encontre por ningún sitio, herealizado un mapa del juego, que también vaincluido en el paquete.
Recordaros además que aprovechéis lasposibilidades de grabar posiciones de partida paraavanzar en el juego. En la guía paso a paso de laresolución os he indicado tres puntos negros de lapartida en la que es más que recomendablerecurrir a esta grabación.
Y ahora sí, sin enrollarme más, pasamos al patasarriba propiamente dicho.
PONIÉNDOLO TODO PATASARRIBARecordemos de forma rápida los controles deljuego: para variar, con teclado, las tradicionalesteclas opqa, agachándonos con la tecla 'a', ysaltando con la tecla 'q'. Disponemos además decuatro objetos: el boomerang, la espada, lagranada y la pértiga. Para usar cualquiera de elloshace falta seleccionarlos primero: el '1' para elboomerang, el '2' para la espada, el '3' para lagranada y el '4' para la pértiga. El disparo es elespacio, y en un momento explicaré comoutilizarlo.
En la pantalla encontraremos unos indicadores enla parte inferior izquierda. Son unas barras deprogreso, tres para ser exactos, aunque nada másempezar solo veremos dos. Estas indican lasreservas de alimentos y de agua que llevamos,siendo necesario reponerlas cada cierto tiempo.
La tercera barra/indicador muestra la fuerza queaplicamos al objeto que tengamos seleccionado enese momento. Esta fuerza aumenta en función deltiempo que mantengamos pulsada la tecla dedisparo (recordemos, la barra espaciadora).
Para practicar un poco como se maneja esto de losdisparos, podemos hacerlo al comenzar el juego,sin seleccionar ningún objeto. Veremos comonuestro intrépido aventurero lanza un puñetazo alaire (algo que seamos serios, no sirve de mucho
10 MAGAZINE ZX Nº 9 – Septiembre 2004
allá donde nos adentramos).
Al lado del marcador vemos una serie desombreros. Cada uno de ellos representa una vida.Empezamos el juego con siete vidas, lo queaunque parezca lo contrario, no suele sersuficiente hasta que hemos aprendido bien todoslos entresijos de este juego.
Como nota final, decir que cada 20000 (sí, veintemil) puntos, obtenemos una nueva vida, al igualque al recoger cada una de las cinco joyas.
COMIENZA EL JUEGONuestro objetivo en una primera fase del juego esrecoger una serie de joyas que se encuentrandesperdigadas por la selva. Son cinco, y si nosfalta alguna de ellas, el guardian del templo queda acceso a donde se supone que se encuentraLivingstone no nos dejará pasar. Volveremosentonces por arte de magia a uno de los puntosdonde nos falte una joya por recoger, y tendremosque atravesar de nuevo la selva llena de peligros.
En esta primera pantalla vemos una serpiente enuna loma a la derecha. Lo mejor se subirse a laloma central, y tratar de eliminarla con unboomerang o con una granada, eso lo dejo avuestro gusto. Eso sí, cuidado con la granada. Sinos cae cerca nos quita una vida. Y delboomerang, no os preocupéis en recogerlo.Digamos que es como si tuvieramos un poke demunición infinita, pero que en realidad no es poke.
Antes de pasar a la siguiente pantalla, hacia laderecha, conviene resaltar un par de puntos. En laparte inferior vemos una planta que se mueve. Es,efectivamente, una planta carnívora. Si nosacercamos mucho a ella, nos quita un punto devida.
Al lado de la planta carnívora hay una cosa roja enel suelo. Es en realidad una trampa. Si caemos enella, tendremos que ingeniárnoslas para salir,activando la palanca que abre la puerta que nosretorna a la libertad.
Comienza el juego
Bueno, una vez eliminada la serpiente, nossubimos a la loma donde se encontraba, yseguimos caminando hacia la derecha, entrandoen la segunda pantalla.
En esta pantalla tenemos de nuevo tres lomas, yuna trampa en el suelo. Además, entre la jarra deagua y la barra de pan que hay tras la segundaloma vemos una zona de arenas movedizas. Y enla loma de la derecha, de nuevo nos encontramoscon una serpiente.
La mejor manera de matar a esa serpiente es conla espada, desde la primera loma, cargando lafuerza al máximo. Saltamos de loma a loma hastala de la derecha, y pasamos a la tercera pantalla.
Allá donde se encuentre una palmera, habráun mono tirándonos cocos
En la tercera pantalla hay de nuevo una plantacarnívora, una serpiente y arenas movedizas. Eltruco aquí está en colocarse al borde de la loma, ydejar caer una granada cuando este la serpientedebajo. Cuando hayamos conseguido eliminar a laserpiente, nos dejamos caer (no hay peligro), y nosseparamos de la planta carnívora la distancia deuna pértiga. Nos olvidamos por ahora de lasprovisiones que había en la pantalla anterior,miramos a la derecha, seleccionamos la pértiga, yla usamos con una fuerza de unos seis puntos. Deesta forma deberemos caer en la loma de laderecha, sin pasar a la siguiente pantalla.
Antes de avanzar, las precauciones. En la siguientepantalla tendremos a dos monos sobre sendaspalmeras lanzándonos cocos, fáciles de eliminarcon un boomerang a fuerza cinco. A nivel de suelo,justo a la altura del borde de la loma, hay unatrampa. Pero lo que conviene tener en cuenta enesta pantalla es que es al aire libre. Y esto significaque aparecerá un aguilucho tratando deatraparnos y llevarnos a su nido. Por ahora vamosa esquivarle todo lo que podamos (esto incluyematarle si es preciso).
Bueno, pues ya sabiendo lo anterior,seleccionamos el boomerang, entramos, y nadamás entrar nos agachamos (así los cocos nopueden alcanzarnos). Disparamos el boomerang(recordemos, a cinco de fuerza), y veremos comoelimina a ambos monos. Si sale el aguilucho,podemos optar por matarle, o por regresar a lapantalla anterior y volver a empezar.
Una vez eliminados los monos, saltamos haciaadelante desde el borde de la loma, cogiendovelocidad antes, para caer pasada la primerapalmera. Saltamos a la siguiente loma (con pértigao sin ella, se puede de las dos formas).
Nº 9 – Septiembre 2004 MAGAZINE ZX 11
En la siguiente pantalla tenemos un mono sobreuna palmera lanzando cocos (fácilmenteeliminable con una granada a máxima fuerza). Haytambién un pez, que si bien podemos pasar sinmatarle, conviene eliminarle para disminuir riesgos(de nuevo la granada), y con cuidado de que nonos pille el aguilucho. Subimos al tronco que haysobre el agua en el extremo izquierdo, yseleccionamos el boomerang, cargándolo amáxima fuerza.
La pantalla decisiva del juego. Primero hayque ir donde está el mono, para regresar
después y colarse por la gruta debajo de lacascada
Una vez aparezcamos en la siguiente pantalla,lanzamos el boomerang, eliminando al mono quehay en la parte derecha. Seleccionamos la pértiga,nos ponemos en el extremo izquierdo del tronco, ycargamos la pértiga al máximo, saltando(usándola) justo un cuando el tronco deja lacascada. De esta forma aterrizaremos sobre laloma, en la siguiente pantalla.
Sin parar, seguimos caminando hasta caer por elborde, y caer entre los dos indígenas que nosdisparan dardos y flechas. Nos agachamos (así nonos pueden dar), y seleccionamos el arma denuestra opción (aquí va bien tanto la espada comoel boomerang). Conviene eliminar primero al queesta a nuestra izquierda, con la cerbatana. Una vezeliminados ambos, seleccionamos la pértiga, y nossituamos a una distancia de una pértiga del bancode arenas movedizas. Cargamos la pértiga a un8.75 de fuerza, procurando no llegar a 9, siemprepor encima de 8.
Si lo hacemos bien, pasaremos casi de largo porencima de un poblado indígena. En realidad,caeremos sobre la casa más alta, justo recogiendouna de las cinco joyas que nos hacen falta paraque el guardián del templo nos deje pasar. De latorre alta saltamos a la de la derecha, caminandohacia la derecha, hacia la siguiente pantalla, sinparar en ningún momento (hay que evitar losdardos).
Regresamos a la pantalla anterior, ahora a niveldel suelo. Nada más entrar, nos agachamos.Seleccionamos el boomerang, y lo lanzamos conuna fuerza de 5, para eliminar al brujo que haysobre esa especie de vasija gigante. Una vezeleminado, saltamos por encima de la trampa,
situándonos más o menos en el centro de lapantalla. Con el boomerang o con las granadas, anuestro gusto, eliminamos a los indígenas de lastorres de media altura. Podemos olvidarnos del dela torre alta.
Aproximadamente bajo este último indigena esdonde debemos situarnos ahora. Mirando hacia laderecha, seleccionamos la pértiga y la usamos confuerza 7.5. Si nos hemos situado bien, pasaremosde largo la pantalla siguiente, aterrizando en laque va a continuación.
En esta nueva pantalla tenemos tres indígenas, delos cuales, por ahora, solo uno puede alcanzarnoscon sus lanzas. Nos situamos debajo de la puertade la cabaña que hay en el alto, con la granadaseleccionada, y al máximo de fuerza. La lanzamos,y nos quitaremos de un plumazo al indígena de lacabaña y al de la torre alta.
En ese momento debería hacer su entrada por laizquierda un soldado. Es enemigo, y va adispararnos. Y como viene siendo habitual,agacharse es la mejor manera de evitar que nosalcance con su armamento. Lo podemos eliminarcon un boomerang o con una espada, lo que másrabia nos dé.
Ahora solo nos queda el indígena de la vasija, quecomo los anteriores, lo podemos eliminar másrápido con una granada.
Con el camino despejado, saltamos sobre la vasija(podemos hacerlo sin la pértiga), caemos a laderecha recogiendo los víveres (lo que tiene formade hamburguesa), saltamos por encima de latrampa, y pasamos a la siguiente pantalla.
En esta pantalla es recomedable permaneceragachado nada más entrar. Seleccionamos elboomerang, y con una fuerza de unos 4.8 a 5.2,lanzarlo. De esta forma nos quitamos de enmedioal indígena que hay en la antes de la vasija, albrujo que hay sobre la misma, y si conseguimosuna fuerza exacta de 4.8, al que tenemos en laplataforma superior. En cualquier caso, este últimoindígena no es peligroso. Sí lo es en cambio el quese encuentra en la parte derecha de la pantalla,con la cerbatana, motivo por el que debemosseguir agachados. De nuevo con el boomerang,esta vez al máximo, acabamos con él de un golpecertero.
¡Puedo volaaaaar!
12 MAGAZINE ZX Nº 9 – Septiembre 2004
Para pasar a la siguiente pantalla, nos situamosdebajo de donde se encuentra (o se encontraba,según habilidades) el indígena de la plataformaelevada. Para el caso, entre las dos cabañas.Seleccionamos la pertiga, y realizamos un saltocon una fuerza de 6.5.
Si la fuerza es la justa, caeremos sobre la primeraplataforma de la siguiente pantalla. Sin pararnosun momento, seguimos corriendo hacia la derecha,saltando a la segunda plataforma, y de allídejándonos caer por la derecha. Esta posición essegura, y podemos emplearla para matar a losindígenas de esta pantalla, aumentando nuestrapuntuación.
Cuando nos hayamos cansado, pasamos a lasiguiente pantalla, donde tendremos a un monotirando cocos desde la palmera (granada al canto),y a un cocodrilo al que no podemos matar.
Aunque la entrada a la mina está a laderecha, nos resultará poco menos que
imposible burlar al cocodrilo
Si somos pacientes, acabará apareciendo elaguilucho al que mencionamos hace un rato. Estavez sí, dejamos que nos atrape, llevándonos a sunido, donde recogeremos la segunda joya.
Para escapar del nido solo tenemos que saltar porencima del laguito, salir a la pantalla de laizquierda, esperar a que el tronco pase por debajo,y dejarnos caer sobre él. Conviene tenerseleccionado el boomerang, y cargado al máximo,pues al aparecer en la siguiente pantalla,tendremos a un mono en una palmera en elextremo opuesto. Y en este caso, nada mejor queel boomerang para acabar con él.
Una vez eliminado el mono, nos situamos en elextremo izquierdo del tronco, seleccionamos lapértiga, cargamos la fuerza al máximo y saltamosnada más terminar la cascada. Pasaremos a lasiguiente pantalla, que resultará ser dondecomenzamos la partida, cayendo en esta ocasiónsobre la loma central.
Como al principio, eliminamos a la serpiente,pasamos a la loma de la derecha, avanzamos a lasiguiente pantalla, usamos la espada para eliminara la nueva serpiente, hacemos nuestro caminohasta llegar a la loma de la derecha, accedemos ala siguiente pantalla, nos situamos al borde de laloma, matamos a la serpiente de abajo, y nos
dejamos caer una vez eliminada esta.
En esta ocasión, en lugar de saltar, regresaremosa la pantalla anterior, esta vez a nivel de suelo,para recoger los víveres. Hay que saltar concuidado las arenas movedizas, y protegerse de unsoldado que aparecerá justo por donde acabamosde entrar.
Regresamos a la pantalla donde nos dejamos caer,con cuidado, pues la serpiente estará allíesperándonos de nuevo. Repetimos el procesoinicial. Es decir, nos situamos a la distancia de unapértiga de la planta carnívora, la usamos (lapértiga) con fuerda 6, eliminamos a los monos dela siguiente pantalla, pasamos a la siguientepantalla esquivando al aguilucho, matamos almono de la palmera y al pez del laguito,esquivando siempre al aguilucho (no me cansaréde repetirlo), y subimos al tronco.
¡Cuidado ahora! Esta vez no hay que saltar con lapértiga hacia la derecha. Veremos, bajo lacascada, una especie de gruta. Por ahí es pordonde debemos pasar. Si queremos, matamos almono con el boomerang nada más entrar en lapantalla. Pero lo importante esta vez es situarsebien en el tronco, aproximadamente en el centro, ycuando estemos un cuadro por debajo de la gruta,correr hacia ella y saltar. Si lo hacemos bien,entramos en la caverna que nos conducirá a lamina a la que no pudimos entrar por el cocodrilo.
Una vez en la gruta, lo primero es hacerse cargodel murciélago, haciendo uso de una granada. Conotra granada podemos quitarnos de enmedio alescorpión que hay en el suelo. Y ya con unboomerang a fuerza 5.5, acabamos con el lagartode la loma superior. Entonces nos dejamos caer ala izquierda, y con la pértiga saltamos sobre laloma, usando entre 5.5 y 6 puntos de fuerza.
Pasamos a la siguiente pantalla, esta vezavanzando hacia la izquierda, y desde el borde dela loma nos despachamos al lagarto y al pez delnivel inferior. Ya sabéis como, con una granadita alcanto. Nos dejamos caer, y nos separamos lo justopara que entre la pértiga. Saltamos con el máximode fuerza, y caeremos sobre un risco en el que seencuentra la tercera joya.
Aunque aquí no se ven, por la mina circulanvagonetas que pueden atropellarnos
Nos dejamos caer desde el risco (está bien eso decaer desde cualquier altura y no hacerse daño), y
Nº 9 – Septiembre 2004 MAGAZINE ZX 13
pasamos corriendo a la siguiente pantalla,saltando para pasar la estalagmita. Con elboomerang nos deshacemos del escorpión, yseguidamente con la pértiga saltamos a la loma,usando 6 puntos de fuerza.
En la siguiente pantalla, primero damos cuenta delescorpión de la parte superior con un boomerang.Nos dejamos caer sobre el risco, y con unagranada hacemos lo propio con el lagarto. Caemosya a ras del suelo, y con el boomerang acabamoscon el escorpión que quedaba. Saltando sin lapértiga pasamos por encima de la estalagmita,recogemos el agua, y regresamos a la posición delrisco. Desde allí, usando la pértiga con fuerda de6, saltamos a la loma de la izquierda.
Antes de pasar a la siguiente pantalla,seleccionaremos el boomerang, y lo cargaremos almáximos. Avanzamos entonces, y nada másentrar, lanzamos el boomerang, acabando con unode los dos murciélagos. Rápido cambiamos a lagranada, y con un poco de fuerza (unos 4 puntos),acabamos con el otro murciélago, y con suerte,con el escorpión. Si este último no ha caído, lomatamos desde el borde con una granada.
Caemos al suelo, y con el boomerang matamos allagarto. Saltamos la estalagmita, y con la pértiga,a fuerza 4.5-5, saltamos sobre la loma.Seleccionamos el boomerang, lo cargamos almáximo, y entramos en la siguiente pantalla.Matamos al murciélago como hicimos hace unmomento, y examinamos la pantalla.
Las sirenas del lago nos aturdirán con susencantos
Esta pantalla es el acceso a la mina por el ladoderecho. Hay una estalactita que señala el puntodonde situarnos para, usando la pértiga almáximo, recoger el agua que hay en el saliente dela viga. Conviene esperar, pues sale un soldado,que si tenemos mucha prisa, puede coincidir sudisparo con nuestra caída. Así que mejor, desde elsuelo, agachados, esperamos al soldado, lomatamos, y saltamos a por la jarra.
Antes de continuar, una advertencia. Por la minacirculan carros sueltos, que pueden aparecer porcualquier lado. Podemos saltar por encima de ellossin demasiada dificultad, aunque requiere algo depráctica. Si estáis pensando en grabar un snapshotde la partida para retomar luego posiciones por sios matán, este es el mejor momento.
Pasamos las pantallas hacia la izquierda,observando que hay dos niveles. No perdamos eltiempo con los mineros que hay en el nivelsuperior. Sigamos caminando hasta llegar a unapantalla donde el nivel superior tiene un hueco enel centro por el que podemos pasar saltando con lapértiga.
Primero iremos hacia la izquierda. Así que nossituamos bajo el minero de la derecha. Antes desaltar, procuraremos eliminar al menos al minerode la izquierda. Siempre cuidándonos de lasvagonetas, con el boomerang aproximaremos eltiro (de unos 5 puntos de fuerza). Cuando lematemos, saltamos con la pértiga usando 8 puntosde fuerza. ¡Ojo! También hay que esquivar lasnubes de gas.
Una vez en el nivel superior, pasamos a la pantallade la izquierda y nos agachamos nada más entrar.Estos mineros son más agresivos que losindígenas, y nada más vernos empiezan alanzarnos sus herramientas. Agachados comoestamos, cargamos el boomerang al máximo, ycuando haya un hueco entre disparos enemigos, lodisparamos. Con el camino despejado, recogemosla que ya es nuestra cuarta joya. Regresamos a lapantalla anterior, cuidando de eliminar a losmineros con el procedimiento indicado para estapantalla.
Nos dejamos caer, y nos situamos justo en el postede la izquierda. De nuevo con la pértiga a unos 8puntos, saltamos, y llegamos al nivel superior dellado derecho. Hacemos ahora nuestro caminohacia la derecha, eliminando a cuanto se nos cruzaen el camino, y saltando el mini hueco que hay enuna de las pantallas.
Acción complicada: Caer en el tronco y saltarcon la pértiga a donde se encuentra el
escorpión. De lo contrario, el tronco nosllevará al principio del juego
Llegamos a una zona que he dado en llamar ellago, por su gran extensión de agua. Nosagachamos y con el boomerang matamos alhombre que nos ataca. En el agua aparecen unassirenas, que nos lanzan corazones. Estos ataquesno nos restan vida, pero nos aturden lo suficientecomo para sufrir problemas (el aguilucho, caídas alagua, etc.). Cuando el tronco este a nuestroalcance, saltamos sobre él, y con la pértigapasamos al camino superior de la derecha.
14 MAGAZINE ZX Nº 9 – Septiembre 2004
Como antes, al acceder a esta nueva pantallatenemos a un hombre al otro extremo que nosataca, y que tenemos que acabar con él. Otra vezrecurrimos al tronco, en esta ocasión prestandoespecial cuidado de no olvidarnos de la quinta yúltima joya. Saltamos al siguiente camino, yseguimos hacia la derecha, sorteando enemigos yagujeros en el camino. Llegamos a un punto dondese ve a la derecha tierra firme. Como hasta ahora,nos deshacemos del hombre, y usamos el troncopara llegar a la orilla. Saltamos con la pértiga, perocon cuidado de no pasarse. La fuerza debe ser nosuperior a 5 puntos.
En la siguiente pantalla vemos que aparece denuevo el agua, con un tronco, y algunos animales.Acabamos primero con el escorpión (arma avuestra elección), y con el pez (granada, porsupuesto). Esperamos a que aparezca un nuevotronco, con la pértiga seleccionada, y caemossobre él. Nada más caer nos situamos en elextremo izquierdo, cargamos fuerza (unos 5.5puntos) y saltamos. Hay que hacerlo rápido, puesde lo contrario el tronco nos llevará al inicio de lapartida.
Pasamos a la siguiente pantalla, dejándonos caeral suelo, y, agachados, matando a los dosindígenas. Nos situamos a una distancia de unapértiga de la piedra, y con una fuerza de 8 puntos,saltamos por encima de la planta carnívora,pasando de largo la pantalla que hay acontinuación, y llegando a la entrada del templo,donde nos esperan dos nuevos indígenas.Agachados, rápidos y cautelosos, acabamos conellos con el boomerang, y entramos al temploantes de que el aguilucho haga de las suyas.
El guardián del templo nos dejará pasar si lellevamos las cinco joyas que se encuentran
desperdigadas por la selva
Veremos entonces al guardián de la entrada haceruna especie de baile, en el que le entregamos lasjoyas que hemos recogido. Tienen que ser cinco, sison menos, nos reenvia a donde nos faltenrecogerlas.
Una vez en el templo, tendremos que abrirnospaso entre trampas, indígenas y pruebas dehabilidad varias.
Ya en la primera pantalla observamos que el suelose mueve siempre en dirección contraria a la quenosostros caminamos. En el suelo hay unas
marcas de color azul. Cuando las pisamos, selanzan unas flechas desde unas trampas situadasen el techo. Pero antes de tratar de esquivarlas,tenemos que retirar los dos muros que nosbloquean el paso. Como ya es habitual, hay quedemostrar nuestra habilidad con el boomerang.
Sitados justo al principio de la pantalla, lanzamosel boomerang hacia la derecha con la intención deaccionar las palancas del techo. A la primerapalanca la alcanzamos con una fuerza de 4.5,mientras que para la segunda palancanecesitamos 5 puntos de fuerza exactos.
Una vez retirados los muros, pasamos a lasiguiente pantalla, esquivando las marcas azulesdel suelo.
En esta nueva pantalla, nos quedamos de nuevonada más entrar, agachados. Con el boomerang afuerza 5 eliminamos a uno o dos de los indígenas(depende de lo próximos que quedemos a loscinco puntos de fuerza).
Si no hemos eliminado al segundo indígena, el dearriba del todo, no pasa nada. Nos acercamos alborde de la losa azul, sin pisarla, y con la granadapodemos alcanzarle. Para protegernos de suslanzas, basta con agacharnos.
Cuando tengamos el camino despejado,seleccionamos la pértiga y saltamos con unafuerza de 8.8 puntos, pasando de largo lasiguiente pantalla y aterrizando sobre una losatrampa de la pantalla que hay más allá. No pasanada, no hay flechas a esa altura. Recuperamosuna posición segura, y nos agachamos paraprotegernos de la lanza del indígena. De nuevocon el boomerang, a fuerza 5.5, nos quitamos deenmedio a los dos indígenas.
No hay nada como el boomerang para acabarcon los indígenas
Para subir a la plataforma verde, usamos la pértigacon fuerza 6, lo que nos mantiene en la mismapantalla.
La siguiente pantalla tiene una ciertacomplicación, porque tendremos a dos indígenasatacándonos con sus flechas, y a un brujo que semueve por la pantalla, y que no se queda corto ensus ataques. La técnica que mejor me hafuncionado para pasar es entrar corriendo, saltar,lanzando en el aire un boomerang con la máximafuerza, y seguir corriendo hasta la siguiente
Nº 9 – Septiembre 2004 MAGAZINE ZX 15
pantalla.
En la siguiente pantalla tenemos tres plataformas,separadas por sendos huecos, y una barra de panmuy tentadora en el suelo, con el cocodrilo. Sitenemos suficientes vidas, podemos pasar de labarra de pan, que luego resulta difícil salir delhoyo.
Pasamos a la siguiente pantalla, saltando deplataforma en plataforma, y llegamos a unapantalla con un hueco en el centro, fuego en laparte inferior, y un agujero en el techo por el quecaen bolas de fuego. Para colmo, aparecerá enalgún momento un soldado en la parte derecha.Esperamos al soldado, lo matamos, y desde laprimera columna, hacemos nuestro cálculo paradeterminar cuando es el mejor momento de saltarentre las bolas de fuego que caen. No hay reglafija, aunque lo mejor es empezar a correr cuandoveamos que la última bola de fuego de está apunto de caer, saltar el hueco, y continuar hacia laderecha.
Este es otro punto clave del juego. De nuevo,como ya os comenté antes, si tenéis intención deasegurar posición con un snapshot, este es elmejor momento.
Hay que calcular el salto para pasar entre lasbolas de fuego
La siguiente pantalla es la salida del templo. Denuevo en espacio abierto, estamos a merced de laaparición de un aguilucho que nos llevaría deregreso al nido, y por tanto, a repetir toda lapartida desde el principio. Creo que estamos todosde acuerdo en que esto no es algo deseable.
Bueno, nos deshacemos de la serpiente que hayen el suelo con una buena granada, con fuerzaentre 5 y 6 puntos. Nos situamos al borde de laescalera, y saltamos con la pértiga con fuerza 6.Con ese santo lograremos caer justo en el agujerode la siguiente pantalla, entre las dos plantascarnívoras, evitando al mono, y lo que es másimportante, quitándonos de la preocupación deque aparezca el aguilucho.
Caemos por una gruta, en la que nos van a asediarlos murciélagos. Granada en mano, nosdeshacemos de la araña del risco de la izquierda(fuerza 5.5), y si el murciélago no ha subidomucho, nos olvidamos de él, saltando a dondeestaba la araña.
Tenemos que caer por el pozo para entrar enla gruta
Pasamos a la pantalla inferior (nos dejamos caer,vamos), y con un boomerang o con una granada,matamos al murciélago que nos viene de frente.Ahora sí, con la granada, acabamos con laserpiente, y saltamos donde estaba. En la pantallade la derecha tenemos una palanca que se lleva laempalizada de lanzas que en este pantalla. Así queentramos a la derecha, y boomerang en mano,accionamos la palanca (fuerza 3.2). Tenemos queesperar a que aparezca la empalizada en estapantalla, y entonces regresamos a la anterior,cuidándonos de la serpiente (boomerang oespada), y del murciélago (granada).
Saltamos desde el borde hacia la izquierda,cayendo sobre un risco en la pantalla inferior.Damos cuenta del murciélago y de la araña de laderecha. De nuevo saltamos desde el borde, estavez hacia la derecha, cayendo donde estaba laaraña. Caminamos hacia la izquierda, cayendo enla pantalla inferior.
Para quitar la empalizada tenemos queaccionar la palanca que hay en la estancia
contigua
En esta pantalla tenemos de nuevo unaempalizada por debajo, con lo que intuimos que enla estancia de la izquierda debe estar la palancapara retirarla. Primero matamos a la araña y almurciélago. Echamos a correr hacia la izquierda,saltando desde el borde donde estaba la araña.Pasamos a la siguiente estancia, y accionamos lapalanca con el boomerang (fuerza 4.5).
Nos dejamos caer por el hueco. Matamos alescorpión y al murciélago. Toca saltar hacia la
16 MAGAZINE ZX Nº 9 – Septiembre 2004
derecha, por encima de la laguna, y seguircaminando hacia la derecha, saltando por encimade las piedras.
Seguimos hacia la derecha hasta que nosencontramos con un pozo. Este es otro puntonegro, en el que además, si nos caemos por elpozo, podemos dar por perdida la partida, pues nohya forma de salir de él. La forma de sortearlo esusar la pértiga, próximos al pozo, con una fuerdade entre 3.5 y 4 puntos.
Pasado el escollo del pozo, llegamos a unaescalinata con dos murciélagos. Los matamos, ynos situamos en el peldaño en cuyo borde hay unapiedra. Gracias a la piedra tenemos longitudsuficiente para usar la pértiga. Saltamos con lapértiga con 8 puntos de fuerza, cayendo en laentrada de un nuevo templo.
Hay que eliminar a los indígenas, teniendo muchocuidado de que el aguilucho no nos capture.
¡Mucho cuidado con este pozo! Si caemos enél no podremos salir
Entramos en el templo y allí encontraremoscómodamente sentado a quien estabamosbuscando... ¿o tal vez no? ;-P
Livingstone, supongo...
LINKS● Descarga la solución completa en formato RZX:
http://www.speccy.org/magazinezx/revistas/9/rzx/livingstone_rzx.zip
● Descarga el mapa de la aventura:http://www.speccy.org/magazinezx/revistas/9/img/livingstone_mapa.zip
Nº 9 – Septiembre 2004 MAGAZINE ZX 17
SIEW
NAME THE GAME
Si en el mundo del Spectrum, sobre todo en la escena española, existen lasmodas, es algo que merecería un estudio un día de estos.
Está claro que el conjunto deaficionados al Spectrum está formadopor personas más o menos normales
y que, por lo tanto, pueden verseatraídas por modas pasajeras, como elresto de los mortales, pero... ¿modasrelacionadas con el Spectrum? Laweb que analizamos en esta ocasión,'Name the game', está de moda. Sólocon visitarla podremos observarcomo es seguida por un gran númerode entusiastas españoles, conocidosen es.comp.sistemas.sinclair. ¿Quétiene esta web para ser tan atrayente?
Lo que está claro es que 'Name thegame' engancha. El reto que proponees tan simple como adivinar el títulodel juego al que pertenecen lascapturas de pantalla que se nos vanmostrando, entre una serie de
opciones. Es algo tan simple quesorprende que no se le haya ocurridoa nadie antes.
DISEÑOAl abrir la página con nuestronavegador, veremos también lasimpleza de su diseño. Si no estamosregistrados todavía (ya hablaremos deello más tarde), podremos distinguirtres zonas principales, utilizando uncolor 'blanco oscuro' de fondo y uncolor negro para la fuente, a modo depantalla del televisor cuando se usaun Spectrum. En la parte central,podremos observar una pantalla deejemplo (que es diferente cada vezque accedemos a la web), con unmensaje retándonos a que nosenfrentemos a las personas ya
registradas hasta el momento (a lahora de escribir esto, son un total de128 los registros contabilizados).Siguiendo en la parte central, ydebajo de esta pantalla de ejemplo,vemos las noticias relacionadas conel sitio. Todo el diseño nos recuerda acualquier página creada con un gestorde contenidos como Drupal oGeeklog (un ejemplo de webgenerada con este tipo deaplicaciones es speccy.org).
En la parte derecha tenemos elranking. Es increíble ver como lainmensa mayoría de los jugadores enprimeras posiciones son españoles (ymuy conocidos para los habituales delas news de Spectrum en español).Podremos ver la nacionalidad de cadauno, una barra de color verde y rojoque nos indica la proporción deaciertos con respecto a la de fallos, elnombre del jugador y su puntuación.Si además pulsamos sobre el nombrede un jugador podremos ver elhistorial de aciertos y fallos de dichojugador (la fecha y la hora en la quese participó, el nombre del juegopreguntado, si fue un acierto o unfallo, el número de aciertos y falloshasta el momento, y la puntuación,remarcando en color rojo las líneascorrespondientes a los fallos). Estapágina de estadísticas, según el autordel sitio web, propicia el que sepueda comprobar si determinadojugador hace trampa haciendo uso dealgún programa que se conecteautomáticamente a la red y contestemuy rápido. Es algo que se haañadido de forma reciente y quetodavía no sabemos si permitirá
18 MAGAZINE ZX Nº 9 – Septiembre 2004
Punto de entrada a la web
cumplir el objetivo de detección detrampas.
En la parte izquierda de la pantallaprincipal tenemos varios cuadros coninformación. En el primero podremosacceder al juego si ya somos usuariosregistrados, o registrarnos en casocontrario. En el segundo podemos ver
el número de jugadores registradoshasta el momento, así como el aliasdel último que lo hizo, cuántos hayconectados en ese instante, y el aliasdel último usuario registrado que seconectó a la página. El tercer cuadroindica la cantidad de juegosdisponibles en la base de datos (demomento 1000), cuántas veces se hajugado, cuántas veces se ha acertado y
cuántas se ha fallado. En el cuartopodremos ver algunas estadísticasdel sitio.
El siguiente cuadro es altamenteinteresante. Cada vez que entremosen la página se nos mostrará unenlace aleatorio a alguna páginasobre el Spectrum (no sólo páginas
inglesas; en unade las ocasionesel autor de estecomentario pudover en este cuadroun enlace a lapágina de Horacecomentada en elnúmero anteriorde MagazineZX).Por último, en elcuadro situado alfinal de esacolumna de laparte izquierdapodremos accederal típico libro devisitas.
REGISTRÁNDONOSRegistrarse es muy sencillo... ¡yademás gratis!. Debemos comenzarpulsando sobre el enlace 'register'situado en el primero de los cuadrossituados en la parte izquierda de lapágina principal, tal como muestrala siguiente imagen:
La pantalla de registro es muycuriosa. De hecho, aunque a lo mejorno es tan raro, el autor nunca habíavisto nada similar. Además delformulario de registro, podremosconsultar a la izquierda un listado conTODOS los jugadores que se hayanapuntado hasta el momento.Examinando este listado vemos comootros habituales dees.comp.sistemas.sinclair que noaparecen en la lista de jugadores conmás puntuación también estánapuntados. Los nombres aparecen entres colores, azul si es masculino,rosa/violeta si es femenino, y negro(es de suponer que son jugadores delos que no se dispone informaciónsobre su sexo porque se este dato seemepezó a pedir más tarde de queellos se registraran).
En el formulario deberemos introducirun alias y una contraseña para accedera la página, una dirección de correo,nuetro sexo y nuestro país deprocedencia. Tras completar elregistro, volveremos a la páginaprincipal, desde donde podremosacceder introduciendo nuestro alias ycontraseña en la parte izquierda.
JUGANDOUna vez entramos con nuestro alias ycontraseña, son dos los cambiossignificativos que vemos en la página,con respecto a la página principal. Poruna parte, en el primer cuadro de laparte izquierda, los campos delformulario para introducir alias ycontraseña desaparecen paramostrarnos información sobre nuestrapropia cuenta, como nuestrapuntuación, el número de juegos quehemos intentado adivinar, nuestrosaciertos, y nuestros fallos. Tambiéndispondremos de dos enlaces, 'Logout'para deshabilitar nuestro acceso, y'Account'. para cambiar los datos denuestra cuenta. Sobre estos dosenlaces una barra, con colores verde yrojo nos mostrará la proporción deaciertos y fallos que hemos tenido.Con respecto a la columna central,todas las noticias desparecen, yaperece la pantalla del juego quedebemos adivinar, con cinco posiblesrespuestas, de las que debemos
Nº 9 – Septiembre 2004 MAGAZINE ZX 19
Ejemplo de estadísticas de un jugador determinado
¿Dónde tengo que pulsar para registrarme?
seleccionar una. Como se puede leeren la página principal, conformenuestra puntuación es mayor, elnúmero de respuestas crece, parahacer el reto todavía más atrayente. Escurioso cómo justo debajo de lacaptura de pantalla del juego del cualtenemos que adivinar su nombreaparece otra barra de colores verde yrojo que nos muestra la proporción deveces que el resto de jugadores hanacertado o fallado a la hora deadivinar a qué juego pertenece.
Al dar alguna respuesta veremos otrade las medidas antitrampa: una esperade un segundo entre respuesta yrespuesta. Esto que en un principiopuede parecer una buena solución,tampoco perjudica demasiado a lostramposos, en opinión del autor deeste texto, pues todavía se podríadejar un programa jugando de formaautomática, solo que en lugar derespuestas inmediatas daría unarespuesta cada segundo. Otra medidaantitrampas consiste en que cuando eljugador pulsa sobre logout y se vuelvea identificar más tarde poniendo sualias y contraseña, el juego que se le
preguntaba antes del logout será elmismo que se le preguntará trasvolver a acceder, de tal forma que seevita que ante un juego que noconoce, el jugador intente salir y
volver a entrar para que le preguntenotro.
CONCLUSIONESMuy divertido. Mientras elaborabaeste comentario yo mismo me he vistoenganchado y he tenido que parar envarias ocasiones para jugar un rato.Con respecto a la web en sí misma, eldiseño es austero pero agradable, conla información justa. Más florituras lasobrecargarían y entonces se perderíaparte de la gracia.
Se nos ocurren varias sugerencias. Porejemplo, que en el ranking de lapágina principal aparezca el númerode puesto en el que se encuentra eljugador. Esto para las primerasposiciones no es tan importante, perocuando empiezas a consultar la partemedia de la tabla o la cola, te pierdesy al final no sabes en qué posiciónestá cada jugador. ¿Todavía no lo hasprobado? Entonces no estás en laonda...
PUNTUACIÓN: 7
LINKS ● Name The Game : http://ntg.docaj.net/
● speccy.org : http://www.speccy.org/
20 MAGAZINE ZX Nº 9 – Septiembre 2004
El formulario de registro y la lista de jugadores ya apuntados
¿De cuál de los juegos que se nos dice se tratará el que nosmuestra el pantallazo?
SIEW
CREANDO UNA AVENTURA CONVERSACIONAL CONZ88DK (III)
Terminamos en esta entrega con la explicación de las herramientas de texto de lalibrería z88dk aplicadas a un juego en concreto, nuestra aventura conversacionaldel pirata Guybrush Threpwood. Desde luego, con todo lo explicado no se pretendeque el resultado final sea una aventura conversacional completa, eso conllevaría untrabajo adicional por parte del lector de la serie, sino que se sienten las bases paraaprender a manejar estas herramientas de texto mediante un ejemplo práctico.
A partir de la siguiente entrega dejaremos atrás laparte de la librería referente al texto y pasaremos alos gráficos.
¿QUÉ NECESITAMOS?Lo mismo que se ha venido utilizando hasta elmomento: el archivo aventura.c con el códigofuente de nuestro juego, el archivo datos.h con lasestructuras de datos que vamos a utilizar y elarchivo Makefile, en el caso de que lo estemosutilizando.
CREANDO UN PIRATA QUE SEMUEVE POR LA TABERNAUna parte muy importante de las aventuras suelenser los PSI o Personajes Pseudo Inteligentes (talcomo son llamados en el PAWS o en las aventurasde AD, por ejemplo). Básicamente, un PSI selimitará a deambular por alguna parte del mapeadode la aventura (aunque también podría estar fijo enuna localización) y a responder a ciertas accionesque hagamos, e incluso podría hablar con nosotros.
Lo que pretendemos en esta entrega es la creaciónde un pirata que se mueva por la taberna (y sólopor la taberna, no saldrá fuera de ella ni irá alcallejón), con el que podremos hablar, darle la jarrapara que se emborrache, e incluso pelear con laespada.
La única información que tenemos que almacenarpara que nuestro pirata cumpla con nuestrosobjetivos es la habitación en la que se encuentraen ese momento y si ha bebido de la jarra (y, por lotanto, está borracho). Esto lo haremos mediante eluso de dos variables declaradas al inicio delmétodo main (las líneas en rojo, como enanteriores ocasiones, nos indican cambios respectoal código de anteriores entregas):
void main(void){
int habitacion = 0; int final = 0; char comando[250]; int i; int hayObjetos; char palabra[50]; int pesoTransportado; int localizacionPirata = 5;La variable localizacionPirata nos va a indicar enqué habitación se encuentra el pirata en cadamomento. Hemos hecho que su localización inicialsea la que se encuentra en la posición 5 del arrayde habitaciones (el reservado de la taberna). Estevalor podrá cambiar aleatoriamente a lo largo de laaventura. Tras cada comando del jugador, sedeterminará al azar si el pirata cambia o no dehabitación y hacia cuál. La variable borrachoPirataindica si el pirata está borracho porque le hemosdado la jarra. Solo le asignaremos el valor 0 si no loestá o el valor 1 si lo está; es por ello queempleamos un tipo short int, pues no vamos anecesitar reservar más memoria.
Lo siguiente que vamos a escribir es la parte delcódigo que determina aleatoriamente si el pirata seva a mover o no y hacia donde. Todo esto lointroducimos dentro de una función de tal formaque luego podremos ponerlo en la parte quequeramos. La función, que debe ser definida antesde main, tendría la siguiente forma:
int movimientoPirata(int localizacionPirata, THabitacionhabitaciones[], int habitacion){ int probabilidadMovimiento; int localizacionAnterior = localizacionPirata;
probabilidadMovimiento = rand()/(RAND_MAX/4);
if (habitaciones[localizacionPirata].direcciones[probabilidadMovimiento] > 2) { localizacionPirata = habitaciones[localizacionPirata].direcciones[probabilidadMovimiento]-1;
Nº 9 – Septiembre 2004 MAGAZINE ZX 21
if (localizacionAnterior != localizacionPirata) if (localizacionPirata == habitacion) printf("El pirata entra en la habitacion.\n\n"); else if (localizacionAnterior == habitacion) { printf("El pirata sale de la habitacion hacia el "); if (probabilidadMovimiento == 0) printf("norte."); else if (probabilidadMovimiento == 1) printf("este."); else if (probabilidadMovimiento == 2) printf("sur."); else printf("oeste"); printf("\n\n"); } }
return localizacionPirata;}
En un momento explicaremos qué hace todo estecódigo, pero antes, un apunte. Ya que vamos autilizar la función rand(), hemos de tener en cuentaque esta función se encuentra definida en elinterior del archivo de cabecera stdlib.h, que nohemos incluido hasta el momento. Por ello,deberemos añadir la siguiente línea al inicio delarchivo, junto al resto de las cláusulas #include:
#include <stdlib.h>
Una vez aclarado esto, continuamos. La funciónrecibe como parámetro la localización actual delpirata, el array de habitaciones, y la habitaciónactual en la que se encuentra el jugador.Recordemos que tanto el primer como el tercerparámetro indican posición dentro del array dehabitaciones. La función devolverá un entero queserá la nueva localización del pirata (tanto si se hamovido como si no).
Lo primero que se hace en la función es declarardos variables, probabilidadMovimiento, quealmacenará en qué dirección intenta moverse elpirata, y localizacionAnterior, que contiene lalocalizacion del pirata tal como se encuenta aliniciar la función, para guardar el valor anterior enel caso de que éste cambie.
La siguiente línea es la que determina al azar enqué dirección intentará moverse el pirata. Hemosde tener en cuenta que hemos decidido que elpirata sólo se podría mover por el interior de lataberna y, por supuesto, sólo podrá moverse endirecciones correctas, pero esto lo veremos másadelante. Para obtener números aleatorios, se haceuso de la función rand(). Esta función se llama sinparámetros y devuelve un entero aleatorio entre 0y RAND_MAX, que tiene un valor de 32767 (segúnestá definido en stdlib.h). Sin embargo, a nosotrosnos interesa obtener un valor entre 0 y 3 (losposibles índices del array de direcciones dentro dela estructura THabitacion). Es por ello querecurrimos al truco que se muestra en el código.
Si en Linux ejecutamos man rand, veremos que allíse nos explica una técnica para poder calcularnúmeros aleatorios en un rango determinado (de 1a 100, por ejemplo). Sin embargo, no podemoshacer uso de esta forma con z88dk, pues no seadmiten los números de coma flotante. Tampocopodríamos multiplicar rand() por cuatro y después
dividir, porque podríamos desbordar la capacidaddel entero; es por ello que calculamos el enteroentre 0 y 3 de la forma tan rebuscada que semuestra en el código. Si quisieramos que fuera de1 a 4 sería igual, pero sumando 1 al total.Deberemos recordar esto siempre que queramoscalcular un número aleatorio en un rangodeterminado (por ejemplo, una tirada de dado).
En la siguiente línea, correspondiente al if, esdonde controlamos que el pirata se mueva si y solosi el momvimiento es correcto.
if (habitaciones[localizacionPirata].direcciones[probabilidadMovimiento] > 2)
Dentro de la habitación correspondiente en el arrayde habitaciones cuyo índice se corresponde con lalocalización del pirata, comprobamos el valor dehabitación a la que se movería el pirata según ladirección calculada al azar y almacenada enprobabilidadMovimiento. Sólo realizaremos lassiguientes acciones (que se explicarán acontinuación) si este valor es mayor de 2. ¿Por quéesto es así? Porque si valiera 0, sería un movimentoincorrecto (no hay habitación en esa dirección), ylos valores 1 y 2 se corresponden con lashabitaciones del juego situadas fuera de la taberna,por donde habíamos acordado anteriormente queel pirata no se podría mover.
Si esta condición se cumple, se ejecutará elsiguiente trozo de código:
localizacionPirata = habitaciones[localizacionPirata].direcciones[probabilidadMovimiento]-1; if (localizacionAnterior != localizacionPirata) if (localizacionPirata == habitacion) printf("El pirata entra en la habitacion.\n\n"); else if (localizacionAnterior == habitacion) { printf("El pirata sale de la habitacion hacia el "); if (probabilidadMovimiento == 0) printf("norte."); else if (probabilidadMovimiento == 1) printf("este."); else if (probabilidadMovimiento == 2) printf("sur."); else printf("oeste"); printf("\n\n"); }Primero hacemos que la nueva localización delpirata sea a la que se movería según la direccióncalculada al azar (restamos uno, porque el arraydirecciones almacena identificadores de habitación,no índices dentro del array de habitaciones). Losiguiente es informar al jugador de que el pirata haentrado o ha salido de la habitación en la queactualmente se encuentra. Como el pirata se hamovido, si la habitación actual del pirata es lamisma que la del jugador, eso quiere decir que elpirata ha entrado en la misma habitación en la queestaba el jugador, por lo que mostramos elmensaje adecuado. Por otra parte, como el piratase ha movido, si la localización anterior del pirataera igual a la habitación en la que se encuentra eljugador, eso quiere decir que el pirata ha salido deesa habitación, por lo que mostramos un mensajeindicando hacia donde ha salido, según el valoraleatorio de probabilidadMovimiento.
Lo último que hace la función es devolver el valor
22 MAGAZINE ZX Nº 9 – Septiembre 2004
de localizacionPirata, tanto si ha cambiado como sino.
Si ahora probáramos nuestra aventura, todavía nopasaría nada, porque no hemos incluido estafunción en ningún lugar del código de main. Parececlaro que si queremos determinar si el pirata semueve después de cada movimiento del jugador,deberíamos llamar a esta función dentro delintérprete de órdenes, pero... ¿dónde?. Un buenlugar sería justo al comienzo de dicho intérprete deórdenes (el código en rojo es código nuevo):
escribirDescripcion(habitaciones,habitacion,objetos);while (final == 0){ localizacionPirata = movimientoPirata(localizacionPirata,habitaciones,habitacion); printf("Que hago ahora? - "); gets comando;
El pirata es muy juguetón y no para demoverse...
Evidentemente, el valor devuelto pormovimientoPirata deberá ser almacenado en lavariable localizacionPirata para que los cambiostengan lugar. Si ahora jugamos nuestra aventurapodremos ver como a veces se nos informará delas entradas o salidas del pirata, pero no sabremosnunca a ciencia cierta donde se encuentra... faltaun detalle... que se nos indique que el pirata seencuentra en la misma habitación que nosotros enel caso de que esto sea así, aunque no se mueva.
Por lo tanto, al final de la funciónescribirDescripción, que mostraba por pantalla ladescripción de la habitación en la que nosencontrábamos, debemos añadir las líneas en rojo:
if (hayObjetos == 0) printf(" nada"); printf("\n\n"); if (habitacion == localizacionPirata) printf("El pirata esta aqui.\n\n");
Simplemente comprobamos si la localización actualdel pirata se corresponde con la habitación en laque se encuentra actualmente el jugador, y en caso
de que sea así, se muestra un mensaje porpantalla. Introducir este cambio implica pasar unnuevo parámetro a la función escribirDescripción:
void escribirDescripcion(THabitacion habitaciones, int habitacion, TObjeto objetos, int localizacionPirata)
Y por supuesto, añadir este nuevo parámetro atodas las llamadas a la función que se hagandentro de main(). Si jugamos ya tendremos unpirata autista moviéndose por nuestro mundo,incapaz de comunicarse con nosotros y que noreacciona ante ninguna de nuestras acciones. Lassiguientes dos secciones tratarán de cambiar esto.
INTERACTUANDO CON ELPIRATADar la capacidad al jugador de hablar con los PSI esalgo complicado, pues sería necesario implementarun analizador sintáctico que permitiera al juegointerpretar las palabras del jugador. Sería como unintérprete de comandos dentro del intérprete decomandos, pero algo más complicado. Esto, desdeluego, queda fuera del objetivo de este artículo. Sinembargo, puede ser interesante indicar elcomienzo del camino a seguir para que sea elpropio lector el que pueda añadir estafuncionalidad de forma elaborada a su aventura, ya la vez hacer un par de anotaciones sobrecaracterísticas de las cadenas en z88dk.
El pirata parece un poco tonto, pero sabe másde lo que dice...
Vamos a hacer que el jugador le pueda decir cosasal pirata, pero que éste sólo entienda la palabra"ayuda". Si el jugador dice "ayuda" al pirata, éste ledirá qué es lo que tiene que hacer para terminar eljuego (vencerle con la espada). Si el jugador dicecualquier otra cosa, el pirata no le entenderá.Como en la mayoría de las aventuras, el jugadordeberá teclear algo similar a lo siguiente parapoder decirle algo a un PSI:
decir "frase"
Como sólo hay un PSI en nuestra aventura vamos a
Nº 9 – Septiembre 2004 MAGAZINE ZX 23
obviar el 'decir a', de forma que todo será mássencillo. De todas formas, si nos fijamos, lo quedice el jugador se encuentra entre comillas.Cuando tengamos que analizar el comandointroducido por el jugador en el intérprete decomandos, tendremos que hacer uso de cadenasque almacenan comillas en su interior... ¿cómopodemos hacer esto sin que nos dé un error?. Sinosotros tecleamos en un programa printf(""hola""); esperando que la salida sea "hola", nosllevaremos un chasco porque no funcionará.Deberemos hacer uso de las secuencias de escape.
En realidad, en entregas anteriores ya hemoshecho uso de algunas secuencias de escape (porejemplo, \n ó \0). Una secuencia de escape es unsímbolo de barra invertida \ seguido de un carácter.Su misión es introducir un carácter especial dentrode una cadena. Por ejemplo, la secuencia deescape \n introduce un salto de línea en la cadena,la secuencia de escape \a (en C estándar) hacesonar un pitido, etc. Si queremos introducir unascomillas dentro de una cadena para que formenparte de esa cadena (y no se interpreten comodelimitador de la misma), deberemos hacer uso dela secuencia de escape \". De esta forma, siquisiéramos escribir "hola" por pantalla, lainstrucción que debemos incluir en nuestroprograma podría ser printf("\"hola\""). El primer yúltimo carácter de comillas son los delimitadoresde la cadena, mientras que los símbolos decomillas precedidos por \ se escribirán por pantalla.
Dicho esto ya podemos introducir en nuestrointérprete de comandos las sentencias adecuadaspara que el jugador pueda dialogar (de formalimitada) con el pirata. Introducimos el siguientecódigo justo después del comando "apagarantorcha" y justo antes de los comandos de más deuna palabra (el código en rojo es el que seintroduce):
} else if (localizacionPirata == habitacion) // comandos del pirata { strcpy(palabra,strtok(comando," ")); if (strcmp(comando,"decir") == 0) { strcpy(palabra,strtok(0,"\0")); if (palabra == 0) printf("\n\nQue es lo que quieres decir?\n\n"); else { if (!strcmp(palabra,"\"ayuda\"")) printf("\n\nEl pirata dice \"venceme con laespada si deseas convertirte en un gran bucanero\"\n\n"); else printf("\n\nEl pirata no entiende lo quedices.\n\n"); } } } else // Comandos con más de una palabra {
Para entrar en esta parte del código e interpretarlos comandos introducidos por el jugador
relacionados con el pirata, deberemos comprobarque el pirata y el jugador se encuentran en lamisma habitación. En caso de que no sea así, no seentrará en esta parte del código y se mostrará eltípico mensaje de error cuando se introduce uncomando incorrecto. De esta forma, si el jugadorintrodujera alguno de los comandos relacionadoscon el pirata sin haber descubierto previamente suexistencia, no se le dará ninguna pista sobre ello.
Haciendo uso de strtok (cuya explicación se realizóen la entrega anterior), comprobamos si la primerapalabra del comando del jugador es decir. En casode que sea así, tratamos de analizar qué es lo queha dicho el jugador. Usando strtok de nuevoextraemos el resto del comando introducido deljugador, y lo comparamos con la cadena "ayuda"(haciendo uso de la secuencia de escape \" parapoder introducir comillas dentro de la cadena). Encaso de que el jugador haya dicho exactamenteeso, el pirata le dará la pista que necesita. En casocontrario, el pirata ignorará al jugador.
Como se puede comprobar, el pirata no es unhombre de muchas palabras. De todas formas, conesto quedan sentadas las bases para una posibleampliación de su vocabulario (lo cual se deja comoejercicio al lector).
FINALIZANDO NUESTRAAVENTURAPor último vamos a permitir que Guybrush llegue aser pirata. Para ello, vamos a introducir lasmodificaciones necesarias en el intérprete decomandos para que se pueda finalizar la aventura.
Como le dice el pirata a Guybrush si éste le pideayuda, para poder llegar a ser un pirata de verdaddeberá vencerle con la espada. Pero no es tan fácil,pues el pirata es un hábil espadachín que sólopodrá ser vencido si está ebrio. Por lo tanto, parafinalizar la aventura, Guybrush deberá darle alpirata la jarra de grog que lleva desde el inicio dela aventura para que éste se emborrache, y lucharo pelear con la espada.
El código que debemos introducir en el intérpretede comandos, y dentro de la parte correspondientea los comandos relacionados con el pirata, es elsiguiente:
else if (localizacionPirata == habitacion)// comandos del pirata{ if (!strcmp(comando,"dar jarra a pirata")) { if (objetos[1].localizacion == -1) { printf("\n\nEl pirata coge la jarra y se bebe sucontenido...\n\n"); sleep(1); printf("\n\n... el pirata sigue bebiendo...\n\n"); sleep(1); printf("\n\n... el pirata tiene sintomas evidentes deembriaguez.\n\n"); borrachoPirata = 1; objetos[1].localizacion = -2; pesoTransportado -= objetos[1].peso;
24 MAGAZINE ZX Nº 9 – Septiembre 2004
} } else if (!strcmp(comando,"luchar con pirata") || !strcmp(comando,"pelear con pirata")) { if (objetos[0].localizacion == -1) { if (borrachoPirata == 0) { printf("\n\nEl pirata te vence sindificultades...\n\n"); } else { final = 1; printf("\n\nEl pirata esta tan borracho que nopuede ni aguantar la espada... \n\n"); sleep(1); printf("\n\nTras un larga lucha...\n\n"); sleep(1); printf("\n\nUna larga, larga, lucha...\n\n"); sleep(1); printf("\n\nConsigues vencerle!!\n\n"); sleep(2); printf("\n\n\n\nFELICIDADES. Has conseguidocompletar la aventura y convertirte en un GRAN pirata!\n\n"); } } } else { strcpy(palabra,strtok(comando," ")); if (strcmp(comando,"decir") == 0) { strcpy(palabra,strtok(0,"\0"));
Se ha añadido código para interpretar doscomandos: dar jarra a pirata y luchar con pirata (opelear con pirata (Siempre sería deseable que eljugador pudiera utilizar sinónimos para las accionesque deba realizar). Vamos a analizar cada una deestas partes por separado.
Con respecto al código para dar la jarra al pirata:
if (!strcmp(comando,"dar jarra a pirata")){ if (objetos[1].localizacion == -1) { printf("\n\nEl pirata coge la jarra y se bebe sucontenido...\n\n"); sleep(1); printf("\n\n... el pirata sigue bebiendo...\n\n"); sleep(1); printf("\n\n... el pirata tiene sintomas evidentes deembriaguez.\n\n"); borrachoPirata = 1; objetos[1].localizacion = -2; pesoTransportado -= objetos[1].peso; }}
Comenzamos por comprobar si el jugador tiene lajarra en el inventario (que el objeto 1, la jarra, tiene-1 como valor de localización, lo cual quiere decirque está en el inventario del jugador). En el casode que sea así, mostramos tres mensajes de texto
con printf informando al jugador de la nuevasituación ebria del pirata. Entre mensaje y mensaje,para añadir mayor dramatismo, se hace uso de lafunción sleep (que forma parte de stdlib.h). Elparámetro de sleep indica el número de segundosque se detendrá la aplicación. Lo siguiente es darleel valor de 1 a la variable borrachoPirata,almacenando el estado de embriaguez del mismo.Por último, hacemos que la localización de la jarrasea -2 (con lo cual no está en el inventario deljugador, y tampoco en ninguna de las habitaciones:es imposible que el jugador vuelva a encontrasecon la jarra) y le restamos su peso al pesotransportado por el jugador. La jarra está'destruida' y no podrá volver a utilizarse en laaventura.
Y con respecto al código de la espada:
else if (!strcmp(comando,"luchar con pirata") || !strcmp(comando,"pelear con pirata")){ if (objetos[0].localizacion == -1) { if (borrachoPirata == 0) { printf("\n\nEl pirata te vence sindificultades...\n\n"); } else { final = 1; printf("\n\nEl pirata esta tan borracho que no puede ni aguantar la espada... \n\n"); sleep(1); printf("\n\nTras un larga lucha...\n\n"); sleep(1); printf("\n\nUna larga, larga, lucha...\n\n"); sleep(1); printf("\n\nConsigues vencerle!!\n\n"); sleep(2); printf("\n\n\n\nFELICIDADES. Has conseguido completarla aventura y convertirte en un GRAN pirata!\n\n"); } }}
Primero comprobamos si la espada está en elinventario del jugador (si el valor de localización delobjeto 0, correspondiente a la espada, es -1). En elcaso de que sea así, se comprueba si el pirata estáborracho, según el valor de la variableborrachoPirata. Si vale 0, el pirata no estáborracho, por lo que mostramos simplemente unmensaje de texto indicando que al estar sobrio elpirata vence al jugador sin dificultades.
En el caso contrario, la variable valdrá 1 y el pirataestará borracho. Le damos a la variable final elvalor 1, indicando que el juego ha terminado. Sirecordamos el código, veremos que al principio delintérprete de comandos había una sentencia whileque hacía ejecutarse este intérprete hasta que elvalor de la variable final cambiara. Pues bien, porfin podremos terminar la avenura. Lo siguiente esmostrar unos cuantos mensajes con printf,enfatizando con sleep, relatando la tremenda luchacon el pirata. Para el último mensaje, el de
Nº 9 – Septiembre 2004 MAGAZINE ZX 25
felicitación, se deja una espera más larga, paraañadir algo de tensión escénica.
No había presupuesto para un final másespectacular
¡Y ya está! Tenemos una aventura simple perocompleta, que puede ser terminada por un jugadoravispado.
RESUMENDurante estos tres artículos hemos desarrolladouna sencilla aventura conversacional, con elobjetivo de mostrar las características de lasherramientas de texto de z88dk. Los resultados sonpoco espectaculares, pero hemos conseguidometer la cabeza y perder el miedo.
Lo que se habrá podido comprobar es que estasherramientas de texto son lentas. Esto quiere decirque solo se podrían utilizar con aplicaciones ojuegos exclusivamente basados en texto. Para otrotipo de juegos, deberemos emplear otras técnicas,que iremos viendo conforme se presenten másentregas de z88dk.
¿Y a partir de ahora qué? Empezaremos a trabajarcon conceptos gráficos y crear juegos más 'bonitos'visualmente. Veremos de qué capacidades hacegala z88dk para poder programar juegos deSpectrum en C. Pero todo esto, a partir delsiguiente número...
LINKS Archivos fuente del ejemplo propuesto (fuentes.zip)http://www.speccy.org/magazinezx/revistas/9/src/fuentes.zip
1
SpeccyTour Player
SPECCY TOUR, un vistazo atrás y otro hacia delante.
Ya son cuatro las ediciones del Speccy Tour celebradas, desde que se crease elevento por Michael Bruhn en el año 2000. En esta primera competición losparticipantes mandaban snapshots de la puntuación como prueba de lapuntuación obtenida. Era un sistema mediante el cual todo el mundo podíaparticipar con el único requisito de una conexión a internet y un emulador.Como inconveniente, no había forma de controlar si un jugador salvaba ycontinuaba repetidamente su partida, dándose algunas suspicacias debido a larapidez con la que algunos superaban sus records en los últimos compases dela competición. En líneas generales, esta competición fue un buen comienzo, yla competición se llevó con diligencia por parte de Michael.
En el 2001 Ramsoft hizopúblico su formato AIR, me-diante el cual, el desarrollo deuna partida podía grabarse yreproducirse tal y como se
había producido. Bruhn apostópor esta tecnología sacrifi-cando la accesibilidad de lacompetición. Se ganaba enseriedad y fiabilidad de re-
sultados, pero se restringía lacompetición a los usuarios delcitado emulador de Ramsoft,generando por ello no pocascríticas.
26 MAGAZINE ZX Nº 9 – Septiembre 2004
Con la perspectiva que pro-porciona el paso del tiempo,parece que acertó en estaapuesta, pues el éxito delformato produjo que la escenadel Spectrum se pusiesemanos a la obra para buscaralternativas a este formato, ya ser posible, que éste fueseuniversal, independientemen-te del emulador que seutilizase. En lo que al apartadoorganizativo se refiere, estaedición también se organizóde una forma correcta yajustada a los plazos. Elnúmero de participantescreció a pesar de la restriccióna usuarios de RealSpectrum, yde la cosiguiente limitación ausuarios del sistema operativoDOS.
En el 2002 cambiaron losmiembros de la plantillaorganizadora del Speccy Tour.Michael Bruhn cedió pordecisión propia el testigo alSerbio Aleksandar Lukic y alEspañol Iván Ruiz Etxabe, quehabían sido colaboradores enla edición anterior.
A estas alturas el RZX, elformato universal en lo que agrabación de partidas serefiere, ya había sido con-cebido, pero los emuladoresque lo soportaban no teníanmedidas de seguridad sobre elmismo, tales como el controlde la velocidad de laemulación etc. Por tanto, unavez más, el RealSpectrum fuede inicio el único emulador dela competición. Claro está, lasituación no era la misma delaño anterior, puesto el númerode usuarios de otras plata-formas (linux) era creciente, ylas quejas por ende, también.El criterio seguido por losnuevos directores erarespetable, pero debieronceñirse a él, y no introducir laposibilidad de usar RZX, sólocon el RealSpectrum paraWIN32 (en una versión hechapara la ocasión) una veziniciada ya la competición. Fueuna decisión precipitada, por-que no hubo tiempo material
de hacer las pruebaspertinentes, y sólo solucionabael problema a un reducidonúmero de usuarios. Lacompetición como tal, tuvo unincremento considerable departicipantes, lo cual fuepositivo. La competición sedesarrolló normalmente hastalas últimas semanas en lasque hubo un retrasoconsiderable para publicar lastablas semanales.
Y por último el 2003. Mismosorganizadores, con laañadidura de Kak.
En esta última edición losobjetivos eran más ambi-ciosos. Nuevas plataformas,nuevos emuladores (Specta-culator, FUSE), jugadores detodo el planeta, premios...
Algunos de estos objetivos sesalvaron dignamente, perootros fueron un fracaso. Lanovedad de los nuevosemuladores trajo consigo unosproblemas de compatibilidadinicialmente, aunque se puedeentender que no se hiciesenlas pruebas oportunas condebida antelación, ya que selogró la inclusión de losmismos a última hora, y lademanda de estos era grande.
El aspecto más criticable fueuna vez más cómo se ges-tionaron las últimas semanasde tour, la publicación de losresultados definitivos se alargóno semanas, sino meses,mientras la página del tourdecía que iba a ser inminente,¿será el influjo de RAMSOFT?.
Lo malo de este tipo desituaciones es que desanimanal jugador, si se pone muchoénfasis en la seguridad delformato y en que cumpla unaserie de requisitos, es porquela competición quiere tenertintes serios, y por tanto sugestión debe estar a la alturade las circunstancias.
No fue así. Uno se podríapreguntar para qué se ponetanto énfasis en que losemuladores tengan medidas
de seguridad si luego estánmeses sin confirmar laspartidas. Se estaría dando larazón a los que opinan que lacompetición habría de ser másrelajada.
Otro de los aspectos que dejóla sensación de improvisar esla selección de juegos. Tantoen la última como en laanterior edición hubopolémicas con algún juego.
En el caso al que me refiero, elArcadia, a las tres semanas yahabía jugadores ciclandoindefinididamente el juego.Esto ya había ocurrido, de otraguisa, con el Raid overMoscow la edición anterior.Bien es verdad que son lospropios jugadores los queeligieron los juegos a jugar,pero el pozo de juegos desdedonde se escoge deberíahaber sido más estudiado, sinlugar a dudas. Maziacs fueotro ejemplo de que esteproblema no es un hechopuntual. Además no hay queolvidar que tal y como fueronmontadas las cosas,cualquiera podía registrarse nveces, aduciendo pertenecer alas Islas Salomon o Krakatoa yvotando por su juego favorito.Es a todas luces claro que alfin y a la postre sólo el 38% delos apuntados luego realmentedisputa la competición, por loque la justicia del sistemaactual de votaciones queda,cuando menos, en duda.
Sin embargo, de lo que nocabe duda es que tanto Ivan,Aleksandar, Kak... hacen estoporque les gusta, y que nosproporcionan buenas dosis dediversión.
Esperemos que con las cosasmás asentadas y con menosinminencias las cosas vuelvana su cauce en el 2004. Ojalá,pues esta competición sólotiene un equivalente enmáquinas recreativas con elMAME, y es algo de lo que nopueden cacarear los usuariosde otras plataformas.
Nº 9 – Septiembre 2004 MAGAZINE ZX 27
HORACE
Entrevista a Droy
Si hay un nombre que destaque en el panorma estatal (y, seguramente, en elinternacional) en lo que concierne a desarrollo de nuevo hardware para nuestrosSpectrum, éste sería el nombre de nuestro entrevistado. Sus "trastos" permitenampliar y añadir nuevas funcionalidades al, ya de por sí, limitado diseño original delSpectrum.
Una pregunta inevitablepara empezar estaentrevista: ¿cómo teiniciaste en el mundo delSpectrum y , sobre todo, enel ámbito de la electrónica?
Se podría decir que miafición por la electrónicaempezó cuando mis padresme regalaron un ElectroL(un juego de montajeseléctricos). Años despuesllegó el Scatron (juego de montajes electrónicos) y desdeentonces no he parado de disfrutar aprendiendo electrónica,reparando y diseñando.
A comienzos de los 80 disponía de una subscripción a unarevista llamada "Revista Española de Electrónica", fue unregalo de mis padres por algo que ya no recuerdo. Estarevista disponía, además de las secciones tipicas demontajes y divulgación, de una sección llamada "Microbit". En esta sección se publicaban programas para elZX81, Jupiter, etc. Con la revista en la mano unos amigos yyo nos acercamos a una tienda de electrodomésticos dondevendían ZX81, y fue alli donde tomé contacto por primeravez con un ordenador personal, tecleando programas de"Microbit". Al principio al pie de la letra, prontorealizando pequeñas modificaciones, luego creandoprogramas completos.
La cosa fue bien para la tienda en cuestión, que nos dejabausar el ZX81 de exposición, ya que ayudábamos a vendermuchos ordenadores. Supongo que los padres indecisos nosveían programando y querían algo así para sus hijos.
Tras convencer a mis padres para que pagasen 14725 pts.por un ZX81 de 1Kb tuve la "suerte" de que no quedaban.Un vendedor hábil y mi hermano mayor convencieron a mipadre para que me comprase el nuevo modelo ZXSpectrum 16K a todo color (más de 49000 pts.). A partir deese momento el Spectrum pasó a formar parte de mi vida.Pronto aprendí a programar en código máquina, recuerdoperfectamente el momento en el que comprendí como el
procesador trabajaba y que el "editor del basic" era solouna capa, un programa en ROM para facilitar las cosas,pero que el código máquina siempre estaba allí. Es uno demis recuerdos más bonitos del Spectrum, pues fue comouna revelación.
¿Cómo te entró el gusanillo de la creación de nuevohardware para el Spectrum?
Cuando era un chaval con mi Spectrum nuevo no dejaba deleer revistas de electrónica e informática (la ZX era mifavorita, luegó llego la Microhobby) y en todas seanunciaba hardware que para mi era inalcanzableeconómicamente (ZXInterface I, Disciple, etc). De algunaforma esto quedó como una asignatura pendiente, puestenía ideas pero no medios ni tecnología. Ahora quedispongo de más medios que cuando tenía 14 años, y másconocimientos y tecnología, me proporciona mucho placerretomar mis sueños de chaval y llevarlos a cabo.
Después conocí a Jose Manuel, el webmaster de El Trastero(http://www.speccy.org/trastero/) y al enterarse de quefabricaba cartuchos para el Interface II me animó a poneren su página algo al respecto, primero fueron unas fotos,luego algo de información, poco a poco me fue animandohasta lo que es ahora. Así nació la sección "Los Trastos deDroy".
¿La actividad que desarrollas profesionalmente tiene quever con este hobby? ¿O es un hobby aprendido por tucuenta?
No, aunque ahora trabajo para una multinacional de lainformática, mi actividad poco tiene que ver con este
28 MAGAZINE ZX Nº 9 – Septiembre 2004
"Me proporciona mucho placer
retomar mis sueños de chaval
y llevarlos a cabo."
hobby. Precisamente por eso disfruto más aún de estaafición.
Yo estudié Maestría industrial (los cinco años de FPelectrónica) donde se obtiene una buena base, pero es sóloeso, una base. Lo que sé ahora es el resultado de muchosaños de leer libros, revistas especializadas, experimentarmucho, en definitiva de cultivar una afición.
¿Qué herramientas y materiales consideras indispensablespara cualquier usuario que quiera realizar alguno de tusdiseños?
Imagen del taller de trabajo de Droy
Lo único realmente indispensable es sólo el soldador y loscomponentes de cada montaje ;) En realidad lo que hacerealmente mucha falta es paciencia, ganas e ilusión, pero,sobre todo, paciencia.
Existen varios proyectos que has realizado y que estándisponibles en El Trastero del Spectrum(http://www.speccy.org/trastero/cosas/droy/droy.htm),como por ejemplo el Interface II y sus cartuchos: ¡no mepuedo creer que sea tan aparentemente sencillo"clonarlos"! ¿Dónde está el truco? :)
La verdad es que los cartuchos fue lo primero quepubliqué. Me sorprendió mucho al ver el esquema originaldel Interface II que lo relacionado con el cartucho no teníaelectrónica, que sólo eran conexiones del bus hacia elcartucho (la parte del joystick es otra cosa...). Entoncesintenté imaginarme como debia ser el cartucho para que unadaptador así funcionase, no fue complicado. Pero habíaalgo que debía confirmar sobre un cartucho original (si laseñal de ROMCS era anulada por el propio cartucho).Escribí por internet a alguien que poseía uno y le pedí quemidiese en dos contactos de un cartucho original. Larespuesta confirmó mi sospecha, el cartucho ya estabadiseñado. El Interface II original, como ya sabes, no sonmás que conexiones, solo había que aislarlas de la parte deljoystick.
Los cartuchos de 32K son el resultado de un momento deinspiración, es algo que disfruté mucho haciendo. Cuandopor fin cargó el Knight Lore en 3 seg. desde cartucho meacordé de lo que deseaba esto cuando tenía 14 años y fuemuy gratificante.
Vistas las mejoras y modificaciones que has hecho con elJupiter Ace, ¿te atreverías a hacer algo parecido con unclon del Spectrum al estilo del Sprinter, SpeccyBob oChrome?
Estos clones estan muy bien diseñados, en especial elSprinter que es un producto muy profesional y muy bienacabado, difícil de superar. No veo que necesiten mejoras,o al menos, no veo qué pueda mejorar yo. En este momentome atrae más el ampliar el Spectrum con nuevosadaptadores.
¿Cuál de todos tus diseños entrañó mayor dificultad en sudesarrollo? Y, por contra, para los novatos, ¿cuál nosaconsejas realizar por su sencillez?
Sin duda el IMAR3 fue el más complicado pero a su vezcon el que más disfruté. El diseño y desarrollo de esteadaptador me hizo disfrutar mucho, y aprendí un montón,pues no se trataba de rediseñar o modificar sino de haceralgo partiendo de cero. Es del que me siento más orgulloso.Creo que desde el punto de vista de aficionado no es de loscomplicados de llevar a la práctica. Pero para simplicidad,el Interface II y los cartuchos.
A la hora de hacer estos diseños de hardware paraordenadores de hace más de 20 años, te habrásencontrado con problemas a la hora de encontrar ciertoscomponentes. ¿Se siguen fabricando aún muchos de ellos?¿Te resulta complicado encontrar estos componentes osustitutos para ellos?
La verdad es que en el caso del PlusD tuve algunasdificultades para encontrar el WD1772. Este integrado nose fabrica desde hace años, y lo peor es que realmente fuediseñado inicialmente por encargo de Atari. Una vez queAtari finaliza la producción, se acabó la distribución. Alfinal lo traje de EEUU y fue una cuestión de algo más dedinero que si lo compras en la tienda de la esquina. En elcaso del Jupiter la sustitución de componentes antiguos poractuales fue más un reto que una dificultad. Además, sitraía los componentes de EEUU, o los sacaba de una placaantigua, yo tendría mi Jupiter, pero no facilitaba nada anadie para que pudiera hacer el suyo.
Algo que me motiva mucho es que las cosas seanrealizables por los demás sin tener que pedir componentespor internet. Este fue un problema que me tuve queplantear cuando diseñe el IMAR3: habría sidoinfinitamente más facil de diseñar si hubiera incluido uncrossswitch, y 100% compatible, seguramente eladaptador de Sintech lleve uno. Pero eso dejaba fuera al90% de los usuarios, pues estos integrados no losencuentras así como así. Acepté el reto y lo diseñé usandocomponentes comunes, aunque esto le hace perder algunafuncionalidad.
¿Existe la posibilidad de conseguir estos diseños tuyos yafabricados? Y si no es así, ¿se ha pensado en realizaralguna distribución a pequeña escala de alguna de tuscreaciones?
Verás, este es un punto por el que mucha gente se interesay me pregunta. Yo siempre respondo lo mismo: no tengointerés en sacar beneficio económico de ninguna de miscreaciones pues eso requeriría mucho tiempo del que noando muy sobrado. Para mí es un hobby y quiero que sigasiéndolo. Lo único a lo que sí estoy dispuesto es aintercambiar puntualmente algun adaptador hecho por mi
Nº 9 – Septiembre 2004 MAGAZINE ZX 29
por alguna pieza de hardware del Spectrum o similar.
Por otro lado si alguien quiere distribuir a pequeña escalaalguno de mis diseños no tengo inconveniente, ni voy apedirle comisión o derechos de autor.
No sólo te dedicas a fabricar los montajes, sino quetambién te ocupas de su creación, desarrollo y posteriordocumentación. ¿Cuál de estas partes requiere de mástiempo y de más trabajo por tu parte? ¿Y cuál de ellas es laque menos te gusta?
La documentación requiere más tiempo del que yoimaginaba, y es sin duda lo que menos me gusta. Pero encierta forma me ayuda a mantener la disciplina el pensarque lo que estoy haciendo lo tendré que documentar, asíque me fuerza a llevar mayor control y registro de lo quehago, en otras palabras, trabajas mejor.
¿En qué nuevos proyectos andas inmerso últimamente?¿Nos puedes adelantar algo en exclusiva?
Tengo varias cosas en la cabeza. Una es un adaptador dedisquete con componentes "encontrables" (no como elWD1772 del PlusD) y que lea snaps grabados en disquetesde 1.44 Mb con un PC directamente (*.SNA *.Z80). Algosencillo y fácil de hacer y que nos permita cargar snaps enun ZX Spectrum 48K real.
Otra idea es un sistema de cartuchos regrabales desde el PCcon capacidad de 512 Kb (unos 10 snaps *.SNA porcartucho).
Y aún ando dándole vueltas al adaptador ISA paraSpectrum. Este proyecto está aparcado pero no olvidado.Para los que no lo conozcan os resumo que es algo queempecé hace tiempo, se trata de un dar al Spectrum unaranura ISA para poder usar los adaptadores multifunción(FDC / IDE / Serie / Centronics) y así poder tenerdisquetera reusando los adaptadores viejos de PCs ISA. Sifinalmente pongo en marcha el primer proyecto, éstequedará aparcado definitivamente.
Droy con algunos años menos: corrían otrostiempos... para todos
Aparte de crear diseños nuevos, también has dedicadoparte de tu tiempo a reparar Spectrums averiados, ¿cuál esel problema más habitual con el que te has encontrado?¿Consideras que el Spectrum era un ordenador propenso asufrir averías?
Los problemas más tipicos, aparte de la membrana delteclado, son los relacionados con la power supply. No merefiero al transformador externo, hablo de la parte del
circuito del Spectrum que partiendo de 9V sin regulargenera todas las tensiones necesarias (+9V regulados, +5V,+12V y 12V). Casi siempre es el transistor de oscilación.
Droy, en la actualidad, en su taller de diseño
La verdad es que las primeras issues tenían muchosproblemas. La prueba de ello es la cantidad de ellas quehay. Y no hay que olvidar que la búsqueda de reducción decostes de fabricación no soló nos dejó un teclado de goma.De todas formas, teniendo en cuenta el precio que tenia enel mercado, no le podíamos pedir más a los chicos deSinclair.
El esquema de diseño de la ULA del Spectrum es, aún hoyen día, un completo desconocido. ¿Crees que sería posible,sin contar con los esquemas, poder clonarla al 100%?
Bueno, en cierta forma Sprinter y Speccybob lo hacen. Porotro lado, el esquema "original" realizable concomponentes comunes está disponible, lo que pasa es quecuando lo ves entiendes por que Sir Sinclar le encargo a laFerranti que le fabricase un integrado a medida. Es máscomplejo que el resto del Spectrum.
Imaginemos que nos econtramos en los primeros años 80,que trabajas en Sinclair Research Ltd. y que Clive Sinclairllama a tu puerta para encargarte el diseño de lo que seríael nuevo ordenador ZX Spectrum. ¿Cómo hubiera sido tudiseño? ¿Que le hubieras añadido o cambiado respecto aldiseño que finalmente se hizo?
Creo que en la mente de todos estaría un teclado mejor,algo como el del Oric Atmos, un bus de expansión másracional que facilite la vida a los diseñadores de hardware,un sistema de almacenamiento externo de alta velocidad...
Si lo piensas bien cualquier pequeño cambio en nuestroquerido Spectrum podría dar al traste con el éxito que tuvo.Sinceramente no cambiaría nada, me encanta como fué,como es, en su simplicidad está también el secreto de suéxito.
En el caso del Spectrum 128k y sobre todo, en el caso delQL, ya es otra cosa, pero eso es otra historia.
Nada más, Droy, gracias por atendernos y esperamos quenos sigas deleitando con más creaciones tuyas paranuestro Spectrum.
Ha sido un placer, gracias a ti por ayudar a conservar lamemoria de unas máquinas tan fantásticas y que nosevocan tantos buenos momentos. Un saludo para todos losaficionados al Spectrum.
30 MAGAZINE ZX Nº 9 – Septiembre 2004