Welcome To Darwinbots > Newbie

So many questions.

<< < (2/2)

EricL:

--- Quote from: Moonfisher ---Q5- I noticed a lot of energy can be saved by "compiling" you code to eliminate conditions, is this intentional because natural evolution should be capable of optimizing the code, or should I be expecting costs on operators in the leagues ?
--- End quote ---
The F1 costs charge 0.004 nrg per conditional comparison whether or not it is in a cond section of a gene.  The leagues are about human authored bots competing and have little to do with evolution.  People code league bots for minimal conditionals to be effecient in combat given the F1 costs.


--- Quote from: Moonfisher ---Q6- How many store comands can be excuted in one cycle ?   And what actions can be performed at the same time ? Can I turn, accelerate, reproduce, comunicate through a tie, while making a new tie and shooting waste ? It just seems like eveything starts to fall appart when the dna gets too long. Is there a max nr of genes ? Max DNA length ?
--- End quote ---
You can store as many times per cycle as you want.  Only the last one to a given memory location will matter.  You can indeed do all those things in a single cycle.  Max genome length is currently 32000 base pairs.  There is no gene limit other than that dictated by the max genome length.


--- Quote from: Moonfisher ---Q7- If I write 50 .repro store and then 0 .repro store, will I reproduce ? Does the last or first value overide the other one ? I'm guessing the last value removes any previous ones and the first value is "destroyed" (So it won't intefere with anything).
--- End quote ---
You will not reproduce.  The later store of 0 overrides the eariler store of 50.  


--- Quote from: Moonfisher ---Q8- When are memmory shots and tie comands executed ? I would guess it's at the end of the dna execution  ? And what about ties, same thing ?
--- End quote ---
There are detailed posts on the order of execution in the DNA forum.


--- Quote from: Moonfisher ---Q9- When I tie to something, do I have to wait for the next cycle before I can interact with the tie, or does it appear right away ?
--- End quote ---
Short answer is you must wait.  trefvars, tiepres, tienum adn so on will not reflect the tie until the cycle after the .tie operation suceeds.

EricL:

--- Quote from: Moonfisher ---B2- trefbody didn't work in DB 2.43y, not sure about 2.43z.
--- End quote ---
This is a real bug that has been there a very long time.  trefbody was duplicatly defined in the internal sysvar table, for both memory locations 437 and 472.  The code was setting location 437 correctly, but the bot DNA parse routine was using location 472.   Thus the .refvar sysvar was essentially being mapped to the wrong location in both bot code and the console window.   This bug is at least 2 years old.  Very nice find.

Fixed in 2.43.1.  Location 437 is used as trefbody.  472 is now an unused location.

Moonfisher:
Ok, it looks like the angle and ref positions works, I just didn't negate the stack before adding my aim I guess...
Still dunno how I managed to get Aura to miss... works fine now... maybe somethings wrong with my memmory (the one in my head that is).

I'm guessing the answer to Q10 is either the same as for Q8 or difficult to explain.

Concerning the operations on memmory locations, it looks like it's something different which is affecting Aura, seems like it's first repro thing depended on sight, and it looks like changing your eyewidth now also reduces it's range, which I guess is only fair, but which also kinda sucks since now I have to rethink the eyes on the bot I'm working on, and that was about the only part I was done with

I'm assuming there are no plans to put costs on math opperations in the leagues then
I'm realy hopping you'll tell me if people are concidering this, since I'd be wasting a lot of time if the leagues suddenly adjust costs to weed out the heavy 1G bots.

And thank you for all the help

shvarz:
Don't know whether Eric has plans implementing this, but I'd guess that nothing like that is planned or will be planned. The general sentiment around here is that placing costs on DNA length or on specific commands is counterproductive, because it puts undue pressure on DNA structure that has nothing to do with the bot's behavior. In my own sim I got rid of all specific DNA command costs and I charge a tiny fee for DNA upkeep cost just to prevent overblown genomes produced by viruses. But recently it seems that my bots developed their own methods of controlling viruses so I will probably soon get rid of DNA upkeep cost too.

EricL:
I have no plans to add DNA operator costs and even if I did, it is unlikely there would be consensus to include them in the F1 league costs.

Regarding Q10, you can do simultanious tie operations in the same cycle if they are on the same tie and if separate sysvars exist for what you want to do.  So, a bots can share nrg, waste, shell, slime etc. all in the same cycle.  What you can't do currently is share nrg through multiple ties in a single cycle since the last write to .tienum will supercede any previous writes.

Navigation

[0] Message Index

[*] Previous page

Go to full version