`def reprothreshold 971`

def childnrg 972

start

10000 rnd .reprothreshold store

45 rnd 5 add .childnrg store

.delgene inc

stop

start

*.reprothreshold 20 rnd 10 sub add .reprothreshold *.robage - 1 add 0 floor mult store *.childnrg 2 rnd 1 sub add .childnrg *.robage - 1 add 0 floor mult store

*.eye1 *.eye2 floor *.eye3 floor *.eye4 floor *.eye5 floor *.eye6 floor *.eye7 floor *.eye8 floor *.eye9 floor *.eye1 over sub ++ sgn 0 floor swap *.eye2 over sub ++ sgn 0 floor 2 mult swap *.eye3 over sub ++ sgn 0 floor 3 mult swap *.eye4 over sub ++ sgn 0 floor 4 mult swap *.eye5 over sub ++ sgn 0 floor 5 mult swap *.eye6 over sub ++ sgn 0 floor 6 mult swap *.eye7 over sub ++ sgn 0 floor 7 mult swap *.eye8 over sub ++ sgn 0 floor 8 mult swap *.eye9 swap sub ++ sgn 0 floor 9 mult floor floor floor floor floor floor floor floor 5 sub .focuseye store

*.refvelup *.refeye *.myeye sub abs sgn mult 40 50 *.eyef sub sgn 0 floor mult add .up store

*.refveldx *.refeye *.myeye sub abs sgn mult 40 5 *.robage sub sgn 0 floor mult add .dx store

*.refxpos *.refypos angle *.eyef sgn mult *.refeye *.myeye sub sgn abs mult *.aim 100 rnd 50 sub add *.eyef - ++ 0 floor *.refeye *.myeye sub abs - ++ 0 floor add sgn mult add .setaim store

-1 *.refnrg *.refbody sub sgn 0 floor mult -6 *.refbody *.refnrg sub sgn 0 floor mult add *.refeye *.myeye sub abs sgn mult *.eyef 50 sub sgn 0 floor mult .shoot store

8 *.shoot abs sgn mult .shootval store

*.nrg *.body sub abs .strbody *.nrg *.body sub sgn 0 floor mult .fdbody *.body *.nrg sub sgn 0 floor mult add store

*.nrg *.reprothreshold sub sgn 0 floor *.childnrg mult .repro store

stop

Work in progress. Not quite F3 yet, as it uses delgene, albeit only on the first cycle of its existence.