Darwinbots Forum
Bots and Simulations => DNA - General => Topic started by: Ammeh on February 19, 2010, 10:52:06 AM
-
When you produce a poison, what's the best memory location to target?
I've been thinking about this, and the fact that you can only nullify one memory location... I'm just not coming up with any brilliant ideas that would turn an attacker into a piece of cake for you to nom
-
Probably .shoot. If it's poison, it's triggering because of -1 shots (and something else, I forget what, though). You can also target .up. Most bots aren't smart enough to detect that and use .dn instead. Won't help to kill them but you can run away effectively.
Venom has far more uses. You can do fun things like force them to store nrg to body.
-
Another idea is to use an entire set of target locations, rather than focusing on a single one.
For example;
Your bot is hit. This triggers the poison shot.
The target of the poison is the first element of the list, which, for our purposes, makes the guy stop shooting.
Next cycle, it iterates the target sequence and now targets .up, next cycle, .dn. This makes it impossible (or just very difficult) for most bots to escape.
Next, target eyes, common conspec locations, ect.
All the while, your bot is gearing up to either fight or run.
But I agree, venom has many more uses.
-
I think you want to make him stop shooting last or the other targets will be useless.
-
True. That definitely sounds like a priority error I would make.
-
Though shots usually take a few cycles to hit their target. So if you get hit with a shot chances are two or three shots are still incoming.
-
I'd agree with nums, you want to stop the shots first.
After that you COULD go for eye5 or eyef or maybe up. But you can't realy be sure the oponent is depending on those sysvars for essential tasks (If he doesn't turn or such)
So an easier way may be to go straight for the sysvars you know he'll be using, lige refxpos or refvelup (Not sure those are the correct names but you get the idea).
But shoot is a sure thing, he triggered the poison somehow, so he must be using it.
You can also zero out .deltie if you plan on counterattacking with a tie.
Or you can go for key locations like ploc, vloc or memloc. But again if the oponent doesn't use them it's a waste of effort.
You can also fire a venom shot in the direction you got hit from, this would give you more options.
-
Maybe make a list of the most used sysvars that would be affected with poison. Then you can have them stored in racial memory and randomly modified every generation. Kind of like fruitflies.
-
I always loved fruitflies, brilliant idea that one. I seem to recall that flyfruit had some kind of ability to become infected with foreign viruses and then use them as its own. Anyone care to enlighten me?
And yes, though poison is nice, firing venom in a targeted retaliation does offer far more options for screwing with the attacker. Instead of freezing him, you could get it to run backwards. Not to mention making it aim off to the side and fire its entire store of energy off, but IIRC, that was fixed as it was called a bug.
-
You can use venom to but its nice to have a little poison stored up incase your stabed in the back. And since there may be 3 or 4 more shots incoming it would also be nice to have a rotating ploc while you prepare your venom. Which one is only effective on other species? The poison or the venom? Or was it both?
-
They both affect any bot they hit. Species themselves are next to impossible to define, the only real way of telling them apart is by their conspec.
-
Fruitflies doesn't use viruses, and has no defences since a dead fruitfly isn't of any importance to their overall strategy. It just uses ties and racial memory, thats about it.
But the IM version Flyfruit (An alge) used fruitflies as a big virus along with some other random collected. And this one just zeroed out any sysvars that could be used in a harmfull way in the last gene. This way the odds favored new viruses landing among the 50 other viruses, wich means the alge would start spreading them by itself without being affected. (A virus lanfing in the last position would be able to affect/kill the alge)
-
To quote the wiki:
Venom does not affect bots of the same species as you.
That means that venom is useless against bots of the same species, which means it will be the first thing to go in an evo sim since most the time bots only fight themselves. Poison on the other hand is usefull against everyone.
-
Sorry to post twice in a row . But I had an idea. What if you target the other bots .ploc, then you are safe to shoot them, at the same time you can rotate to other targets to stop them from running away or fighting back. Out of curiousity, how long does poison have an effect on the bot?
-
I thought of an evil one .memloc
It often only gets set once, and if any bot uses it for conspec recognition, it would completely screw it up, more often than not making it attack it's own species indiscriminately.
-
When I write bots with a memory value that needs to be changed, I do something like this.
cond
*.memorylocation *.valueYouWantItToBe !=
start
*.valueYouWantItToBe .memorylocation store
stop
That way it can't be changed permanently
-
Again with the double posting, I know. But I had another really good idea. Set ploc to .robage. Anything they usually do when their born they do again and it will drive them insane. They might break the birth tie or gather values from racial memory. On second thought, this might only work on a few types of bots that use -1 shots and do really specific things at birth that could kill them if they did it later in life.
-
I already mentioned memloc a few posts back
Along with other values you set once like ploc and vloc...
But also mentioned you can't be sure they're put to use.
I think spinner actualy changes the oponent memloc sometimes... but once a bot is being messed with then it's usualy in a fight with you, so changing it's memloc is only usefull if you plan on loosing that confrontation
It can be usefull, but pushing 99 into mrepro and such will often have a bigger impact (I know you can't do that with poison, but spinner didn't use poison for this)
If I had to come up with a sequence for poison then my first 3 would be :
shoot
refxpos
refvelup
I'd probably start the cycle over after that, since you never know if more enemies are inbound. But the point is after those 3 sysvars are down your oponent can't shoot or track you, so you can run away or persue him instead.
Normaly I'd probably stick to shoot though, or maybe deltie (And possibly mkslime) if the bot also uses tie attacks, so if someone shoots at you they leave themselves wide open for ties. I actualy considered decoys with deltie and mkslime poison against Saber because it's so damn good at keeping ties off it and producing the slime it needs to stay free.
-
I'd choose .shoot and .delgene, then shoot them with a virus that doesn't cost much energy and stores 1 in fixpos
-
Unfortunatly you can't aim viruses, they just shoot out randomly and can hit anyone, including your self if you accelerate in the wrong direction after shooting it. Firing memory shots in .fixpos is always a good stategy though. You can use .reffixed to see if you've got them or not.
-
My favourite venom is putting -32000 into .shootval - that way, if they try to feed, they use all their energy and die with a sad little pop. Be careful not to use 32000 - the positive will make the shot incredibly lethal, while the negative one will only make the shot VERY long-ranged.