
05.05.15

ZENDYR'S LABYRINTH

(c) 2005, Carlos Gmez Rodrguez (solrac888@yahoo.com)

ste es un juego hecho en una tarde o dos, que me temo que en lo que se refiere a jugabilidad est bastante prximo a cero. Su inters radica en que es un experimento con algo que no s si se ha visto mucho por el CAAD (igual s, como yo casi no juego aventuras... :D): la generacin aleatoria de laberintos.

Para instalarlo, copiar el directorio del juego, que viene en el fichero .zip, al directorio del AGE. Ntese que hay que copiar EL DIRECTORIO, no su contenido. Por ejemplo, si el AGE est en c:\age, tendr que quedar un directorio c:\age\ZendyrsLabyrinth\ con los ficheros de este .zip. Una vez hecho esto, al ejecutar el AGE, "Zendyr's Labyrinth" aparecer en el cargador de juegos.

Al arrancar el juego, se genera un laberinto en tres niveles, que tiene en total 725 localidades (100 en el nivel 1, 225 en el 2 y 400 en el 3). Si queris jugar con estos valores, podis hacerlo en el cdigo, la generacin del laberinto est en el fichero generate.bsh (el cdigo de ambas aventuras es libre bajo licencia tipo BSD). Advierto, eso s, que el cdigo est muy sucio.

El objetivo de Zendyr's Labyrinth es bajar a lo ms hondo del laberinto superando los tres niveles. El generador de laberintos est hecho para garantizar la propiedad de que tenga solucin, es decir, siempre hay una manera de llegar a la meta, y nunca hay estados irresolubles. Esto hace que esta tcnica de generacin pueda ser interesante para generar mazmorras o laberintos puntuales en juegos ms grandes y elaborados, donde se podra dotar a cada localidad de una descripcin para conseguir una ambientacin buena (en ste, de hecho, ya se dota a cada localidad de una descripcin; pero como veris son bastante iguales).

AVISO IMPORTANTE: Este juego es lento y chupa mucha memoria, debido a que se generan cerca de mil localidades y un nmero parecido de objetos, y no se aplica ninguna optimizacin (es decir, todos los objetos estn representados en memoria; aunque tengan muchas cosas en comn). Se podra haber hecho lo mismo mucho ms rpido y ligero compartiendo el cdigo de los objetos, hay muchas cosas que estn repetidas en memoria mil veces. El motivo de no haberlo optimizado de esta manera no fue la pereza o la desidia; sino que en realidad mi idea al crear este juego fue hacer una "prueba de carga" para ver cmo respondera el AGE ante una aventura de mil localidades "de verdad" (es decir, creadas a mano y cada una con sus caractersticas propias). El rendimiento de este juego refleja lo que sera el rendimiento de un juego as.
En cualquier caso, aviso de esto para que no os asustis si veis que tarda mucho en cargar, y para que tengis cuidado cuando cambiis el cdigo, porque aumentar el nmero de localidades aumentar proporcionalmente el uso de memoria.

OTRO AVISO IMPORTANTE: Debido a cierto workaround que tuve que introducir en el cdigo para evitar un bug de AGE que se arreglar en versiones posteriores, este juego no se puede poner en modo multijugador (o, mejor dicho, se puede poner pero no funcionar). S se puede poner a turnos o a tiempo real sin problema, y tambin se puede poner como servidor dedicado y conectarse remotamente; pero slo con un jugador: si entra otro jugador, cascar.




LICENCIA:

Este juego est sujeto a la siguiente licencia estilo BSD:


Copyright 2005 Carlos Gmez Rodrguez.

Se permite la redistribucin de este software tanto en forma de cdigo fuente como en forma binaria, con o sin modificaciones, siempre y cuando se cumplan las siguientes condiciones:

1. Las redistribuciones del cdigo fuente deben retener el aviso de copyright declarado arriba, esta lista de condiciones y la denegacin de garanta que sigue.

2. Las redistribuciones en forma binaria deben reproducir el aviso de copyright declarado arriba, esta lista de condiciones y la denegacin de garanta que sigue en la documentacin y/u otros materiales que acompaen la distribucin.

3. No se permite el uso del nombre del autor o sus colaboradores para apoyar o promover productos derivados de este software sin previo permiso especfico por escrito.

EL AUTOR PROVEE ESTE SOFTWARE ``TAL Y COMO EST'', Y DENIEGA CUALQUIER GARANTA, YA SEA EXPRESA O IMPLCITA, INCLUYENDO SIN LIMITACIN LAS GARANTAS IMPLCITAS DE COMERCIABILIDAD Y APTITUD PARA UN PROPSITO ESPECFICO. NI EL AUTOR NI SUS CONTRIBUIDORES SERN EN NINGN CASO RESPONSABLES POR PERJUICIOS, YA SEAN DIRECTOS, INDIRECTOS, INCIDENTALES, ESPECIALES, PUNITIVOS O CONSECUENTES (INCLUYENDO SIN LIMITACIN LA ADQUISICIN DE BIENES O SERVICIOS DE SUSTITUCIN; PRDIDA DE USO, DATOS O GANANCIAS; O INTERRUPCIN DE NEGOCIOS), SEA CUAL SEA SU CAUSA Y BAJO CUALQUIER TEORA DE RESPONSABILIDAD, YA SEA EN CONTRATO, RESPONSABILIDAD ESTRICTA O ENTUERTO (INCLUYENDO DE NEGLIGENCIA O DE CUALQUIER OTRA MANERA) QUE SURJA DE CUALQUIER MANERA DEL USO DE ESTE SOFTWARE, AN EN EL CASO DE HABER SIDO AVISADO DE LA POSIBILIDAD DE TAL PERJUICIO.

(traduccin extrada de www.vvlinux.com y adaptada)