Talk:Short Bot League
Bots like "The One" abuse a loophole in the SB league.
They have only one really long gene and an empty cond. generally this one gene ends like:
- 50 *.body 250 sub sgn 0 floor *.nrg 2000 sub sgn 0 floor *.eye5 30 sub 0 floor sgn -1 mult 1 add mult mult .repro mult store
- *.thisgene -1 mult 3 add abs *.genes 1 sub sgn .delgene mult store
- stop
- end
- '(yes. it deletes any second gene automatically, too)
This gene can contain ANY single calculation as long as the stack does not overflow during the calculation till store (so basically the only restriction is the maximum of logic comparison per line before "mult store").
- the gene contains 10-25 lines that store an action.
- Infront of store there is always mult, this nullifies store if the stack has 0 on top because it gets stored on a useless place!
- Infront of mult there is the sysvar, anything works.
- Infront of the action is the result of a calculation, it is either 0 (= stored at a useless place) or the stored integer. The simple formular is disigned in a way to favor "0" or "1" to mult with. That formular makes the condition like in cond. Most times it sinply ends with sgn. Some lines just start with a static number and the formular decides if that number reaches store with a target other than 0 or not.
Such a 1-gene bot can do anything a multigene bot can do (limited in ~7 logic operations befor storing, but there are (32bit) ways around that), and it is even more flexible in evolution. For it even cond start and stop are junk code. Its only disadvantage is that it triggers ALL stores even if they do nothing usefull. But guess what, this bot is designed to do many usefull things at once and has huge body-reserves.
It eats Devincio_Dominator_Invincibalis and Devincio_Eversor 5:100 for breakfast!