Author Topic: Bot combat tips  (Read 10726 times)

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
Bot combat tips
« on: May 04, 2006, 12:40:47 PM »
There are two ways you can beat another bot in a league:
  • Outreproduce your enemy (like the Zerg)
  • Be better at individual combat (like the Protoss)
Here, you can post tips for the second option: Beating your enemy in one-on-one combat

***

Messing up your enemy:

.setaim .shoot store
*.aim .shootval store

^ This gene will cause an enemy to face away from you, even if they are facing away to start with. It is very effective.

***

Counterattacking:

cond
*.shflav 0 !=
*.shflav -2 !=
start
*.shang .aimshoot store
32 .shootval store
-6 .shoot store
0 .shflav store
stop

^ If shot, a bot with this gene will shoot back with deadly powered-up shots

cond
*.eye5 0 =
*.refeye *.myeye = or
*.refshoot 0 = or
*.shflav 0 !=
*.shflav -2 !=
start
942 *.shang sub .setaim store
0 .shflav store
stop

^ A bot with this gene will immediately turn to face an attacker if no bots, a conpec or a veg, is in sight

***

Accuracy:

*.refxpos *.refypos angle .setaim store

^ This gene will aim you at an enemy with very high precision

***

Anyone got any other tips?

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Bot combat tips
« Reply #1 on: May 04, 2006, 12:47:07 PM »
Quote from: Elite
Messing up your enemy:

.setaim .shoot store
*.aim .shootval store

^ This gene will cause an enemy to face away from you, even if they are facing away to start with. It is very effective.

 How about:
 
 cond
 *.shflav 0 !=
 start
 .aimdx .shoot store
 628 .shootval store
 *.shang .aimshoot store
 stop
 
 That would be quite effective as a "leave me alone, I'm busy" counter.

Offline abyaly

  • Bot Destroyer
  • ***
  • Posts: 363
    • View Profile
Bot combat tips
« Reply #2 on: May 04, 2006, 12:58:48 PM »
cond
*.eye5 50 >
*.refeye *.myeye !=
*.shup 0 !=
*.shflav -2 !=
start
.shoot .shoot store
-2 .shootval store
stop




Both of the primary combat methods you mentioned gain benefit from finding more food than your enemy. This is important enough that it may deserve it's own category.
« Last Edit: May 04, 2006, 03:27:37 PM by abyaly »
Lancre operated on the feudal system, which was to say, everyone feuded all
the time and handed on the fight to their descendants.
        -- (Terry Pratchett, Carpe Jugulum)

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
Bot combat tips
« Reply #3 on: May 04, 2006, 03:54:12 PM »
Quote from: abyaly
Both of the primary combat methods you mentioned gain benefit from finding more food than your enemy. This is important enough that it may deserve it's own category.
Yeah, your bot should quickly secure food locations and defend them

However, if you are efficient enough you can get food just from killing your enemies

***

Venom is also a great tactic

There's some fun venom ideas here - in my tutorial

Offline abyaly

  • Bot Destroyer
  • ***
  • Posts: 363
    • View Profile
Bot combat tips
« Reply #4 on: May 04, 2006, 04:57:35 PM »
How about firing cancer viruses at veggies? ^^
Hmm, maybe I should make vector do that.
Lancre operated on the feudal system, which was to say, everyone feuded all
the time and handed on the fight to their descendants.
        -- (Terry Pratchett, Carpe Jugulum)

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
Bot combat tips
« Reply #5 on: May 04, 2006, 05:04:31 PM »
Quote from: abyaly
How about firing cancer viruses at veggies? ^^
Hmm, maybe I should make vector do that.

Hey, that isn't a bad idea

If you make Vector do it though you will loose the end-all antivirus protection

Offline abyaly

  • Bot Destroyer
  • ***
  • Posts: 363
    • View Profile
Bot combat tips
« Reply #6 on: May 04, 2006, 05:09:08 PM »
Quote from: Elite
Hey, that isn't a bad idea

If you make Vector do it though you will loose the end-all antivirus protection
Ill make it lose conspec recognition if the number of genes is wrong. Its family will cure it of the virus.
Lancre operated on the feudal system, which was to say, everyone feuded all
the time and handed on the fight to their descendants.
        -- (Terry Pratchett, Carpe Jugulum)

Offline abyaly

  • Bot Destroyer
  • ***
  • Posts: 363
    • View Profile
Bot combat tips
« Reply #7 on: May 05, 2006, 11:58:31 PM »
Man, veggie cancer viruses are awesome. They give my bot such a huge advantage. Carrying them will be worth the effort of designing a more complex viral defense  
Lancre operated on the feudal system, which was to say, everyone feuded all
the time and handed on the fight to their descendants.
        -- (Terry Pratchett, Carpe Jugulum)

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
Bot combat tips
« Reply #8 on: May 06, 2006, 05:46:20 AM »
You can pretty easily defend yourself from your own viruses. If you set a condition in the virus gene like:
Code: [Select]
cond
*50 1 !=
start
50 .repro store
314 rnd .aimdx store
stop
you can keep them from activating in your own bot, by setting 50 to one at age zero

   In the virus tutorial we all kind of forgot that part, it has been corrected  

Theres also species specific stuff you can do with them but it's kind of tricky, I wrote about over in the wiki if your curious.
« Last Edit: May 06, 2006, 05:47:06 AM by Endy »

Offline abyaly

  • Bot Destroyer
  • ***
  • Posts: 363
    • View Profile
Bot combat tips
« Reply #9 on: May 06, 2006, 08:16:38 AM »
This is the gene I used:
Code: [Select]
cond
*.myeye 55 !=
start
50 .repro store
500 .aimdx store
-2 .shoot store
*.thisgene .mkvirus store
200 .vshoot store
stop
And entirely by coincidence, this virus is also deadly to bots ^^


The viral defense issue comes up because it can't be an SG bot if it uses this method. So I can't indiscriminantly .delgene gene 2 every cycle.

My current understanding is that viruses are inserted between the first and last gene. Is this accurate?
« Last Edit: May 06, 2006, 08:17:15 AM by abyaly »
Lancre operated on the feudal system, which was to say, everyone feuded all
the time and handed on the fight to their descendants.
        -- (Terry Pratchett, Carpe Jugulum)

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
Bot combat tips
« Reply #10 on: May 06, 2006, 09:48:41 AM »
Quote from: abyaly
My current understanding is that viruses are inserted between the first and last gene. Is this accurate?
Yes, that is accurate. You can .delgene gene two when you have more than 2 genes but the problem is that if the virus can do as it likes for about one cycle.

Here's a virus I programmed that wipes enemy DNA clean. Test your antivirus defences against it:

cond
' conspec recognition
start
 *.thisgene 1 rnd 2 mult -1 add add .delgene store
stop

You may have to place your 'main gene' last and the virus first. If your 'main gene' detects that *.thisgene = 3 then it .delgenes gene 2. That way the virus can't override your antivirus.

Use *.thisgene to detect the virus as *.genes can be tampered with

Use delgene to delete the virus as soon as you detect it. If you don't then it may .delgene one of your genes.
« Last Edit: May 06, 2006, 09:49:58 AM by Elite »

Offline abyaly

  • Bot Destroyer
  • ***
  • Posts: 363
    • View Profile
Bot combat tips
« Reply #11 on: May 06, 2006, 11:16:12 PM »
It is starting to seem to me that the most difficult part of writing DNA code is finding out exactly how everything works. There are many general descriptions available, but finding the precise ones is like an easter egg hunt.
Lancre operated on the feudal system, which was to say, everyone feuded all
the time and handed on the fight to their descendants.
        -- (Terry Pratchett, Carpe Jugulum)

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Bot combat tips
« Reply #12 on: May 07, 2006, 12:54:30 AM »
Alot of things are in constant flux as the developers (specifically me) change certain behaviors from release to release.

Feel free to add insights you find to the wiki.

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
Bot combat tips
« Reply #13 on: May 07, 2006, 08:09:10 PM »
You could just delgene the viral cell as soon as you shoot it. Basically you'd be shifting from a 2 gene bot, to a SG bot. If the virus is self-replicating and it hits it's target it'll keep spreading, but not affect your own bots due to your conspec recognition coding.

Offline abyaly

  • Bot Destroyer
  • ***
  • Posts: 363
    • View Profile
Bot combat tips
« Reply #14 on: May 07, 2006, 10:56:12 PM »
But there is a sacrifice. I was testing the viral vector against the sg vector. Even with cancer, the veggies can be wiped out. I would rather  have the bots continue to be able to create their own food supply.
« Last Edit: May 07, 2006, 10:57:46 PM by abyaly »
Lancre operated on the feudal system, which was to say, everyone feuded all
the time and handed on the fight to their descendants.
        -- (Terry Pratchett, Carpe Jugulum)