Darwinbots Forum
Bots and Simulations => DNA - General => Tips and Tricks => Topic started by: Mozgic on May 21, 2005, 04:39:43 AM
-
Do you know what is venom and what is it for.
-
Are you talking about in DB or in real life?
-
Yup I know how venom works :D
I coded it after all
-
Of course I talking about the venom in DB
-
He's from Croatia. I think he's trying to ask what is venom for.
By the way, the second "no" answer to the poll is mine :lol:
-
And the third is mine. I've looked at the code but I don't really understand the logic. Why are robots of the same species immune to venom? IMHO, species is only a convenient label but shouldn't have any in-game effect.
-
IMHO, species is only a convenient label but shouldn't have any in-game effect.
I totally agree
-
Venom initially effected all robots but it very quickly became apparent that it was utterly useless as a weapon when it effected friends and enemies alike.
Besdies, species being immune to their own venom is hardly a new idea.
Th Komodo Dragon has such a weapon. It is actually more a concoction of deadly bacteria than true venom but the concept remains the same. A dragon is immune to venom from another dragon.
Likewise the different animals (of the same species) that make up many jelly fishes such as the portugese man-o-war, are imune to the stings of other nematocysts in the same, and other, comunal structures.
Sea slugs are not only immune to poison and venom from others of their own species (and often other species too), but they use the venom that they ingest to defend themselves.
The same is true all over the animal kindom so why should DB be any different?
Anyway, was the question, how to actually use venom in DB or was it just simply a comment about un/realisticness of it. (I think that may be a completely new word :D )
-
I'm sorry but I find your explanation contradictory with the premise of DB. If animal species tend to be immune to their own venom (I think it's not the case for scorpions, by the way), it's because they have evolved so. Actually, I suppose they have either co-evolved their efficiency at producing venom and their immunity or become immune and then started producing venom. Anyway, DB is not about sea slugs fighting each other, it's about evolution, sea slugs being only one of the (hopefully) possible results.
-
Again, I agree. If some or many species are immune to their own poison it's because they evolved this feature. Some others don't.
So, if the point with poison is that it is useless unless it is innocuous to conspecifics, then - if you want to keep it - you have to redesign it in such way that organisms can evolve poisons, and evolve immunity to that poisons. Just deciding that organisms which share the same filename on your hard disk are immune to each other's poison, is a too quick and too dirty solution.
-
OK those are fair points but they do serve to highlight ways in which the code is deficient for real evolution.
There just isn't any way that a robot could evolve the ability to harmlessly absorb poison or venom since the program doesn't include that ability. If it did then all combat bots would use it as a matter of course and then venom and poison would be useless as weapons.
Remember that we have almost equal numbers of combat programmers and bot evolvers. While the long term aim of the program is to satisfy both camps equally, it is still a difficult process to acheive.
I am beginning to think that many parts of DB could be due for a complete overhaul to try and make evolution a lot more open ended. This needs some serious thought.
-
How about Venom/poison "Frequenties", similar to the way ties are different by the number stored in .tie?
Subsequently, shell and slime can be given frequenties, so that bots that know the frequenty are immune (unless they evolve into a new species of course)
-
Go Henk!! B) :clap:
That is a really cool idea and it would be quite easy to implement.
It solves the issues for both camps. Combat bots can stay immune by having the frequency coded into their DNA while evolution will be able to evolve such an ability (eventually)
I like it.
-
Rather then having frequenties, you could allow a way to counter venom/poison by finding what it affects, and setting a memory location to that. I.e. if the venom sets .tieval to 1000, then you'd have to store .tieval (not *.tieval) into, say... .delvenom.
This could allow for some pretty advanced immune systems, I guess.
Of course, then you might have to make the original features of venom/poison work when .vloc/.ploc is -1, rather then 0.
(Or have .delvenom be reset to -1 every cycle.)
-
The trouble with this idea is that venom and poison are specifically designed to overpower internal commands from DNA. just as direct memory shots do.
If venom/poison were unable to do this then it would really be a complete waste of time.
A common poison uses a .ploc location of .shoot. This disables the victim from shooting as long as it is poisoned.
In your scenario the victim would be able to ignore the poison completely simply by saving values of -1 into .shoot. The poison would be utterly useless in stopping the attack.
I much prefere the idea of having a frequency/phase/chemical signature that disables the poison/venom shot by matching the frequency/phase/chemical signature of the poison/venom shot and thereby enabling absorbtion of the shot rather than succumbing to its effect
-
hmmm Im lovin Henk's idea :)
If the "frequency" is stored in a memory location it would be possible to find it in an enemy bot and make yourself imune to their venom, which is in a way the same line I think that anonomous is on about.
-
It would still be a little too easy to directly read the poison's frequency using .memloc/.memval so maybe a little more thought is need here.
However it would be impossible to simultaineously block or absorb poison and venom if we use one single sysvar for phase/frequency intercept.
Definitely the start of a cool idea here.
-
I had a similar idea as Henk as I started reading the post. If you can assign a unique serial number to a bot's venom/poison/etc. based on its species, memory target, and maybe a custom value, then you can allow for the creation of antivenom/antipoison without underpowering venom and poison.
The easiest method would be a one-to-one deletion of venom for antivenom. If you have 30 antivenom that is keyed into a specific value (ie: protein marker) and I shoot you with 40 venom, then you lose 30 antivenom and get 10 venom worth of effect.
That encourages the simoltaneous buildup of attack and counter that we see in nature (I forget what it's called, but it's basically like how the US and Russia kept building more weapons. It's a mutual escalation that doesn't actually change the individual positions.)
The same idea could be applied to all attacks and defenses. A -6 shot that matches the target bots body serial would be useless (good for conspec immunity). If your shot matches a shell's serial, it could pass right through unhurt (a sudden leap in evolution for the attacker. Suddenly it can eat hundreds of times easier than its compatriots.)
-
IMHO, species is only a convenient label but shouldn't have any in-game effect.
Ideally, yes, but there are quite a few things in the game that keep track of a robot's lineage, some subtle, some not.
Mutation rates, for one. A few other things. The program is a large amalgamate of 'hey, at least it works'. I'm not saying if that's good or bad, but, hey, at least it works.
-
I am beginning to think that many parts of DB could be due for a complete overhaul to try and make evolution a lot more open ended. This needs some serious thought.
I agree on this and have stated that the DNA is a main source of limited evolution in another topic.
-
Ideally, yes, but there are quite a few things in the game that keep track of a robot's lineage, some subtle, some not. Mutation rates, for one. A few other things.
No, there aren't (well, there weren't in the code I released). Mutation rates, for instance: are not in any way species-dependant, but are individual for each robot. The only thing which is indeed linked to the species is the autotroph status.
The program is a large amalgamate of 'hey, at least it works'. I'm not saying if that's good or bad, but, hey, at least it works.
Well... :rolleyes:
-
I think I would side with Carlo on this.
The only things that are truly species dependent at present are the Autotroph settings and the (relatively) recent addition of the poison and venom immunities for conspecs.
I think that moving towards a venom/poison system such as Henk or Num suggested, is definitely the right way to go.
It does sound a little Star Trecky though. Multi-phasic shields to intercept shots with certain frequencies.
Could work well I guess but it just sounds a little Sci-fi.
-
You just have to use the right words to explain it :P
Multiphasic Shielding becomes Unique Protein Receptors.
Real cells have certain proteins that hang out of the cell's membrane to accept certain chemicals that can't pass through the membrane through osmosis, and to identify itself to other cells (I think white blood cells do this to identify conspecs?).
We could say that bots' shots have a special receptor that renders it disabled if it encounters a certain protein marker in the target bot. This could be the way that bots are immune to their own shots. If a whole species uses the same protein marker, then conspecs are immune to each other. If a bot changes it's shot receptor's to not recognize this protein marker, then it becomes a cannibot.
-
Yup it definitely sound better when you put it that way. :D
-
Scotty! Activate the Unique Protein Receptors! ;)