# Manual de Spacejunk

## El juego

Controlas una nave espacial capaz de juntar basura cercana. Para ello deberás navegar en un sistema planetario interceptando la basura que se encuentra a la deriva. El juego se plantea como una serie de misiones de dificultad creciente. Al comienzo de cada misión se reporta la cantidad de piezas a recolectar.

## Los controles

### Teclas

Flecha izquierda | gira la nave a la izquierda
Flecha derecha | gira la nave a la derecha
Flecha arriba | enciende el motor de propulsión
Flecha abajo/* | acelera el tiempo
p | activa y desactiva el modo pausa
+/rueda del ratón | acerca la vista
-/rueda del ratón | aleja la vista
botón izquierdo del ratón | selecciona un punto de vista
Control | cambia el largo del trazado de la trayectoria de la nave
SHIFT+teclas de flecha | desplaza la vista en la dirección de la tecla de flecha
SHIFT+botón izquierdo del ratón | desplaza la vista en la dirección del puntero del ratón
s | guarda la imagen en pantalla en un archivo 0.bmp, 1.bmp o similar

### Computadora a bordo

La computadora a bordo tiene un sistema de navegación que indica la trayectoria de la nave en el futuro cercano. El camino es trazado según se observa desde algún punto de vista, el cuál se debe indicar previamente. Las misiones iniciales servirán para entender el uso de esta herramienta. Para diferentes maniobras diferentes puntos de vista serán necesarios.

#### Controles de la nave

| Nave: Indica la posición de la nave con respecto a otros objetos.
| Punto de vista: Indica el objeto seleccionado actualmente como punto de vista. El punto de vista es usado para trazar la trayectoria de la nave en el futuro cercano. Selecciona el punto de vista con un click del ratón.
| Trayectoria de la nave: La trayectoria que la nave hará en el futuro inmediato. La forma de la trayectoria depende de cuál sea el punto de vista.
| Basura: Objetos como estos son los que debes recolectar para completar misiones.
| Botones de zoom: Acerca o aleja la vista. Estos botones son equivalentes a presionar las teclas + o -, o a usar la rueda del ratón.
| Botón de ayuda: Muestra los objetivos de la misión.
| Botón para salir: Aborta la misión.
| Centrar la vista en el punto de vista: Centra la vista en el punto de vista.
| Centrar la vista en la nave: Centra la vista en la nave.
| Cambiar el largo de la trayectoria: Cambia el largo de la trayectoria de la nave. Hay tres largos posibles que son seleccionados presionando sucesivamente el botón. Es equivalente a presionar la tecla Control.
| Botón de acelerar el tiempo: Acelera el tiempo. Útil para viajes largos. Es equivalente a presionar la tecla Flecha abajo o la tecla *.
| Indicador de combustible: Indica la cantidad de combustible disponible en la nave. Se consume mientras el motor de la nave está encendido.
| Indicador de combustible escaso: Este indicador se volverá rojo cuando el combustible esté por acabarse.

Puntuación:
Puntos adquiridos por el jugador. El combustible sobrante y la bonificación por tiempo se suman a la puntuación al completar cada misión.

Bonificación por tiempo:
Cada misión comienza con una cierta cantidad de puntos de bonificación que se va decrementando a medida que pasa el tiempo.

Recolectar:
Cantidad de basura que resta juntar para completar la misión.

### Modo pausa

El modo pausa es activado y desactivado presionando la tecla 'p'. Es un modo donde el mundo permanece quieto mientras el jugador no hace nada. Si el motor de la nave es encendido, o si la nave se gira, o si el tiempo es acelerado, el mundo se mueve hasta que el jugador suelta las teclas, y entonces se detiene otra vez.

Este modo se provee para ahorrarle al jugador el esfuerzo de adquirir reflejos para experimentar el juego. Esta idea a sido tomada de Idealism, un juego de Jason Rohrer.

## Configuración

Spacejunk usa una ventana de 640x480 pixels. Es posible pedir una resolución más alta mediante argumentos en la línea de comandos o a través de un archivo de configuración, pero la calidad visual será inferior y el juego podría ejecutarse más lento.

### Archivo de configuración

En el directorio principal del proyecto hay un archivo llamado "config.txt". Las opciones en este archivo son leídas cada vez que Spacejunk es iniciado, y son escritas cada vez que Spacejunk finaliza. A continuación se presenta un ejemplo de los contenidos del archivo "config.txt":

    audiobuffer=9
    music volume=128
    fx volume=67
    fullscreen=no
    width=640
    height=480
    language=en

fullscreen | Indica si el juego debe ejecutarse en modo pantalla completa. El juego podría ejecutarse más rápido en este modo. Los valores válidos son "yes" y "no".
width | Ancho de la ventana. Los valores válidos son mayores o iguales a 640.
height | Altura de la ventana. Los valores válidos son mayores o iguales a 480.
language | Código del lenguaje a usar para textos en el juego. Los valores válidos son "en" para Inglés y "es" para Español.
fx volume | Indica el volumen para efectos de sonido. Los valores válidos van desde 0 hasta 100.
music volume | Indica el volumen para música. Los valores válidos van desde 0 hasta 128.
audiobuffer | Especifica el tamaño del buffer de audio para reproducir sonidos. Si el valor especificado es n, se pide un buffer de 2n muestras. Elija un valor más bajo si el sonido se oye cortado, o un valor más alto si el sonido se escucha retrasado con respecto a la acción. Los valores válidos van desde 8 hasta 13.

### Argumentos por línea de comandos

    USAGE: spacejunk [--fullscreen] [--audiobuffer n] [--width n] [--height n] [--lang [en|es]] [FILE]

Si FILE es especificado el editor de niveles es iniciado. Las otras opciones se comportan igual que las especificadas para el archivo "config.txt". Los valores dados por línea de comandos tienen preferencia sobre los indicados en el archivo "config.txt".