Especificaciones del juego

From Lol

Contents

Objetivo

Tener una primera versión “ejecutable” con funcionalidad mínima para formar el esqueleto básico de la aplicación. Profundizar en las estructuras de datos necesarias, por ejemplo formato de archivos de niveles, de modelos…

Requisitos iniciales

Nos centraremos en las animaciones de movimientos y las de disparo mientras desarrollamos una primera base del juego. Así nos centraremos en el paso del tiempo durante el juego (núcleo del juego) en los disparos (colisiones) refinando la base para poder utilizar buenas animaciones y luces, para por ejemplo mostrar destellos cuando se dispara y efectos de partículas con los casquillos o las balas…

Requisitos generales

  • El jugador podrá controlar a su personaje en cuatro direcciones, apuntando con el ratón.
  • Armas disponibles serán la ametralladora y el lanza granadas, se cambia entre ellas con el botón derecho del ratón y se dispara con el izquierdo.
    • Cada arma tendrá diferente alcance.
  • Diferente tipo de daño, explosión o impacto directo.
  • Se desarrollaran dos modelos para cajas de munición diferentes para cada arma.

Desarrollaremos dos tipos de enemigos:

    • uno pequeño que ataca en grandes grupos cuerpo a cuerpo, más o menos rápido (ejemplos: zerglins del starcraft , hormigas, criters…
  • El otro enemigo más lento e individual con más energía. (ejemplos: mamut, tanque….)
    • El jugador será capaz de eliminar enemigos que tendrán diferente energía, además se preverá añadir armaduras diferentes para cada enemigo diferenciando entre el tipo de daño sufrido (explosión, proyectiles ligeros, fuego, …)
  • Se dispondrá de una sencilla consola para facilitar la depuración y poder añadir enemigos…
  • Terrenos 3D con modelos de objetos 3D, pero jugadores y enemigos 2D (inicio)

Casos de uso: (ejemplos de juego)

  • El jugador se mueve y dispara en dirección del ratón. Las balas disparadas se dispersan aleatoriamente (puntería por arma??) se reduce la cantidad de munición.
  • El jugador recoge munición nunca se supera la máxima, si la caja de munición se vacía tendrá otro dibujo, se podrá ver el número de cartuchos disponibles en un número sobre la caja de munición.
  • Los enemigos se mueven hacia el jugador. Los enemigos se bloquean el paso entre ellos
  • Un enemigo muere cuando el jugador ha ocasionado más daños de los que soporta
  • El jugador se mueve sobre terrenos de diferente inclinación.
  • El jugador se mueve hacia un terreno demasiado inclinado o que no se permite atravesar.

Requisitos de herramientas externas

  • Sonido (FMOD)
  • Teclado + Ventanas (GLFW)
  • Gráficos (OpengL + DEVIL)
  • Resolución 800x600
  • Plataforma SO: Windows
  • Entorno: Visual Studio 2003
  • Formatos archivos conocidos:
    • Modelos: MD2
    • Texturas: PNG
    • Sonidos: WAV, MP3

Requisitos de herramientas propias

Editor de niveles

Requisitos

  1. La vista de edición de los niveles debe ser similar a la del juego viéndose las texturas y perspectiva que se verá en el juego.

(Por ejemplo: Se puede desarrollar cada nivel a partir de un terreno mallado donde se puede agrupar o subdividir cada superficie por la que está formada la malla.)

  1. Además se debe poder cambiar la altura del terreno de forma suave o abrupta.
  2. Se debe mostrar las texturas seleccionadas para el terreno asociándolas al terreno
  3. Se usará el mallado editado en el juego directamente? o es necesario añadir elementos auxiliares para fijar las zonas de colisión.

Por ejemplo: un muro se podría formar al superar una inclinación máxima durante la edición del terreno, o usar un bounding-box invisible para no permitir al jugador atravesarlo. Tener en cuenta inclinación del terreno en movimientos???

  1. Valorar el uso de un editor conocido y exportar o utilizar el formato propio, ejemplo editor del HL, editor del QUAKE.Si usamos editor propio esbozar formato de niveles en disco duro: cabecera + …?
  2. Se prevé añadir objetos al nivel: modelos de munición, de muros, bunkers…

Editor de modelos MD2 para añadir bounding box

Una vez hechos los modelos con el editor 3D que se prefiera se exporta a formato MD2 y se le añaden los elementos auxiliares que necesita el juego:

  • Cero o más bounding box, para calcular colisiones por modelo
  • Zonas especiales: similares a las bounding box pero que indican lugares especiales del modelo, por ejemplo punto de entrada a un bunker.
Personal tools