Bots and Simulations > Bot Tavern

I hope this is the right place :(

(1/3) > >>

-venom-:
this is my first bot it is simply an animal_minimalis with a few upgrades
any tips would be nice

'Alge_Minimaxis
'By: -venom-  
'base: nums' animal_minimalis
'it has no regular shoting capabilities but
'it creates a shell and chaces other bots to
'infect them with its virus.
'warning: I recomend having a corpse eater

cond
 *.robage 0 =
start
 7 989 store
stop

cond
 *.vtimer 0 =
start
 3 .mkvirus store
stop

cond
 7 *989 !=
start
*.thisgene 1 rnd 2 mult -1 add add .delgene store
stop

cond
 *.eye5 0 >
 *.refeye *.myeye !=
start
 *.refveldx .dx store
 *.refvelup 30 add .up store
 50 .vshoot store
stop

cond
 *.shflav 0 !=
 *.shflav -2 !=
start
 1256 *.shang sub .aimshoot store
 8 .shootval store
 100 .vshoot store
 0 .shflav store
stop

cond
 *.eye5 0 =
 *.refeye *.myeye = or
start
 314 rnd .aimdx store
stop

cond
 *.shell 250 <
start
 100 .mkshell store
stop

cond
 *.nrg 15000 >
start
 30 .repro store
stop
end

'EDIT: Added to bestiary

Jez:
First bot of 2007!!  

It is good at chasing the other bots, unfortunately because it doesn't shoot it doesn't gain energy and so never reproduces.

I would suggest using *.vtimer a bit more;

When it is 0 you can start making a new virus and use a normal shoot gene.

When it is 1 you can fire the virus (remember viruses are shot in a random direction)

When it is >1 you can use a normal shoot gene.

Also you have misspelled vtimer in gene 2, easy to spot if you select a bot while the sim is running or paused, r/click on bot and 'show robot info' then select the dna button. Any misspelled words are shown as 0's

-venom-:
ok I'v changed it now it still hunts for food and randomly keeps
shooting a newer virus. im thinking of making it only attack
bots that are infected with it's virus. but I dont know how (yet)


'Animal_Minimaxis 2
'By: -venom-
'orij by nums
'now eats to gain energy and randomly fires
'virus wich deletes the infected bots genes and
'replaces them with a new gene that continualy
'spreads the virus.
'  
'note: virus spreads better in v 2.42.9s  


' Gene 1 Food Finder
cond
 *.eye5 0 >
 *.refeye *.myeye !=
start
 *.refveldx .dx store
 *.refvelup 30 add .up store
stop

' Gene 2 Eat Food
cond
 *.eye5 50 >
 *.refeye *.myeye !=
start
-1 .shoot store
 *.refvelup .up store
stop

' Gene 3 shoot back
cond
 *.shflav 0 !=
 *.shflav -2 !=
start
 1256 *.shang sub .aimshoot store
 8 .shootval store
 400 .vshoot store
 0 .shflav store
stop

' Gene 4,5,6,7 Avoiding others
cond
 *.eye5 0 =
 *.refeye *.myeye = or
start
 314 rnd .aimdx store
stop

cond
start
*.refbody 2 div dup
stop

cond
*.eye5 0 >
*.body >
*.refeye 1 >
start
-15 .up store
stop

cond
*.eye5 50 >
*.body >
*.refeye 1 >
start
.setaim .shoot store
*.aim .shootval store
stop

' Gene 8 make shell
cond
 *.shell 250 <
start
 100 .mkshell store
stop

' Gene 9 make slime
cond
 *.slime 100 <
start
 1000 .mkslime store
stop

' Gene 10 Reproduce
cond
 *.nrg 15000 >
start
 30 .repro store
stop

' Gene 11,12,13 virus genes
cond
 *.robage 0 =
start
 7 989 store
stop

cond
 *.vtimer 0 =
start
 3 .mkvirus store
stop

cond
 7 *989 !=
start
 400 .vshoot store
 *.thisgene .mkvirus *.vtimer -1 mult 1 add mult store
 676 .myeye store
 676 *.memloc store
 *.mkvirus 1 add .delgene *.mkvirus *.thisgene sub dup mult sgn mult
 *.thisgene 1 rnd 2 mult -1 add add .delgene store
stop
end

'EDIT: Added to Bestiary

Jez:
Very nice, got all the way up to Callidus in the current F1 league before being beaten.

I'm not sure of the best way to identify if another bot has been hit by your virus, I guess you could use memval and memloc If your virus puts one value in memloc but your bots that aren't affected by virus have another value stored in memloc then any bots not affected that aren't one of yours would return a 0  

You might want to consider adding a body/nrg balance to your bot btw. Because they have such small bodies they are easy targets for -6 shots.

-venom-:
yes I could but wouldn't that make them attack there own kind too

unless.....

Navigation

[0] Message Index

[#] Next page

Go to full version