DarwinBotsManual
Abrir la app EnglishEN

El inspector

El panel de un bot en Observar: su resumen, lo que siente, su memoria, su ADN, su consola, su familia, el diseñador de ojos y el Player Bot para manejarlo con el teclado.

El inspector es el panel que ocupa el lado derecho de Observar cuando elegís un bot. Muestra qué tiene, qué ve, qué hay en su memoria y qué genes de su ADN corrieron, y deja tocar algunas cosas: escribir en su memoria, mover sus ojos o manejarlo con el teclado.

Cómo se abre

Para cerrarlo, tocá × (Cerrar el inspector) o hacé clic en un lugar vacío del mundo; el panel vuelve a En vivo. Si el bot muere mientras lo mirás, aparece El bot murió: los datos quedan como estaban en su último ciclo y Cerrar cierra el panel.

El panel se actualiza solo varias veces por segundo mientras la simulación corre. En pausa, Un ciclo lo hace avanzar de a un paso.

La cabecera

Arriba van el color y el nombre de su especie, su número (el que lo identifica en toda la corrida), su generación, cuántas mutaciones acumuló y su edad en ciclos. Debajo, unas etiquetas marcan su estado cuando corresponde:

EtiquetaQué significa
vegetalhace fotosíntesis (Cloroplastos y vegetales)
fijono se mueve (.fixed)
paralizadole pegó veneno (.paralyzed)
envenenadole pegó toxina (.poisoned)
con virustiene un virus en incubación (.vtimer, ver Virus)
fertilizadorecibió esperma (.fertilized)

La especie, el linaje y los parientes necesitan la vista enriquecida. Con la clásica, el inspector lo avisa y ofrece Activar la vista enriquecida.

Seguir, Familia y Distancia genética

Tres botones debajo de la cabecera:

Resumen

La primera pestaña junta lo que más se mira:

Sentidos

Lo que el bot percibe, releído cada medio segundo.

Ojos. Un abanico dibuja los nueve ojos como los ve el bot: la dirección y el ancho de cada uno, y su alcance; el de foco va en rojo. Debajo, una tabla con cada ojo: lo que ve (Valor), su Dirección (.eye1dir y siguientes), su Ancho (.eye1width y siguientes) y su Alcance. Cómo se calcula lo que ve cada ojo está en Visión.

Tacto: los golpes de contacto por cada lado (.hitup, .hitdn, .hitsx, .hitdx), el total .hit y el ángulo .hitang.

Gusto (impactos recibidos): los disparos que le pegaron, por lado (.shup, .shdn, .shsx, .shdx), su tipo .shflav y su ángulo .shang.

Otros: .pain, .pleas y .daytime.

Memoria

Una tabla con las sysvars más usadas del bot, su dirección y su valor, releídos cada medio segundo. Van agrupadas: Cuerpo y energía, Movimiento, Acciones, Visión, Lazos y Contadores y memoria libre. Cada nombre tiene su ficha en la referencia de sysvars (por ejemplo .nrg, .aim, .shoot, .refeye o .numties).

Para mirar algo que no está en la lista, escribilo en el cuadro de arriba y tocá Consultar. Vale:

La consulta queda en el grupo Consultas, arriba, hasta que la quitás con ×. Si el nombre no es nada que el bot conozca, la tabla dice «no existe».

ADN

El ADN del bot tal como lo tiene ahora, con sus mutaciones, coloreado y con la cuenta de líneas. Empieza con unos comentarios con su generación y sus mutaciones. Copiar lo pasa al portapapeles, para pegarlo en el editor de ADN o en un .txt. Releer lo vuelve a pedir: el ADN puede haber cambiado si el bot mutó en vida (Mutaciones).

Esta pestaña muestra el texto; qué genes corrieron en el último ciclo se ve en Resumen (El inspector) y, con más detalle, con debug en la consola.

Consola

La consola es la herramienta de depuración del original: lee y cambia la memoria de este bot con comandos de texto. Escribí el comando y tocá Enviar (o Intro); las flechas ↑ y ↓ recorren los comandos anteriores. Los botones de arriba mandan los más usados de un toque, y Limpiar borra la salida.

ComandoQué hace
printeyeestado de los ojos: lo que ve cada uno, .eyef, .focuseye, direcciones y anchos
printtouchel tacto de los cuatro lados
printtasteel gusto (impactos recibidos) de los cuatro lados
printmem .var o ? .varel valor de una sysvar o de una dirección (? 310)
set .var vguarda v en una sysvar o en una dirección
energy epone la energía del bot en e
cycle ncorre n ciclos
execrobejecuta el ADN de todos los bots sin avanzar el ciclo
play / pausearranca o pausa la simulación
showdnaremite a la pestaña ADN
debugla traza del intérprete de este bot en el último ciclo
helpla lista de comandos
clearborra la salida

Después de cada comando se actualizan los genes activos de Resumen.

? .nrg
set .up 30
energy 5000
cycle 1
debug

Este ejemplo no es ADN, son líneas de consola: mira la energía, empuja al bot hacia adelante con .up, le da 5000 de energía, corre un ciclo y muestra la traza.

Control

La última pestaña tiene dos herramientas para intervenir: el Player Bot y el diseñador de ojos. Ninguna se puede usar durante un partido F1, y lo que hacen sobre la memoria del bot no queda en la corrida.

Player Bot

Te deja manejar el bot. Con Controlar este bot, el bot apunta siempre al puntero del mouse sobre el mundo (la app escribe en .setaim) y cada tecla escribe un valor en una dirección de su memoria mientras la tenés apretada.

  1. Elegí el bot y abrí la pestaña Control.
  2. En Teclas, elegí un juego: Flechas y espacio, WASD y espacio, Ninguna o tus Personalizadas.
  3. Tocá Controlar este bot. Sobre el mundo aparece Player Bot activo.
  4. Mové el mouse sobre el campo y usá las teclas. Esc sale.

Los juegos de fábrica escriben esto:

FlechasWASDDirecciónValor
↑W1 (.up)40
↓S2 (.dn)40
→D4 (.dx)40
←A3 (.sx)40
espacioespacio7 (.shoot)−1

Con el bot mirando al puntero, ↑ lo lleva hacia el puntero y espacio dispara hacia él (−1 es el disparo que le saca energía al otro, ver .shoot). Los laterales son relativos al bot: .dx lo empuja hacia su derecha y .sx hacia su izquierda, así que → lo corre a la derecha de hacia donde mira.

La tabla de teclas se edita: tocá la tecla de una fila y apretá otra para cambiarla; Memoria acepta una dirección (1 a 999) o el nombre de una sysvar como .up; Valor, un entero entre −32000 y 32000; Invertida escribe el valor mientras la tecla está suelta. Agregar tecla suma una fila y la × de cada fila la quita. Guardar preset baja tu tabla a un archivo .pbkp y Cargar preset… la lee. La app recuerda tus teclas en este navegador.

Los hijos que nazcan mientras controlás al bot quedan resaltados y también responden; si el bot muere, el control pasa a uno de ellos. Un clic en otro bot le pasa el control. Al salir se quitan los resaltados.

Diseñador de ojos

Muestra la Dirección y el Ancho de los nueve ojos (.eye1dir … .eye9dir, .eye1width … .eye9width). Cada cambio se escribe en la memoria del bot al instante, y el abanico de arriba muestra el efecto. Sirve para probar a ojo una configuración de visión antes de escribirla en el ADN. Releer vuelve a leer los valores del bot. Qué significan direcciones y anchos está en Visión.

Cuando te guste, Escribir en el ADN arma un gen que fija esos ojos al nacer, para agregar al final del ADN. Empieza así (con tus valores) y sigue igual, ojo por ojo, hasta el 9; acá se ve recortado después del ojo 2:

Cond
*.robage 0 =
Start
-70 .eye1dir store
100 .eye1width store
'
-50 .eye2dir store
100 .eye2width store
'
Stop

Como la condición es .robage igual a 0, el gen corre una sola vez, en el primer ciclo del bot, y los valores quedan en su memoria. Copiar lo pasa al portapapeles y Descargar eyes.txt lo baja. Si el bot es uno tuyo, Abrir el ADN de… copia el gen y abre su ADN en el editor de ADN para que lo pegues.

Facilidades trae tres atajos para probar con calma:

Los dos primeros son cambios de parámetros en caliente: valen para toda la simulación y quedan registrados en la corrida. El tercero toca solo la memoria del bot y no queda.