DarwinBotsManual
Abrir la app EnglishEN

Defensivos

Cómo se vive armado: qué defensa conviene contra qué enemigo, cuánta energía cuesta sostenerla y los bots del Bestiario que la usan de verdad.

En Defensas quedó la promesa de esta página: allá están los mecanismos (cómo se fabrica cada sustancia, qué absorbe y qué rebota), acá está la estrategia. Si venís de Un bot que dispara, ya sabés lo que un cazador le hace a un bot quieto con un −1 o un −6. Acá te ponés del lado del que recibe: cuándo conviene cada defensa, cuánto cuesta tenerla puesta y cómo la usan bots reales del Bestiario.

Cuál conviene contra cuál

Cada defensa sirve contra un enemigo distinto, y ninguna contra todos:

DefensaConviene contraNo frenaPrecio por 100 (liga F1)Se evapora
Caparazónrobo de cuerpo (−6) y veneno (−3)−1, memoria, virus10 (20)no
Babalazos y virustodos los disparos10 (20)2 % por ciclo
Toxinarobos de energía (−1), memoria y chupadas por lazo−625 (26)2 % por ciclo
Venenonada: es munición, castiga al que se acerca—100 (101)no

Leída como estrategia:

Caparazón y toxina se complementan: uno frena lo que el otro no. Un bot con las dos no le deja al cazador común ni el −6 ni el −1.

El precio de andar armado

Fabricar cuesta siempre la conversión (10 de energía por 100 de caparazón o de baba, 25 por 100 de toxina, 100 por 100 de veneno), y encima el escenario puede cobrarte una transacción por unidad. En la liga F1 de la app esa transacción dobla el precio del caparazón y de la baba (0,1 por unidad, Caparazón y Baba) y casi no toca la toxina y el veneno (0,01, Toxina y Veneno), todo multiplicado por Multiplicador de costos. En los escenarios de fábrica, salvo el Partido F1, los costos vienen en 0 y solo pagás la conversión.

Lo que de verdad cuesta es el mantenimiento. La baba y la toxina pierden el 2 % por ciclo (Defensas): mantener las dos por arriba de 100 es reponer una recarga de cada una cada ~35 ciclos. Medido en el bot que sigue, con los costos de la liga F1: 66 de energía para armar 100 de cada una, y después 46 cada ~35 ciclos (unos 1,3 por ciclo). El caparazón, después del primer pago, no vuelve a costar nada. Sumado a las cuotas de vivir (Energía, cuerpo y desechos), andar armado es un sueldo, no una compra.

De pie: Massed Hunter

Massed Hunter (Massed_Hunter_with_poison_and_shell_and_slime_F2_rayz_02-04-.txt) paga el seguro completo mientras puede: es un cazador (nueve ojos que cubren todo el frente, −1, −6, lazos) que además mantiene las tres defensas al tope con tres genes gemelos:

' Mientras tenga energia de sobra: caparazon, baba y toxina al tope
cond
 *.shell 100 <
 *.nrg 750 >
start
 100 .mkshell store
stop

cond
 *.slime 100 <
 *.nrg 750 >
start
 100 .mkslime store
stop

cond
 *.poison 100 <
 *.nrg 750 >
start
 100 .strpoison store
 7 .ploc store
stop

Fijate los dos detalles que hacen la política:

A pedido: Paranoia

Paranoia (Paranoia1_F1_Eight_-02.09.04.txt) no paga nada hasta que el peligro aparece, y entonces paga lo justo. Tiene dos disparadores.

Ve un bot que sabe atar. .reftie no mide lazos puestos: cuenta cuántas veces aparece la orden de atar en el ADN del bot que está mirando. Si ve alguien con esa orden (y no es de su especie), arma baba y toxina, y avisa a los suyos por olor para que se armen también:

' Si vi un bot que sabe atar: baba, y aviso por olor
cond
 *45 0 >
 *.slime 100 <
 *.nrg *.slime >
start
 50 .mkslime store
stop

cond
 *45 0 >
start
 .out1 inc
stop

' Y el que ve el aviso, se arma tambien
cond
 *.in1 0 >
start
 45 inc
stop

En la corrida contra un bot que solo ataba lazos, baba y toxina subieron y se quedaron apenas encima de 100 (hace 50 cuando baja de 100). Y de paso Paranoia se lo comió: también sabe cazar por lazo, y el atacante terminó cadáver al ciclo 40.

Le pega un disparo. El bot sabe qué le llegó y de qué lado: el sabor está en .shflav, y .shup, .shdn, .shsx o .shdx según el ángulo. Un −6 dispara la curación, en cuatro genes gemelos (uno por lado; el de atrás además contesta):

' Golpe de cuerpo por atras: caparazon nuevo y cuerpo rehecho
cond
 *.shdn -6 =
 *.body *.nrg !%=
start
 50 .mkshell store
 50 .strbody store
 -1 .backshot store
 5 .up store
stop

Cada curación sale 55 de energía (5 por los 50 de caparazón, 50 por los 5 de cuerpo que devuelve .strbody) más lo que el golpe robó: el −6 se lleva parte de la energía y del cuerpo. En 120 ciclos contra un cazador de −6, Paranoia pasó de 0 a 527 de caparazón, terminó con más cuerpo que al arrancar (1023 contra 1000) y siguió vivo, pagando unos 1900 de energía; el cazador ganó igual (1454), pero más lento. La versión para el −1 (su gemela con .fdbody) le alcanzó menos: contra el cazador del tutorial lo vació antes del ciclo 60. Reaccionar cura; prevenir, como el erizo de abajo, ni te deja herir.

Esquivar y contestar, sin sustancias

El último bot no fabrica ninguna de las cuatro: Untitled defensive shooter (Untitled_defensive_shooter_Testlund_2012.txt) lee el disparo que recibe y reacciona. Un −1 lo hace saltar al azar (con un gen aparte); y cualquier golpe que no sea un regalo lo gira hacia el tirador, lo echa para atrás a fondo y le contesta con los desechos:

' Cualquier golpe que no sea un regalo: me giro hacia el tirador,
' retrocedo y le contesto con los desechos
start
 *.shflav 0 !=
 *.shflav -2 != and
 0 .shflav store
 *.aim *.shang sub .setaim store
 *.maxvel .dn store
 -4 .shoot store
 *.waste .shootval store
stop

.shang es el ángulo del disparo que te pegó: con *.aim *.shang sub el bot se orienta hacia de dónde vino. Es una defensa elegante y gratis… hasta que el enemigo insiste: en la corrida, contra el mismo −1 que no pudo con el erizo, saltó al azar con cada golpe recibido, se fue vaciando de todos modos y quedó cadáver antes del ciclo 75. La reacción llega siempre un ciclo tarde; la toxina parada rebate el golpe en el mismo ciclo en que te lo tiran.

Un erizo mínimo

Acá tenés la versión mínima de «toxina mientras me sobra energía», completa y lista para sembrar:

' Erizo de toxina: quien lo muerde, queda mudo
cond
 *.robage 0 =
start
 .shoot .ploc store
 0 .pval store
stop

' Toxina mientras tenga energia de sobra
cond
 *.poison 1000 <
 *.nrg 500 >
start
 100 .strpoison store
stop
end

El porqué del 1000: la toxina solo rebota golpes más chicos que ella, y un −1 de un cazador de 1000 de cuerpo pega con 220. Mantener 1000 cuesta unos 5 de energía por ciclo (25 por cada reposición de 100, más el 2 % que se evapora; con los costos de la liga F1, 5,2), mientras haya energía de sobra.

Contra el cazador del tutorial, en 200 ciclos: el cazador lo mordió tres veces en los primeros ciclos, cada rebote le sumó ~146 ciclos de envenenamiento, y con su .shoot borrada ciclo a ciclo no volvió a disparar nunca. Su energía quedó clavada en 3000: cero ganancia. El erizo gastó 1400 en mantenerse tóxico y terminó entero. El mismo cazador contra un blanco quieto lo dejó cadáver antes del ciclo 40, con 6163 de energía.

La variante de caparazón, contra un cazador de −6:

' Erizo de caparazon: el caparazon se come los -6
cond
 *.shell 1000 <
 *.nrg 500 >
start
 100 .mkshell store
stop
end

Como el caparazón no se evapora, este erizo solo repara lo que le comen los disparos: unos 2,8 de energía por ciclo bajo fuego. En 200 ciclos terminó con el cuerpo intacto y el cazador sin haber ganado nada. Sin caparazón, el blanco quedó cadáver antes del ciclo 60 y el cazador pasó de 3000 a 14871.

Qué probar después