Darwinbots Forum
Bots and Simulations => DNA - General => Topic started by: Botsareus on January 03, 2008, 02:02:26 PM
-
1.) Is there any action memory (exsept for the ammount of ties) that is preseved between sycles?
2.) Can a reguler command overwrite venum? ex:
venum does 1 .up
reguler command (found in the dna) does -5 .dn
Does the dna execute 1 .up or 5 .up?
-
Correct me if I'm wrong, but the system treats them as vectors meaning a negative dn and a positive up have the absolute values added. Your example would end up as 6 .up.
Also, the shflav and shang variables are retained. There's probably quite a few others, but I don't know what they are.
Oh, on second thought, .fixpos is too. Most bots check for that, though.
-
Correct me if I'm wrong...
You're not wrong.
-
1.) I pritty much answered my first qustion: Even .nrg can be "action memory" because it is changed when ever an action memory like .aimdx is exsecuted. This means I have to rewise my sexrepro system for a third time.
2.) venum does 1 .up then robot does 5 .up the result is (1 + 5) .up I.e. 6 .up
venum does 1 .up then robot does -5 .dn the result is (1 - abs(-5)) .up I.e. 4 .dn , I think I get it... (Do I get it?)
What about:
.fixpos .vloc store
1 .venval store
Does that overwrite .up or .dn etc...
-
Right now I am thinking of adding prosses_venum as part of the d_s structure (see sexrepro post)
I am not sure if that makes the most sense... (each d_s structure resets all the action commands that are not preserved between sycles)
The new qustion is: can venum directly change commands that are preserved between sycles. That means I will have to add somthing like p_p_v ' prosses_preserved_venum
-
1.) I pritty much answered my first qustion: Even .nrg can be "action memory" because it is changed when ever an action memory like .aimdx is exsecuted. This means I have to rewise my sexrepro system for a third time.
2.) venum does 1 .up then robot does 5 .up the result is (1 + 5) .up I.e. 6 .up
venum does 1 .up then robot does -5 .dn the result is (1 - abs(-5)) .up I.e. 4 .dn , I think I get it... (Do I get it?)
What about:
.fixpos .vloc store
1 .venval store
Does that overwrite .up or .dn etc...
You're only a quarter right. Memory values get overwritten when new values are stored, but their actions can add together.
1.up by venom will overwrite 5 .up by the memory
1.up by venom and -5 .dn by bot will cause a net action of 6 .up
-
Ok lets say I have
5 .aimdx 50 .repro 5 .aimsx
Now I want to use venum "5 .aimdx"
then 50 .repro 5 .aimsx
What will happen?
Will it do 50 .repro 10 .aimsx ??
or what?
As far as I can understand
.fixpos .vloc store
1 .venval store
will overwrite any motion commands, am I right?
-
Ok lets say I have
5 .aimdx 50 .repro 5 .aimsx
You need some stores in there. But I think I get what you mean.
Now I want to use venum "5 .aimdx"
then 50 .repro 5 .aimsx
What will happen?
Venom (it's spelled with a 'o') will overwrite .aimdx with 5. Venom always gets to overwrite one single memory location with a new value until it runs out. The .repro and .aimsx will remain unchanged.
However, after the DNA is executed, the program decides to move the bot based on the DNA. .aimdx and .aimsx will work against each other and cancel out. Resulting in no net motion during the cycle.
.fixpos .vloc store
1 .venval store
will overwrite any motion commands, am I right?
You're right, but that's not because venom is overwriting the other bot's movement commands. It's causing the bot to fix itself in place. fixpos has a higher precedant than any of the other motion commands, so writing a value to fixpos will overpower whatever you write in to .up, etc.
-
( spelling)
Now I want to use venum "5 .aimdx"
then 50 .repro 5 .aimsx
What will happen?
It will do 5 .aimdx 50 .repro 5 .aimsx??
However, after the DNA is executed, the program decides to move the bot based on the DNA. .aimdx and .aimsx will work against each other and cancel out. Resulting in no net motion during the cycle.
I know , but I have seen some robots do that...
-
For instance, "10 up store" can be done as "10 .up". The period prefix is now associated with storing instead of label lookup.
And something like *.nrg is now done as *nrg (Trying to do *.nrg will result in a syntax error).
I was writing it to mach this system , so
You need some stores in there. But I think I get what you mean.
Does not really apply
-
That's the new DNA system for DB3. Doesn't really apply when you talk about venom and stuff, since there's no venom to use in the new version. But whatever floats your boat.
-
since there's no venom to use in the new version.
Is there anything like venum ? What about viruses?
WHY IS THERE NO VENUM, I could cry
-
I meant that the new version isn't usable since all that exists so far is a core DNA module, a little GUI code, and a little physics code. The new version will have venom in some form or other.