5ª jornada (normas)

¡Hola a todos!Espero que os hayais recuperado de la vuelta al “cole” y la 4ª Jornada. Porque para esta última Jornada os vamos a proponer un género de juego ASCII con muchísima tradición: Un juego de Rol estilo “Rogue”. ¡A crear dungeons!

http://es.wikipedia.org/wiki/Roguelike

Roguelikes hay casi tantos como distribuciones de Linux.  Pero los más importantes son:

  • Rogue: El original. http://es.wikipedia.org/wiki/Rogue
  • Angband: El sucesor. http://es.wikipedia.org/wiki/Angband_(videojuego)
  • Nethack: La base de muchas modificaciones. http://es.wikipedia.org/wiki/Nethack
  • Dwarf Fortress: http://www.bay12games.com/dwarves/

Por supuesto, no os vamos a pedir que implementeis algo parecido a Nethack ( donde es posible que un caballero de nivel 20 se muera  por caerse del caballo … no comment ), pero sí algo parecido a Rogue.

Para esto, podeis utilizar como base el código del Pacman de la 4ª Jornada. El sistema de turnos, entidades y colisiones se puede reutilizar, pero habrá que añadir más tipos de entidades, objetos e incluso un inventario.

Requisitos

El Juego

  • El objetivo del juego consiste en descender como mínimo 10 niveles de una mazmorra, de dificultad creciente. En la última mazmorra se encuentra un objeto legendario que el jugador debe recoger para terminar el juego. El nombre de lo objeto legendario lo dejo al gusto del creador ;).
  • Los niveles de la mazmorra pueden ser fijos, aunque subirá mucho la nota si se generan aleatoriamente.
  • La puntuación final se calculará en base a los siguientes factores
    • Tiempo de finalización del juego (en turnos)
    • Tesoros conseguidos
    • Enemigos abatidos
    • … y cualquier cosa que querais añadir

La Pantalla del juego

  • La pantalla de juego constará de 2 elementos como mínimo
    • El mapa del juego
    • Un cuadro de texto para los distintos mensajes
  • El tamaño máximo de pantalla es de 80×24 en ASCII, no se permite el uso de cualquier otro sistema gráfico.
  • Los niveles de la mazmorra pueden tener una extensión arbitraria, si se quiere se puede hacer “scrolling”.
  • No se pueden usar sonidos, salvo la campana del sistema.

Mecánica:  Movimientos,Acciones

  • La acción se desarrolla por turnos, como en el juego de la 4ª Jornada.
  • Para mover al personaje dentro del juego, usaremos las mismas teclas que en la 4ª Jornada para movernos en las cuatro direcciones.

Q

W

E

A

D

Z

X

C

  • El resto de teclas las usaremos para que nuestro personaje realize acciones. Estas acciones también consumen un turno.
  • Las siguientes acciones son obligatorias y deben asignarse a estas teclas
    • S – No hacer nada, pasar de turno
    • F – Subir o bajar escaleras
    • I  – Listar los objetos del inventario
    • U – Usar un objeto de. Abre un menú donde el jugador podrá seleccionar un objeto para usar del inventario.
    • J – Soltar un objeto del inventario. Abre un menú donde el jugador podrá seleccionar el objeto para soltar.
    • R – Atacar en la dirección espeficada a continuación (Q,W,E, .. etc)
    • V – Mostrar una pantalla de ayuda, con todos los comandos y las opciones.
  • Las teclas Espacio y ESC se usarán para navegación por los menús, confirmar acciones, salir del juego, etc. Como siempre.
  • Acciones por defecto: Para evitar tener que introducir comandos a toda hora,
    • Si pasamos por encima de un objeto, o tesoro lo recogemos automáticamente.
    • Si nos movemos en la dirección de un enemigo, en vez de movernos le atacaremos directamente.
    • Podeis añadir más acciones por defecto: Por ejemplo, si nos movemos hacia una puerta cerrada, el jugador tratará de abrirla.

Entidades

En el juego tendrán que existir obligatoriamente las siguientes entidades en al mapa. No se permite una representación ASCII alternativa. Podeis añadir tantas entidades extra como, pero estas son obligatorias :

ASCII Descripción
@ Personaje del jugador
& Objeto legendario. El objetivo final del juego
# Muro, no se puede atravesar
> Escaleras de subida
< Escaleras de bajada
^ ¡Trampa! Inicialmente se muestra como un hueco vacío. Se revela si el jugador la pisa o permanece quieto durante un turno en las cercanías de la trampa. Si la pisa, el jugador pierde algo de vida.
Espacio blanco Hueco
! Espada/Arma. Incrementa el daño a los enemigos. Debemos usarla para equiparla.
{ Escudo. Reduce el daño que los enemigos nos hacen. Debemos usarlo para equiparlo.
P Poción. Restaura nuestra vida. Podemos crear tantos tipos de pociones como queramos
$ Tesoro. Nos da puntos.
g Goblin. Enemigo débil.
O Orco. Enemigo intermedio.
T Troll de las Cavernas. Enemigo muy fuerte.

Estadísticas y Combate
Como mínimo, el sistema de estadísticas y combate debe de ser el siguiente:

  • El jugador comienza con 100 puntos de vida, que puede perder cuando los enemigos le atacan.
  • Si se reduce la vida a cero del jugador … Game Over.
  • Podemos recuperar vida con las pociones, pero nunca más de 100 puntos.

El sistema de combate más simple es:

  • Cada acción de ataque resta N puntos de vida al objetivo. Se reduce el daño si el objetivo lleva escudo.
  • Tanto jugador como enemigos pueden atacar a discrección, pero no pueden atacar y moverse en el mismo turno.
Podeis implementar otro sistema de estadísticas y combate más parecido al Dungeon & Dragons si lo deseais: Experiencia, Niveles, Clases …. cualquier locura que se os ocurra.  Explicad el sistema en el README.

Entrega

  • Se enviarán las entregas y evaluaciones a ligabitheroes@byterealms.com
  • El asunto del mail será: “Entrega Jornada 5”.
  • Las entregas van en formato .tar.gz y deben incluir obligatoriamente los siguientes contenidos
    • Código fuente del juego
    • Archivo Makefile para compilar el juego
    • README Con el autor y una breve descripción del juego, así como las notas oportunas que se quieran explicar
    • COPYING Con una copia de la licencia GPL v3 en inglés
    • No se permiten ejecutables del juego, la entrega es estrictamente en código fuente
  • Recordad que la plataforma de evaluación es el Ubuntu de los Laboratorios EPS, que os podeis bajar y usar sin instalarlo en vuestro PC:
    • http://www.eps.ua.es/dvdubuntueps/
  • En la sección “Ejemplo de Uso” os podeis bajar un archivo de ejemplo, que podeis usar de base para vuestra entrega.
  • Las entregas que no cumplan los requisitos serán automáticamente descalificadas

Fechas

  • Entrega: Hasta el Viernes 14 de Octubre de 2011 a las 23:59 pm
  • Se enviarán las entregas para su evaluación al día siguiente, generalmente.
  • Evaluación: Hasta el Miércoles 19 de Octubre de 2011 a las 23:59 pm
  • Se publicarán  las evaluaciones y puntuaciones el Viernes 21 de Octubre de 2011 a mediodía

Ejemplo de uso de StdPijo

  • Os podeis bajar un ejemplo de StdPijo uso desde el siguiente enlace, os recomendamos su uso y modificación
    • http://dl.dropbox.com/u/2756591/bitheroes-ejemplostdpijo.tar.gzConsejosConsejos

¡Ánimo! El Roguelike es el summum de los juegos ASCII. Si conseguís implementar un Rogue medianamente complejo, no habrá arquitectura de juego que se os resista. Os hemos dado unos días extra para perfeccionar el juego, dada su complejidad. ¡Aprovechad al máximo el puente!.

1 Comments.