Darwinbots Forum

Bots and Simulations => DNA - General => Tips and Tricks => Topic started by: Mozgic on May 21, 2005, 04:39:43 AM

Title: Do you know what is venom?
Post by: Mozgic on May 21, 2005, 04:39:43 AM
Do you know what is venom and what is it for.
Title: Do you know what is venom?
Post by: Light on May 21, 2005, 07:31:42 AM
Are you talking about in DB or in real life?
Title: Do you know what is venom?
Post by: PurpleYouko on May 21, 2005, 11:16:30 AM
Yup I know how venom works  :D

I coded it after all
Title: Do you know what is venom?
Post by: Mozgic on May 22, 2005, 09:04:02 AM
Of course I talking about the venom in DB
Title: Do you know what is venom?
Post by: Carlo on May 22, 2005, 04:58:28 PM
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:
Title: Do you know what is venom?
Post by: Sprotiel on May 22, 2005, 05:35:04 PM
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.
Title: Do you know what is venom?
Post by: Carlo on May 22, 2005, 07:00:45 PM
Quote
IMHO, species is only a convenient label but shouldn't have any in-game effect.
I totally agree
Title: Do you know what is venom?
Post by: PurpleYouko on May 22, 2005, 07:34:42 PM
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 )
Title: Do you know what is venom?
Post by: Sprotiel on May 22, 2005, 08:22:42 PM
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.
Title: Do you know what is venom?
Post by: Carlo on May 23, 2005, 04:06:00 AM
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.
Title: Do you know what is venom?
Post by: PurpleYouko on May 23, 2005, 08:57:17 AM
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.
Title: Do you know what is venom?
Post by: Old Henk on May 23, 2005, 10:24:14 AM
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)
Title: Do you know what is venom?
Post by: PurpleYouko on May 23, 2005, 10:54:19 AM
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.
Title: Do you know what is venom?
Post by: Anonomous Guest Person on May 23, 2005, 11:06:43 AM
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.)
Title: Do you know what is venom?
Post by: PurpleYouko on May 23, 2005, 11:18:30 AM
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
Title: Do you know what is venom?
Post by: Light on May 23, 2005, 12:05:47 PM
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.
Title: Do you know what is venom?
Post by: PurpleYouko on May 23, 2005, 12:19:27 PM
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.
Title: Do you know what is venom?
Post by: Numsgil on May 24, 2005, 02:02:16 AM
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.)
Title: Do you know what is venom?
Post by: Numsgil on May 24, 2005, 05:25:23 AM
Quote
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.
Title: Do you know what is venom?
Post by: Greven on May 24, 2005, 06:19:26 AM
Quote
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.
Title: Do you know what is venom?
Post by: Carlo on May 24, 2005, 08:31:19 AM
Quote
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.

Quote
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:
Title: Do you know what is venom?
Post by: PurpleYouko on May 24, 2005, 09:28:02 AM
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.
Title: Do you know what is venom?
Post by: Numsgil on May 24, 2005, 12:33:53 PM
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.
Title: Do you know what is venom?
Post by: PurpleYouko on May 24, 2005, 01:08:41 PM
Yup it definitely sound better when you put it that way.  :D
Title: Do you know what is venom?
Post by: Old Henk on May 24, 2005, 01:41:51 PM
Scotty! Activate the Unique Protein Receptors!  ;)