jueves, 26 de abril de 2012

Modelado del juego

Para el mundo de este juego, al estar pensado para ser accion-plataformas, hemos decidido que el movimiento del personaje sera por coordenadas en vez de por casillas

Metodologia de trabajo

Este proyecto se esta llevando a cabo en subversion.


he aqui el enlace: https://forja.rediris.es/projects/cusl5-nba/

miércoles, 25 de abril de 2012

Un escenario

Aquí podemos ver uno de los escenarios por los que se moverá Rox. Aún queda ponerle algunos colores y efectos "de cuaderno" pero las plataformas por las que se desarrollará el juego pueden apreciarse perfectamente.


martes, 24 de abril de 2012

Primera Documentación

En el siguiente enlace podéis bajaros la primera documentación generada para Notebook Apocalypse. Es un fichero con formato RTF generado por Doxygen. Contiene las descripciones de las clases que se han ideado para el juego.

https://www.box.com/s/4fe083fd4d98401eff6f

Disparar: Diagrama de Secuencia


Caso de Uso: Disparar



Caso de Uso: Disparar
Descripción: Rox dispara un chorro de tinta para herir a sus enemigos
Actores: Usuario
Actores secundarios: Sistema
Precondiciones: El juego no está pausado, se encuentra en un nivel y se dispone de suficiente munición
Postcondiciones: El personaje dispara un chorro de tinta
Escenario principal:
  1. El jugador pulsa la tecla S.
  2. Rox dispara con su bolígrafo un chorro de tinta.
  3. El chorro de tinta choca con un enemigo dañándole.
  4. El enemigo no muere.
  5. Comprobación de paso de nivel
  6. Comprobación de fin de juego
Extensiones (Flujos Alternativos):
    3a) El chorro de tinta no choca con nada.
         - Se continua por el punto 5
    3b) El chorro de tinta choca con un muro
         - Se continua por el punto 5
    4a) El enemigo muere
         - El sistema elimina el enemigo 
         - Se continua por el punto 5




lunes, 23 de abril de 2012

Diagrama de clases

Aquí tenemos el diagrama de clases de Notebook Apocalypse:


Menú principal

Aquí tenéis una imagen del aspecto del menú principal, también podéis verlo en el ejecutable de la sección de descargas.


Descarga disponible!

Hemos subido el primer ejecutable de Notebook Apocalypse :) En él podéis ver el menú inicial y escuchar la música de éste.

Sección de Descargas


Recursos: Una guía de SDL que nos está siendo de mucha utilidad!

Os hemos compartido en Google Docs una guía de SDL que nos está siendo de mucha utilidad.

https://docs.google.com/open?id=0B-XEnFmFA7F-emx3WS1XdDMzZzA

Gestion de eventos: entrada del usuario

Aquí tenemos un listado de las teclas que se usarán para ir avanzando en el juego.

Control del juego:

Menú de pausa: Escape
Navegación a través de los menús: Ratón
Selección: Click izquierdo

Control de dialogos:

Continuar: Intro

Control del personaje:

Moverse: Flechas izquierda/derecha
Saltar: Flecha arriba
Ataque normal: A
Disparo: S

Condiciones de fin de juego

Una pena, pero el juego tiene fin :(

si((nivel_actual = ULTIMO_NIVEL
^enemigo_final.vida = 0
^personaje.posicion = POSICION_FINAL)) v personaje.vida = 0) 
        fin_juego()

Condiciones de paso de nivel

Hemos especificado las condiciones necesarias para el paso de nivel.

si(escenario.enemigo_final() = verdadero)
    si(para_todo(enemigo, enemigo[i].vida = 0)
    ^enemigo_final.vida = 0
    ^personaje.posicion = POSICION_FINAL)
        avanza_nivel()
si_no
    si(para_todo(enemigo, enemigo[i].vida = 0)
    ^personaje.posicion = POSICION_FINAL)
        avanza_nivel()
    fin_si
fin_si

Diseñando el Bucle Principal

Ya tenemos la estructura básica en pseudocódigo de lo que será nuestro bucle en SDL :)

mientras(¬ fin_juego) hacer
    si(juego_terminado = verdadero)
        salir()
    fin_si


    si(nivel_actual != nivel)
        cargar_nivel(nivel)
    fin_si
     
    leer_evento()
    procesar_evento()
     
    si(fin_nivel = verdadero)
        nivel = Avanzar_Nivel()
    fin_si
     
    si(fin_juego = verdadero)
        juego_terminado = verdadero
    fin_si
fin_mientras