# ***Documentación de *Agapito en 3D, now in Torremolinos****
# ***Documentación de Agapito en 3D, now in Torremolinos***
Por Jaime de la Chica y José Pardo
Por Jaime de la Chica Bergillos y José Pardo Madera
## **Introducción**
Este videojuego es un point and click con elementos pequeños de puzle. A excepción
de los iconos de la interfaz, todos los assets visuales son enteramente hechos en imagen real.
Para su edición y creación, se ha usado una cámara de teléfono, el programa de edición de imagen
...
...
@@ -13,6 +12,14 @@ Como recursos para la creación del propio juego, se ha usado el lenguaje C++, c
SDL 2, especializada en la creación de videojuegos y usadas por empresas como Valve (Portal, Half Life).
Además, para mostrar vídeo se ha usado la herramienta FFMPEG.
## **Instrucciones de uso**
Para correr el programa con make, son necesarias las siguientes bibliotecas:
* SDL2
* SDL2_Image
* SDL2_ttf
* SDL2_mixer
Tras esto, se crea un ejecutable, aunque este también está presente en los archivos de normal. Simplemente se inicia. Como controles usa el ratón, las teclas direccionales y hay un momento en el que el juego pedirá minimizar la pantalla.
## **Clases**
### ColecciónPantallas
...
...
@@ -54,7 +61,7 @@ Clase usada exclusivamente en el minijuego de conseguir la cartea. Funcionalemen
cuyos comportamientos se explicarán a posteriori. Lo que añade esta clase es la cola de los segmentos de brazo detrás suyo,
los cuales, por motivos de eficiencia, también usando punteros compratidos a sprites.
Cada vez que se mueve, se añade un nuevo elemento a la cola y se comprueba si está chocando con una hitbox.De hacerlo,
Cada vez que se mueve, se añade un nuevo elemento a la cola y se comprueba si está chocando con una hitbox.De hacerlo,
retrocede y cambia la dirección a la que está mirando, por lo que también se elimina el último elemento de la cola del brazo
que habíamos insertado previamente. Además, si el jugador lo requiere, se puede reiniciar, volviendo al estado el en que se construyó, sin cola
y en la posición inicial.
...
...
@@ -144,12 +151,18 @@ para que el personaje interactuase bien con el mundo, su sprite estuviese centra
### Texto
Clase que hace uso de Fuente para mostrar el texto por pantalla. Usa la clase SDL_Surface. Se le pasa la fuente y el texto para que lo renderice, similar a los sprites.
La función que usa SDL para mostrar por pantalla, que usa tanto esta clase como la anterior, es SDL_RenderCopy, que usa un objeto d ela clase
La función que usa SDL para mostrar por pantalla, que usa tanto esta clase como la anterior, es SDL_RenderCopy, que usa un objeto de la clase
renderer, la propia textura y el lugar donde se va a renderizar (la ventana).
### Video
Clase que se ocupa de mostrar los vídeos en pantalla. Se beneficia de usar ffmpeg. Se le pasan este y los subtítulos, y lo
ejecuta con un comando que se le pasa al sistema para que al acabar se cierre.
## **Dificultades**
Inicialmente el juego estaba pensado para ser jugable en la consola Nintendo DS, pero tuvimos complicaciones debido a que necesitábamos una selección muy amplia de bibliotecas con documentación muy escasa en blogs de 2011. Debido a esto y que la mayoría de emuladores no reconocían el archivo, decidimos traspasar las ideas a ordenador.
El siguiente reto fue rediseñar la interfaz para ser usable en pc. La mayoría de elementos no había problema, ya que era simplemente ampliar su tamaño. Sin embargo, para interacciones como cerrar la tapa de la consola para el puzle del calendario, tuvimos que adaptarlo a que se minimizase la pantalla.
Por último, tuvimos que adaptarnos y aprender a usar la biblioteca de SDL. Afortunadamente esta sí cuenta con documentación y es por lo general intuitiva de usar. Sin embargo, tuvimos el problema de que no hay forma, al menos que hayamos encontrado, de integrar el vídeo dentro del juego, por lo que recurrimos a ffmpeg.
A la hora de usar la mayoría de elementos de SDL, encapsulamos las funciones en clases propias, como las de fuente o audio.