Este proyecto está inspirado en el juego epónimo mundialmente conocido,considerado como el primer FPS jamás realizado. Le permitirá explorar la técnica del ray-casting. El objetivo es crear una vista dinámica dentro de un laberinto.
- Debe mostar texturas diferentes para cada muro en función de la orientación.
- Se debe poder mostrar un sprite en lugar de un muro.
- Colores distintos para suelo y techo.
- Si se pasa como segundo argumento
--save
, el programa guardará la primera imagen en formatobmp
, sin abrir el juego. - Si no hay segundo argumento, se muestra el programa en una ventana.
- Debe contener:
- R: indica la resolución de la ventana.
- NO, SO, EA y WE: indica el path hacia las texturas de los muros.
- S: indica el path hacia la textura del sprite.
- F: indica el color del suelo en formato rgb.
- C: indica el color del techo en formato rgb.
- El mapa solo puede contener:
- 0: Espacios vacios.
- 1: Muros.
- 2: Sprites.
- N, S, W o W: Indica la posición y orientación dle jugador.
- El mapa debe estar cerrado por muros.
Se añade a las especificaciones anteriores, los siguientes bonus:
- Colisión contra los muros.
- Una skybox.
- Texturas en techo y suelo.
- Un hud.
- Más objetos en el laberinto.
- Colisión con los objetos.
- Ganancia y pérdida de puntos de vida.
- Puertas y puertas secretas.
- Animaciones.
- Varios niveles.
- Armas y malos con los que pelear.
Se añaden a las anteriores especificaciones las siguientes posibilidades:
- T: indica el path hacia la textura de los tesoros para recoger.
El mapa puede contener:
- T: Tesoros.
- H: Item de vida.
- D: Puerta cerrada.
- O: Puerta abierta.
- X: Puertas secretas.
- L: Cambio de nivel.
- B: Enemigos.
- 4 y 5: Diferentes tipos de sprites.