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/
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
https://www.box.com/s/4fe083fd4d98401eff6f
Etiquetas:
documentación,
doxygen,
ingenieria,
notebook,
software
Disparar: Diagrama de Secuencia
Etiquetas:
apocalypse,
bucle principal,
disparo,
ingenieria,
notebook,
teclado
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:
- El jugador pulsa la tecla S.
- Rox dispara con su bolígrafo un chorro de tinta.
- El chorro de tinta choca con un enemigo dañándole.
- El enemigo no muere.
- Comprobación de paso de nivel
- Comprobación de fin de juego
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
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
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
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
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
Etiquetas:
aprendizaje,
hardware,
menu,
personaje,
teclado
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()
Etiquetas:
bucle principal,
monstruos,
niveles,
requisitos,
software
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
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
Etiquetas:
bucle principal,
monstruos,
niveles,
requisitos,
software
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
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
Etiquetas:
bucle principal,
niveles,
software,
teclado
Suscribirse a:
Comentarios (Atom)


