Bots and Simulations > The Gene depository

Timerless timer

(1/4) > >>

Reiyuki:
cond
*.robage 20 mod 1 =
start
stop

Activates gene every 20 cycles


(change to *.robage 50 for 50 cycles, etc)


Took some tinkering to figure out, but was beautiful once I got it.

gymsum:

--- Quote from: Reiyuki ---cond
*.robage 20 mod 1 =
start
stop

Activates gene every 20 cycles


(change to *.robage 50 for 50 cycles, etc)


Took some tinkering to figure out, but was beautiful once I got it.
--- End quote ---

I think you should make a bot that uses timed behaviors and timed triggers. You'll need a master gene switcher to prevent retardation or wrong behaviors. I think this would be perfect for say a mating ritual, or even a complex movement by a multi-bot.

Reiyuki:

--- Quote from: gymsum ---
--- Quote from: Reiyuki ---cond
*.robage 20 mod 1 =
start
stop

Activates gene every 20 cycles


(change to *.robage 50 for 50 cycles, etc)


Took some tinkering to figure out, but was beautiful once I got it.
--- End quote ---

I think you should make a bot that uses timed behaviors and timed triggers. You'll need a master gene switcher to prevent retardation or wrong behaviors. I think this would be perfect for say a mating ritual, or even a complex movement by a multi-bot.

--- End quote ---

Actually, I find it most useful in creating very efficient bots for harsh environments.  My test bot was a grasshopper that 'hopped' every 20 cycles but was otherwise dormant unless food was in sight.
[you]Extremely[/you] efficient, almost hibernating.

bacillus:
This would be a very useful approach when using Single Store bots, actually.
If you want to limit this to just a few stores, it would be more efficient to multiply one of the values instead of making a new gene:

start
 VALUE *.robage 20 mod 1 sub sgn abs .MEMLOC mult store
stop

EricL:
FYI, this will only work for bots of age 32000 or below.  Using .timer is better for periodic firing since it wraps...

Navigation

[0] Message Index

[#] Next page

Go to full version