## 5. Opciones (Options)

Existen unas cuantas opciones para configurar RealTimeBattle, reunidas en diferentes grupos. Nuestra filosofia es ofrecer la máxima libertad para configurar el juego. Esto siginifica que puede haber combinaciones de opciones que causen problemas en el juego.

## 5.1 Opciones de entorno (Environmental options)

Constante Gravitacional (Gravitational Constant):

  Es la aceleración producida por la gravedad. En la Tierra es 9,8 aproximadamente. Un valor superior incrementará la friccion, lo que frenará al robot.

Resistencia del aire (Air resistance):

  Como su propio nombre indica. Incrementa con la velocidad.

Rozamiento (Roll friction):

  La fricción en la direccion del robot si este no esta frenando.

Rozamiento 'lateral' (Slide friction):

  La friccion perpendicular a la direccion del Robot. Tambien es la maxima friccion si el robot esta frenando.

Enviar coordenadas del Robot (Send robot coordinates):

  Determina como seran enviadas las coordenadas a los robots. Estan disponibles las siguientes opciones:

  - 0 - no enviar coordenadas (por defecto)
  - 1 - enviar coordenadas relativas a la posicion de inicio
  - 2 - enviar coordenadas absolutas

## 5.2 (Opciones de Robot) Robot options

Máxima acceleración (Robot max acceleration):

  Los robots no pueden acelerar por encima de este valor ni...

Minima aceleracion (Robot min acceleration):

  ... por debajo de este.

Radio del Robot (Robot radius):

  Determina el tamaño del Robot.

Masa del Robot (Robot mass):

  Una masa mayor incrementará el daño en las colisiones.

Coeficiente de rebote (Robot bounce coefficient):

  Afecta al rebote de los robots en las colisiones. Si es cero los robots quedaran unidos en un choque, y si es uno se comportaran como bolas de billar perfectas.

Coeficiente de dureza (Robot hardness coefficient):

  Determina el daño que sufriran los robots en las colisiones. Cuanto mas bajo sea el valor, mas blando es el material de los robots.

Coeficiente de protección (Robot protection coefficient):

  Influye en la protección que lleva el robot. Este factor debe ser multiplicado por la energia de impacto para saber cuanto se reduce la energía del robot.

Delantera del Robot (Robot frontszie):

  La parte delantera del robot es de un material diferente que el resto, normalmente un material mas duro y mas protector, con lo que los robots pueden dañarse unos a tros chocándose entre sí.

Coeficiente de rebote frontal (Robot front bounce coefficient):

  Ver arriba.

Coeficiente de dureza frontal (Robot front hardness coefficient):

  Ver arriba.

Coeficiente de protección frontal (Robot front protection coefficient):

  Ver arriba.

Energia de inicio (Robot start energy):

  Representa la cantidad de energía que tendra el Robot al inicio de cada juego.

Máxima energia del Robot (Robot max energy):

  Comiendo galletitas, el robot puede incrementar su energía; aunque no mas allá de este valor.

Máxima velocidad de rotación (Maxium rotate speed):

  Indica cuan rápido puede girar un robot sobre si mismo. Unidades: radianes/sg .

Máxima velocidad de rotación del cañón (Robot cannon max rotate speed):

  Indica cual es la velocidad maxima de rotación del cañón. Ten en cuenta que el cañón y el radar se mueven de forma relativa al robot, con lo que la velocidad de rotación en un momento dado puede ser mayor que este valor.

Velocidad máxima de rotación del Radar (Robot radar max rotate speed):

  Indica cual es la velocidad de rotación maxima del radar. Mirar la nota anterior.

Niveles de energía del Robot (Robot energy levels):

  El Robot solo puede averiguar su energía de forma aproximada. Esta opción marca cuales seran los niveles de discretización usados.

## 5.3 Opciones de disparo (Shot options)

Radio del disparo (Shot radius):

  Es el tamaño de los disparos. Debería ser menor que el radio del robot (robot radius).

Velocidad del disparo (Shot speed):

  Los disparos se mueven a esta velocidad mas la velocidad del robot en la dirección del cañón.

Penalización de disparo (Shooting penalty):

  Cuando un robot dispara, él mismo sufre un daño. Este factor multiplicado por la energía del disparo indican el daño. Si el número de robots es grande, este número es reducido, por lo que practicamente no perderas energía al disparar.

Mínima energia de disparo (Shot min energy):

  Indica la menor potencia de disparo disponible. Un robot que trate de disparar con una energía menor a esta no efectuará el disparo.

Máxima potencia de disparo (Shot max potential energy):

  Los robots tienen una energía de disparo que incrementa con el tiempo, pero que nunca excede de este valor.

Velocidad de incremento de la energia potencial de disparo (Shot potential energy increase speed):

  Determina con cuanta rapidez se incrementara la energía de disparo mencionada anteriormente. Unidades: energia/sg.

## 5.4 Opciones Extra (Extra options)

Máxima energía de una Cookie (Cookie max energy):

  La energía de una cookie es una valor comprendido entre la máxima energía de una cookie y la minima energía de una cookie.

Mínima energía de una Cookie (Cookie min energy):

  Ver arriba.

Frecuencia de las cookies (Cookie frequency):

  El numero de cookies por segundo que apareceran.

Radio de la Cookie (Cookie radius):

  Tamaño de la cookie.

Maxima energía de una Mina (Mine max energy):

  La energía de las minas es un valor aleatorio comprendido entre el máximo valor de una mina y el minimo valor de una mina.

Minima energia de una mina (Mine min energy):

  Ver arriba.

Frecuencia de las minas (Mine frequency):

  El numero de minas por segundo que apareceran.

Radio de la mina (Mine radius):

  Indica el tamaño de la mina.

Color de las cookies (Cookie colour):

  Indica el color de las cookies en hexadecimal, en la forma -R-G-B (rojo-verde-azul).

Color de la mina (Mine colour):

  Ver arriba.

## 5.5 Opciones de tiempo (Time options)

Timeout:

  Es el máximo de tiempo que durara un juego. Cuando el tiempo acaba todos los Robots que aun viven serán eliminados, y ninguno recibirá punto alguno.

Tiempo de Refresco (Max timestep):

  Si la máquina se ralentiza temporalmente, el tiempo de refresco podría aumentarse. Mediante esta opción RealTimeBattle ralentizará el reloj cuando sea necesario, aunque ello suponga violar el término de Tiempo Real.

Escala de tiempo (Time scale):

  Incrementando la escala de tiempo en un valor mayor que 1 significa que el reloj del juego irá mas rapido que un reloj corriente. Cambiar este valor puede ser útil si quieres dar mas tiempo a los robots o si tienes un ordenador rápido y quieres incrementar la velocidad de juego.

Intervalos de refresco (Update interval):

  Esta opción determina el tiempo entre dos refrescos de robot. Por ejemplo, la frecuencia con la que los estados del robot serán cambiados. Este valor no es influenciado por la 'Escala de Tiempo' y no puede ser alterado una vez que el programa esta en marcha. La precision es de 1/100 sg (dependiendo de la precisión del sistema sobre el que se ejecuta Real Time Battle).

Robot startup time:

  Determina el tiempo entre la ejecución de los procesos Robot y el inicio de la secuencia. Si los robots son negros y no tienen nombre, tal vez debas incrementar este valor un segundo por encima del que tienes. Esto puede ocurrir, por ejemplo, si hay numerosos robots o si la computadora es demasiado lenta o si se ejecuta sobre un ordenador remoto.

Tiempo de inicio de la CPU (Start CPU time):

  En el modo competición (competition-mode) el tiempo de uso de la CPU es limitado. Al inicio de una secuencia el robot recibirá esta cantidad de tiempo.

Tiempo extra de CPU (Extra CPU time):

  Cuando el tiempo de inicio ha sido agotado, el robot recibiráa esta cantidad extra de tiempo.

Período extra de CPU (Extra CPU period):

  El tiempo extra de CPU será al menos un período completo de CPU, de otra manera el robot morirá en el juego actual.

Aviso de CPU (CPU warning percentage):

  Cuando el Robot ha usado este porcentaje de tiempo de CPU recibirá un mensaje de aviso.

Intervalo de chequeo (Process check interval):

  En modo competición (competition-mode) determina la frecuencia con la que se chequeará el uso de CPU.

Frecuencia de registro (Logging frequency):

  Con el fin de reducir los ficheros de registro (log files) puedes incrementar este valor. Con esta opción, la posición del robot será registrada cada n:th intervalos..

## 5.6 Tamaños de ventana (Window sizes)

Aqui se pueden ajustar los tamaños iniciales de las ventanas, llamadas la ventana de la arena (arena window), ls ventana de mensajes (message window), ls ventana de puntuacion (score window) y ls ventana de estadisticas. También puedes definir la posición de las tres primeras ventanas y de la ventana de control (control window).

## 5.7 Miscelanea (Miscellaneous options)

Escala de la Arena (Arena scale):

  Representa la escala de la Arena. Un valor de 2 proporciona un tamaño el doble de largo, esto es, ofrece un area 4 veces mayor.

Factor de Avance (Fast forward factor):

  Determina, cuando se esta en modo repetición (replaying), la velocidad de avance o de retroceso cuando de pulsa el boton de avanzar o de retroceder.

Máximo numero de robots admitidos simultaneamente (Max robots allowed simultaneously):

  Permite cambiar el numero maximo de robots que puede haber en una secuencia. Si hay demasiados, el sistema podría verse ralentizado (depende tambien de la maquina que se use).

Color de fondo (Background colour):

  El color de fondo y...

Color del primer plano (Foreground colour):

  ... el color del primer plano de la Arena.

Color de los mensajes de Real Time Battle (Colour for RTB messages):

  Color para el texto de los mensajes enviados por el RTB.

Ruta de búsqueda de robots (Robot search path):

  Es una lista de directorios separados por comas donde se buscaran los robots cuando se comience un nuevo torneo (new tournament) . De todas formas, siempre se buscara en el subdirectorio `Robots` situado en el directorio de instalacion del RTB (por defecto: `/usr/local/games/RealTimeBattle`).

Ruta de búsqueda de la Arena (Arena search path):

  Al igual que arriba, pero para los ficheros de Arena. Aqui el subdirectorio que llama `Arenas`.