Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - ashton15

Pages: 1 2 [3] 4 5 ... 7
31
Newbie / Darwinbots replacement/clone
« on: April 15, 2010, 11:02:15 AM »
Quote
No, I mean having a "read" command which would take the value of the memory location pointed to on the the top of the stack and put it on top of the stack. I didn't know there was a "*" command, I thought you had to put it before the number of the variable you wanted to read.

Like 706 ¬ looks for all instances of 706 and put the memory locations containing it on the stack? Or like 1 *.daytime - ++ add * which reads .up in the daytime and .dn at night?

Quote
As for your neural net, what about things that are related, but don't happen in the same cycle. For example, if you shoot, you get -2 shots back in the future, not instantly.

Simple the neural net computes like computer RAM and functions with information stored on the "hard drive" which knows things like which synapses connect which to things and then it also has space just for memory that can be written to, somewhere in the unconditional tutorial thing it talks about some other way to use memory which might be helpful. Didn't entirely understand though.

32
Newbie / Darwinbots replacement/clone
« on: April 15, 2010, 07:22:36 AM »
Quote from: Houshalter
I'm a bit lost reading that   Wasn't the purpose of DB to avoid using neural networks? What we need is a good "read" command so that we can use memory like an array. Theres a store, but no read.

By read do you mean * like *.eye5 reads .eye5 or .eye5 * or *505 or even 505 * it's pretty easy to read a single value, and for multiple memory locations you have things like the stack and duplicate commands... would probably help a lot if you could read various positions in the stack if that's what you mean... or do you mean having multiple stacks... I'm slightly confused by what you mean.

As for the neural network I'm trying to create something which looks at every varible and tracks which ones change when another changes and draws "synapses" between them and some varibles are read only but can be adjusted by other varibles and the goal of the robot is to boost these varibles as high as possible through the manipulation of writing varibles and then occasionally a string of random DNA is thrown in (each operator is represented by a value) and has a varible assigned to it and then if that adjusts things synapses are made and it refines it to help towards making .pleas and .percentage_shots_hit as high as possible through experimentation... right now what I have is pretty simple, when it's done however I think it could be programmed into php or something and attached to a program to make it better with varibles such as performance and especially things like industrial robots... not sure it'll get quite that far however.

33
Newbie / Darwinbots replacement/clone
« on: April 14, 2010, 02:36:42 PM »
Yeah i'm having problems with too few memory locations but i've worked out I can store multiple values in one location through a system like binary for instance so 1,1,0 might equal 6 or 2,1,0 with 3 bieng the highest posible value I'd have 63 (0*3 + 1*9 + 2*27) bit too complicated for my liking... also having a small bot circle allows an extra 22 memory locations using every memloc and out sysvar though it's not that practical as it just converts one memory location into another type that in most situations is less useful about twenty-five thousandish should be adequate to create a multi-cellular DB with human intelligence... and maybhe 400 out and in sysvars... is a neural net the same thing as having a web of what varibles every other varible alters? because that's the kinda thing I'm trying to make... I want a bot that can understand that shootval is log2 and changing it affects how far or how powerful a shot is and then that links to a formula somewhere that knows how much it should decrease shootval by because it knows that's what it has to do in order to hit an enemy and thus get energy... it doesn't just do things without thinking... that's the main problem I have with darwinbots. anyways I tried it and made this though it doesn't apear to work

condition
   readmybmem1 1 =
gene
   3 moveforwards
endgene

condition
   sight 999 <
   sight 1 >=
   samespecies 0 =
gene
   refvelocity + 3 moveforwards
   refangle setangle
endgene

condition
   mymass - bondmass 1 >
gene
   sharebmass
endgene

condition
   mymass bondmass >
   myenergy - bondenergy 250 >=
gene
   250 sharebenergy
endgene

condition
   sight 50 >
gene
   1 eat
endgene

condition
   totalbonds 0 =
   samespecies 0 =
gene
   1 writebmem1
   growbond
endgene

condition
   readmybmem1 0 =
   totalbonds 1 =
   myenergy 500 >
gene
   growbond
endgene

condition
   readmybmem1 0 =
   totalbonds 2 =
   myenergy 1500 >
gene
   growbond
endgene

condition
   myenergy 5000 >
gene
   reproduce
endgene

34
Mutations / Mutation: from evolve-2(x) series
« on: April 11, 2010, 11:37:04 AM »
Look at fish, there eyes are to the side so they can see more things such as predators or maybhe food but less likely where it doesn't disepear after a few seconds like in darwin bots... I think part of it is because dawrinbots are tremoundsly short-sighted when you think about it, they can only see the width of about 20 cells whilst we see accuratly for about quarter of a kilometer, thus darwinbots have to make the most of the little we can see, the only reason our eyes point forwards is it means we can focus eyes on a single object and I guess at some point in our brain we do some trigonometry or some other thing to work out how far away anything is, bots bieng as short-sighted as they are it's also not as important to judge distances, maybhe if you allow bots to develop longer-ranged sight (maybhe longer range costs more energy like shootval) and delete the ability to know where exactly something is (x & y co-ords) so that a bot can only judge distance on apparent size and calculations then encourage complex MBs I don't think it would be long until you get some complex solutions to sight...

35
Mutations / Mutation: from evolve-2(x) series
« on: April 10, 2010, 11:56:16 AM »
Quote from: peterb
I was a bit amazed by this bot, the main movement gene was mutated to move sideways ???.
We almost never design bots to move like crabs, but apparently its not so bad.
the eyes acted more like ehmm a fishnet, the robot didn't move to fast, but still was pretty reproductive.
Only when it sees something it moves forward to eat to eat it, otherwise it walks sidewards.
I never would think it would work, but it was pretty good actually.
It had lots of offspring, and .... it seamed to catch better !!,  but why ??

Hmm maybe the side walk of a crabs in nature, does have a benefit ??

What i can think of is that the catching, although more difficult,
has less chance of chasing long, resulting, in giving up, 'out of reach targets' earlier,
and getting the ones nearby more easily...???
well its a gues.




[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']''''''''''''''''''''''''  Gene:  1 Begins at position  1  '''''''''''''''''''''''
 cond
 *.robage 30 >
 *.eye5 0 >
 *68 0 =
 start
 *67 sgn 1 add sgn 60 store
 -32 *.eye5 div .shootval store
 -1 .shoot store
 *.refxpos *.refypos angle .setaim store
 -1 *60 mult .shoot store
 0 .fixpos store
 *.refvelup 20 add *60 mult .up store
 *.refveldx 7 div *60 mult .dx store
 *67 1 add 67 store
 *.pain *.pleas sub sgn 1 add sgn 1 sub abs 3 mult *64 add 64 store
 *.pain sgn 1 sub abs 66 store
 *0 sgn 1 sub abs *66 add sgn *64 add 64 store
 *64 150 mod sgn 1 sub -628 mult .aimright store
 *64 150 mod sgn 1 sub -1 mult .fixpos store
 *.slime 50 sub sgn 1 sub sgn -7 mult 60 store
 *.refmulti *60 mult .mkslime store
 *.eye5 40 sub sgn 1 sub sgn -1 mult *.refvelup 61 store
 *.up 60 store
 60 *0 add * .up store
 stop
''''''''''''''''''''''''  Gene:  1 Ends at position  151  '''''''''''''''''''''''

''''''''''''''''''''''''  Gene:  2 Begins at position  152  '''''''''''''''''''''''
 cond
 *.eye5 0 =
 *.robage 30 >
 *68 0 =
 start
 *.eye9 *.eye1 sub sgn 54 store
 *54 130 mult .aimright store
 *54 abs -1 add abs 5 mult .up store
 *54 abs -1 add *.mass mult .dn store
 *.robage -2 div .dx store
 10 .up store
 *.eye6 *.eye4 sub sgn 63 store
 *63 35 mult .aimright store
 *.eye6 *.eye4 add sgn abs .fixpos store
 *.pain 1 sub abs .pain store
 *54 abs 65 store
 *63 add *65 abs sgn 65 store
 *65 *64 mult 64 store
 *67 1 add 67 store
 stop
''''''''''''''''''''''''  Gene:  2 Ends at position  244  '''''''''''''''''''''''

''''''''''''''''''''''''  Gene:  3 Begins at position  245  '''''''''''''''''''''''
 cond
 *.nrg 16000 mod 0 =
 *.mass 2 >
 start
 -4 .shoot store
 *.waste .shootval store
 20 .strbody store
 20 .mkshell store
 -40 67 store
 30 68 store
 stop
''''''''''''''''''''''''  Gene:  3 Ends at position  273  '''''''''''''''''''''''

''''''''''''''''''''''''  Gene:  4 Begins at position  274  '''''''''''''''''''''''
 cond
 *.robage 30 <
 start
 *.tiepres .deltie store
 500 .dx store
 *.robage 5 sub sgn 1 add sgn 500 mult .dn store
 *.robage 20 sub 0 floor 9 mult .aimright store
 stop
''''''''''''''''''''''''  Gene:  4 Ends at position  305  '''''''''''''''''''''''

''''''''''''''''''''''''  Gene:  5 Begins at position  306  '''''''''''''''''''''''
 cond
 *68 0 >
 start
 41 .aimright store
 4 .repro store
 *68 1 sub 68 store
 stop
''''''''''''''''''''''''  Gene:  5 Ends at position  322  '''''''''''''''''''''''

''''''''''''''''''''''''  Gene:  6 Begins at position  323  '''''''''''''''''''''''
 cond
 *.body *.refbody <
 *69 20 <
 *.robage 5 mod 0 =
 start
 300 .shoot store
 50 .shootval store
 *69 1 add 69 store
 stop
''''''''''''''''''''''''  Gene:  6 Ends at position  347  '''''''''''''''''''''''

I found something similar to this and so decided it was because as they moved there eyes saw more of the enviroment and therefore it could spot veggies easier, I thus changed the eye setup so that the eyes pointed to the sides like so:

342  dup *.eye1dir   sub sgn abs .eye1dir   mult store
 223  dup *.eye2dir   sub sgn abs .eye2dir   mult store
 176  dup *.eye3dir   sub sgn abs .eye3dir   mult store
 78   dup *.eye4dir   sub sgn abs .eye4dir   mult store
 -78  dup *.eye6dir   sub sgn abs .eye6dir   mult store
 -176 dup *.eye7dir   sub sgn abs .eye7dir   mult store
 -223 dup *.eye8dir   sub sgn abs .eye8dir   mult store
 -342 dup *.eye9dir   sub sgn abs .eye9dir   mult store
 260  dup *.eye1width sub sgn abs .eye1width mult store
 -20  dup *.eye2width sub sgn abs .eye2width mult store
 115  dup *.eye3width sub sgn abs .eye3width mult store
 85   dup *.eye4width sub sgn abs .eye4width mult store
 70   dup *.eye5width sub sgn abs .eye5width mult store
 85   dup *.eye6width sub sgn abs .eye6width mult store
 115  dup *.eye7width sub sgn abs .eye7width mult store
 -20  dup *.eye8width sub sgn abs .eye8width mult store
 260  dup *.eye9width sub sgn abs .eye9width mult store


I'm more of a progammer than an evolver like you so this worked fine for me but it probably would be hurt my mutations easily... anyways it worked even better than moving to the side because it coverd way more space as it moved than either of the methods.

36
RANT / I HATE GUESTS
« on: April 08, 2010, 02:29:34 PM »
If your paranoid go to the main page scroll to the bottom whwere it has a list of peeps online and then show details by either member name or last click to see what they're doing and put your mind at ease, plus you must have been a guest at some point in order to visit and create an account.  

37
The Gene depository / My personal gene bank
« on: April 05, 2010, 04:35:22 PM »
Here are a few things I've made. I planned to only release them with goggle goo: a bot I'm working on. I decided sharing is caring though so here's some bits and bobs I've made.

A more effcient way to store

dup *.memorylocation  sub sgn abs .memorylocation  mult store

Increases the efficiency of a store command, dramtically in some cases only stores a value if that value is not already stored in a certain location, an effective application could be:

87 dup *.memloc  sub sgn abs .memloc  mult store
27 dup *.memval  sub sgn abs .memval  mult store


For a memloc/memval based conspec recognition system this would reset the locations whenever they were alterd and at birth so poison would not badly damage them.

Body management

This keeps the body to energy ratio the same, storing 10 in .nrgratio results in a 1:1 ratio of body to energy storing 100 in .nrgratio results in having ten times the ammount of energy as body whilst storing one gives ten times the ammount of body compared to energy.

def nrgratio 100

start

10 dup *.nrgratio sub sgn abs .nrgratio mult store

100 .strbody *.nrg *.body 10 div *.nrgratio ++ mult       sub sgn 0 floor mult store
100 .fdbody        *.body 10 div *.nrgratio    mult *.nrg sub sgn 0 floor mult *.body 100 sub sgn 0 floor mult store

stop


A bit simpler, keeps body at a certain level, the main disadvantage to this is it will try and reach that body level at any cost, even if that means running out of energy and dieing

def bodyvalue 100

start

15 dup *.bodyvalue sub sgn abs .bodyvalue mult store

*.bodyvalue *.body sub .strbody *.bodyvalue *.body sub sgn abs mult store
*.bodyvalue *.body sub - .fdbody *.bodyvalue *.body sub sgn abs mult store
stop


Eye Setups

No fancy coding here, just two setups I plan to use, having the eyes to the side gives the benefit of whilst travelling forwards a wider path is surveyed

342  dup *.eye1dir   sub sgn abs .eye1dir   mult store
 223  dup *.eye2dir   sub sgn abs .eye2dir   mult store
 176  dup *.eye3dir   sub sgn abs .eye3dir   mult store
 78   dup *.eye4dir   sub sgn abs .eye4dir   mult store
 -78  dup *.eye6dir   sub sgn abs .eye6dir   mult store
 -176 dup *.eye7dir   sub sgn abs .eye7dir   mult store
 -223 dup *.eye8dir   sub sgn abs .eye8dir   mult store
 -342 dup *.eye9dir   sub sgn abs .eye9dir   mult store
 260  dup *.eye1width sub sgn abs .eye1width mult store
 -20  dup *.eye2width sub sgn abs .eye2width mult store
 115  dup *.eye3width sub sgn abs .eye3width mult store
 85   dup *.eye4width sub sgn abs .eye4width mult store
 70   dup *.eye5width sub sgn abs .eye5width mult store
 85   dup *.eye6width sub sgn abs .eye6width mult store
 115  dup *.eye7width sub sgn abs .eye7width mult store
 -20  dup *.eye8width sub sgn abs .eye8width mult store
 260  dup *.eye9width sub sgn abs .eye9width mult store


Pharlell center wieghted vision allows a bot to taget food in front better whilst keeping an eye out for predators approaching from behind

342  dup *.eye1dir   sub sgn abs .eye1dir   mult store
 143  dup *.eye2dir   sub sgn abs .eye2dir   mult store
 46   dup *.eye3dir   sub sgn abs .eye3dir   mult store
 3    dup *.eye4dir   sub sgn abs .eye4dir   mult store
 -3   dup *.eye6dir   sub sgn abs .eye6dir   mult store
 -46  dup *.eye7dir   sub sgn abs .eye7dir   mult store
 -143 dup *.eye8dir   sub sgn abs .eye8dir   mult store
 -342 dup *.eye9dir   sub sgn abs .eye9dir   mult store
 260  dup *.eye1width sub sgn abs .eye1width mult store
 135  dup *.eye2width sub sgn abs .eye2width mult store
 60   dup *.eye3width sub sgn abs .eye3width mult store
 25   dup *.eye4width sub sgn abs .eye4width mult store
 -20  dup *.eye5width sub sgn abs .eye5width mult store
 25   dup *.eye6width sub sgn abs .eye6width mult store
 60   dup *.eye7width sub sgn abs .eye7width mult store
 135  dup *.eye8width sub sgn abs .eye8width mult store
 260  dup *.eye9width sub sgn abs .eye9width mult store


Natrually selecting values

More or less does what fruitflies does but this has been slightly expanded, you will have to replace every instance of initvalue with the value you want the bots to start the sim with and every instance of maxvalue with what you want the maximum value selected to be. You could proably modify it to generate negative number and within a certain range ie -19 to 76 or 22 to 2098 rather than 0 to 168.

def initvalue 68
def maxvalue 69
def mutationchance 70

def rand1  71
def rand2  72
def rand3  73
def rand4  74
def rand5  75
def rand6  76
def rand7  77
def rand8  78
def rand9  79
def rand10 80
def rand11 81
def rand12 82
def rand13 83
def rand14 84
def rand15 85
def rand16 86
def rand17 87
def rand18 88
def rand19 89
def rand20 90

def select1 971
def select2 972
def select3 973
def select4 974
def select5 975
def select6 976
def select7 977
def select8 978
def select9 979
def select10 980
def select11 981
def select12 982
def select13 983
def select14 984
def select15 985
def select16 986
def select17 987
def select18 988
def select19 989
def select20 990
 
start

5 dup *.mutationchance sub sgn abs .mutationchance mult store

*.maxvalue *.mutationchance mult rnd .rand1  *.robage sgn abs -- - mult store
*.maxvalue *.mutationchance mult rnd .rand2  *.robage sgn abs -- - mult store
*.maxvalue *.mutationchance mult rnd .rand3  *.robage sgn abs -- - mult store
*.maxvalue *.mutationchance mult rnd .rand4  *.robage sgn abs -- - mult store
*.maxvalue *.mutationchance mult rnd .rand5  *.robage sgn abs -- - mult store
*.maxvalue *.mutationchance mult rnd .rand6  *.robage sgn abs -- - mult store
*.maxvalue *.mutationchance mult rnd .rand7  *.robage sgn abs -- - mult store
*.maxvalue *.mutationchance mult rnd .rand8  *.robage sgn abs -- - mult store
*.maxvalue *.mutationchance mult rnd .rand9  *.robage sgn abs -- - mult store
*.maxvalue *.mutationchance mult rnd .rand10 *.robage sgn abs -- - mult store
*.maxvalue *.mutationchance mult rnd .rand11 *.robage sgn abs -- - mult store
*.maxvalue *.mutationchance mult rnd .rand12 *.robage sgn abs -- - mult store
*.maxvalue *.mutationchance mult rnd .rand13 *.robage sgn abs -- - mult store
*.maxvalue *.mutationchance mult rnd .rand14 *.robage sgn abs -- - mult store
*.maxvalue *.mutationchance mult rnd .rand15 *.robage sgn abs -- - mult store
*.maxvalue *.mutationchance mult rnd .rand16 *.robage sgn abs -- - mult store
*.maxvalue *.mutationchance mult rnd .rand17 *.robage sgn abs -- - mult store
*.maxvalue *.mutationchance mult rnd .rand18 *.robage sgn abs -- - mult store
*.maxvalue *.mutationchance mult rnd .rand19 *.robage sgn abs -- - mult store
*.maxvalue *.mutationchance mult rnd .rand20 *.robage sgn abs -- - mult store
*.rand1  .select1  *.maxvalue *.rand1  sub sgn mult *.select1  sgn mult *.robage sgn abs -- - mult store
*.rand2  .select2  *.maxvalue *.rand2  sub sgn mult *.select2  sgn mult *.robage sgn abs -- - mult store
*.rand3  .select3  *.maxvalue *.rand3  sub sgn mult *.select3  sgn mult *.robage sgn abs -- - mult store
*.rand4  .select4  *.maxvalue *.rand4  sub sgn mult *.select4  sgn mult *.robage sgn abs -- - mult store
*.rand5  .select5  *.maxvalue *.rand5  sub sgn mult *.select5  sgn mult *.robage sgn abs -- - mult store
*.rand6  .select6  *.maxvalue *.rand6  sub sgn mult *.select6  sgn mult *.robage sgn abs -- - mult store
*.rand7  .select7  *.maxvalue *.rand7  sub sgn mult *.select7  sgn mult *.robage sgn abs -- - mult store
*.rand8  .select8  *.maxvalue *.rand8  sub sgn mult *.select8  sgn mult *.robage sgn abs -- - mult store
*.rand9  .select9  *.maxvalue *.rand9  sub sgn mult *.select9  sgn mult *.robage sgn abs -- - mult store
*.rand10 .select10 *.maxvalue *.rand10 sub sgn mult *.select10 sgn mult *.robage sgn abs -- - mult store
*.rand11 .select11 *.maxvalue *.rand11 sub sgn mult *.select11 sgn mult *.robage sgn abs -- - mult store
*.rand12 .select12 *.maxvalue *.rand12 sub sgn mult *.select12 sgn mult *.robage sgn abs -- - mult store
*.rand13 .select13 *.maxvalue *.rand13 sub sgn mult *.select13 sgn mult *.robage sgn abs -- - mult store
*.rand14 .select14 *.maxvalue *.rand14 sub sgn mult *.select14 sgn mult *.robage sgn abs -- - mult store
*.rand15 .select15 *.maxvalue *.rand15 sub sgn mult *.select15 sgn mult *.robage sgn abs -- - mult store
*.rand16 .select16 *.maxvalue *.rand16 sub sgn mult *.select16 sgn mult *.robage sgn abs -- - mult store
*.rand17 .select17 *.maxvalue *.rand17 sub sgn mult *.select17 sgn mult *.robage sgn abs -- - mult store
*.rand18 .select18 *.maxvalue *.rand18 sub sgn mult *.select18 sgn mult *.robage sgn abs -- - mult store
*.rand19 .select19 *.maxvalue *.rand19 sub sgn mult *.select19 sgn mult *.robage sgn abs -- - mult store
*.rand20 .select20 *.maxvalue *.rand20 sub sgn mult *.select20 sgn mult *.robage sgn abs -- - mult store
*.initvalue .select1  *.select1  sgn -- - mult *.robage sgn abs -- - mult store
*.initvalue .select2  *.select2  sgn -- - mult *.robage sgn abs -- - mult store
*.initvalue .select3  *.select3  sgn -- - mult *.robage sgn abs -- - mult store
*.initvalue .select4  *.select4  sgn -- - mult *.robage sgn abs -- - mult store
*.initvalue .select5  *.select5  sgn -- - mult *.robage sgn abs -- - mult store
*.initvalue .select6  *.select6  sgn -- - mult *.robage sgn abs -- - mult store
*.initvalue .select7  *.select7  sgn -- - mult *.robage sgn abs -- - mult store
*.initvalue .select8  *.select8  sgn -- - mult *.robage sgn abs -- - mult store
*.initvalue .select9  *.select9  sgn -- - mult *.robage sgn abs -- - mult store
*.initvalue .select10 *.select10 sgn -- - mult *.robage sgn abs -- - mult store
*.initvalue .select11 *.select11 sgn -- - mult *.robage sgn abs -- - mult store
*.initvalue .select12 *.select12 sgn -- - mult *.robage sgn abs -- - mult store
*.initvalue .select13 *.select13 sgn -- - mult *.robage sgn abs -- - mult store
*.initvalue .select14 *.select14 sgn -- - mult *.robage sgn abs -- - mult store
*.initvalue .select15 *.select15 sgn -- - mult *.robage sgn abs -- - mult store
*.initvalue .select16 *.select16 sgn -- - mult *.robage sgn abs -- - mult store
*.initvalue .select17 *.select17 sgn -- - mult *.robage sgn abs -- - mult store
*.initvalue .select18 *.select18 sgn -- - mult *.robage sgn abs -- - mult store
*.initvalue .select19 *.select19 sgn -- - mult *.robage sgn abs -- - mult store
*.initvalue .select20 *.select20 sgn -- - mult *.robage sgn abs -- - mult store

stop


Reproduction

With this gene you have a base enregy threshold like in alga_minimalis and then a certain ammount is added to the threshold for each member of the species which thus acts as population control.

def repronrg  100
def poprepro  101
def bodyrepro 102

start

50  dup *.repronrg  sub sgn abs .repronrg  mult store
40  dup *.poprepro  sub sgn abs .poprepro  mult store
850 dup *.bodyrepro sub sgn abs .bodyrepro mult store
 
*.repronrg .repro *.body *.bodyrepro *.totalmyspecies *.poprepro mult add sub sgn 0 floor mult 30 *.eye5 sub sgn 0 floor mult store

stop


Determining range

Determines how far a bot is and adjusts shootval so that the shot reaches it, the maximum ammount of energy to be spent on any one shot and power of a shot at point blank can be set

def power 100
def range 101

start

4  dup *.power sub sgn abs .power mult store
20 dup *.range sub sgn abs .range mult store

25044 217 *.eye1 600 mult sub div *.eye1width -17 div ++ mult 5 mult 3 div dup sgn abs *.power mult add - *.range ceil - dup *.shootval sub sgn abs .shootval mult *.eye1width sgn - mult        *.focuseye -4 sub sgn abs -- - mult *.eye1 sgn mult *.shoot sgn abs mult *.shoot -3 sub sgn abs mult *.shoot -4 sub sgn abs mult store
25044 217 *.eye2 600 mult sub div *.eye2width -17 div ++ mult 5 mult 3 div dup sgn abs *.power mult add - *.range ceil - dup *.shootval sub sgn abs .shootval mult *.eye2width sgn - mult        *.focuseye -3 sub sgn abs -- - mult *.eye2 sgn mult *.shoot sgn abs mult *.shoot -3 sub sgn abs mult *.shoot -4 sub sgn abs mult store
25044 217 *.eye3 600 mult sub div *.eye3width -17 div ++ mult 5 mult 3 div dup sgn abs *.power mult add - *.range ceil - dup *.shootval sub sgn abs .shootval mult *.eye3width sgn - mult        *.focuseye -2 sub sgn abs -- - mult *.eye3 sgn mult *.shoot sgn abs mult *.shoot -3 sub sgn abs mult *.shoot -4 sub sgn abs mult store
25044 217 *.eye4 600 mult sub div *.eye4width -17 div ++ mult 5 mult 3 div dup sgn abs *.power mult add - *.range ceil - dup *.shootval sub sgn abs .shootval mult *.eye4width sgn - mult        *.focuseye ++     sgn abs -- - mult *.eye4 sgn mult *.shoot sgn abs mult *.shoot -3 sub sgn abs mult *.shoot -4 sub sgn abs mult store
25044 217 *.eye5 600 mult sub div *.eye5width -17 div ++ mult 5 mult 3 div dup sgn abs *.power mult add - *.range ceil - dup *.shootval sub sgn abs .shootval mult *.eye5width sgn - mult        *.focuseye        sgn abs -- - mult *.eye5 sgn mult *.shoot sgn abs mult *.shoot -3 sub sgn abs mult *.shoot -4 sub sgn abs mult store
25044 217 *.eye6 600 mult sub div *.eye6width -17 div ++ mult 5 mult 3 div dup sgn abs *.power mult add - *.range ceil - dup *.shootval sub sgn abs .shootval mult *.eye6width sgn - mult        *.focuseye --     sgn abs -- - mult *.eye6 sgn mult *.shoot sgn abs mult *.shoot -3 sub sgn abs mult *.shoot -4 sub sgn abs mult store
25044 217 *.eye7 600 mult sub div *.eye7width -17 div ++ mult 5 mult 3 div dup sgn abs *.power mult add - *.range ceil - dup *.shootval sub sgn abs .shootval mult *.eye7width sgn - mult        *.focuseye 2  sub sgn abs -- - mult *.eye7 sgn mult *.shoot sgn abs mult *.shoot -3 sub sgn abs mult *.shoot -4 sub sgn abs mult store
25044 217 *.eye8 600 mult sub div *.eye8width -17 div ++ mult 5 mult 3 div dup sgn abs *.power mult add - *.range ceil - dup *.shootval sub sgn abs .shootval mult *.eye8width sgn - mult        *.focuseye 3  sub sgn abs -- - mult *.eye8 sgn mult *.shoot sgn abs mult *.shoot -3 sub sgn abs mult *.shoot -4 sub sgn abs mult store
25044 217 *.eye9 600 mult sub div *.eye9width -17 div ++ mult 5 mult 3 div dup sgn abs *.power mult add - *.range ceil - dup *.shootval sub sgn abs .shootval mult *.eye9width sgn - mult        *.focuseye 4  sub sgn abs -- - mult *.eye9 sgn mult *.shoot sgn abs mult *.shoot -3 sub sgn abs mult *.shoot -4 sub sgn abs mult store
25044 217 *.eye1 600 mult sub div *.eye1width 80  div ++ div  5 mult 3 div dup sgn abs *.power mult add - *.range ceil - dup *.shootval sub sgn abs .shootval mult *.eye1width sgn   mult        *.focuseye -4 sub sgn abs -- - mult *.eye1 sgn mult *.shoot sgn abs mult *.shoot -3 sub sgn abs mult *.shoot -4 sub sgn abs mult store
25044 217 *.eye2 600 mult sub div *.eye2width 80  div ++ div  5 mult 3 div dup sgn abs *.power mult add - *.range ceil - dup *.shootval sub sgn abs .shootval mult *.eye2width sgn   mult        *.focuseye -3 sub sgn abs -- - mult *.eye2 sgn mult *.shoot sgn abs mult *.shoot -3 sub sgn abs mult *.shoot -4 sub sgn abs mult store
25044 217 *.eye3 600 mult sub div *.eye3width 80 div  ++ div  5 mult 3 div dup sgn abs *.power mult add - *.range ceil - dup *.shootval sub sgn abs .shootval mult *.eye3width sgn   mult        *.focuseye -2 sub sgn abs -- - mult *.eye3 sgn mult *.shoot sgn abs mult *.shoot -3 sub sgn abs mult *.shoot -4 sub sgn abs mult store
25044 217 *.eye4 600 mult sub div *.eye4width 80 div  ++ div  5 mult 3 div dup sgn abs *.power mult add - *.range ceil - dup *.shootval sub sgn abs .shootval mult *.eye4width sgn   mult        *.focuseye ++     sgn abs -- - mult *.eye4 sgn mult *.shoot sgn abs mult *.shoot -3 sub sgn abs mult *.shoot -4 sub sgn abs mult store
25044 217 *.eye5 600 mult sub div *.eye5width 80 div  ++ div  5 mult 3 div dup sgn abs *.power mult add - *.range ceil - dup *.shootval sub sgn abs .shootval mult *.eye5width sgn   mult        *.focuseye        sgn abs -- - mult *.eye5 sgn mult *.shoot sgn abs mult *.shoot -3 sub sgn abs mult *.shoot -4 sub sgn abs mult store
25044 217 *.eye6 600 mult sub div *.eye6width 80 div  ++ div  5 mult 3 div dup sgn abs *.power mult add - *.range ceil - dup *.shootval sub sgn abs .shootval mult *.eye6width sgn   mult        *.focuseye --     sgn abs -- - mult *.eye6 sgn mult *.shoot sgn abs mult *.shoot -3 sub sgn abs mult *.shoot -4 sub sgn abs mult store
25044 217 *.eye7 600 mult sub div *.eye7width 80 div  ++ div  5 mult 3 div dup sgn abs *.power mult add - *.range ceil - dup *.shootval sub sgn abs .shootval mult *.eye7width sgn   mult        *.focuseye 2  sub sgn abs -- - mult *.eye7 sgn mult *.shoot sgn abs mult *.shoot -3 sub sgn abs mult *.shoot -4 sub sgn abs mult store
25044 217 *.eye8 600 mult sub div *.eye8width 80 div  ++ div  5 mult 3 div dup sgn abs *.power mult add - *.range ceil - dup *.shootval sub sgn abs .shootval mult *.eye8width sgn   mult        *.focuseye 3  sub sgn abs -- - mult *.eye8 sgn mult *.shoot sgn abs mult *.shoot -3 sub sgn abs mult *.shoot -4 sub sgn abs mult store
25044 217 *.eye9 600 mult sub div *.eye9width 80 div  ++ div  5 mult 3 div dup sgn abs *.power mult add - *.range ceil - dup *.shootval sub sgn abs .shootval mult *.eye9width sgn   mult        *.focuseye 4  sub sgn abs -- - mult *.eye9 sgn mult *.shoot sgn abs mult *.shoot -3 sub sgn abs mult *.shoot -4 sub sgn abs mult store
25044 217 *.eye1 600 mult sub div                             5 mult 3 div dup sgn abs *.power mult add - *.range ceil - dup *.shootval sub sgn abs .shootval mult *.eye1width sgn abs -- - mult *.focuseye -4 sub sgn abs -- - mult *.eye1 sgn mult *.shoot sgn abs mult *.shoot -3 sub sgn abs mult *.shoot -4 sub sgn abs mult store
25044 217 *.eye2 600 mult sub div                             5 mult 3 div dup sgn abs *.power mult add - *.range ceil - dup *.shootval sub sgn abs .shootval mult *.eye2width sgn abs -- - mult *.focuseye -3 sub sgn abs -- - mult *.eye2 sgn mult *.shoot sgn abs mult *.shoot -3 sub sgn abs mult *.shoot -4 sub sgn abs mult store
25044 217 *.eye3 600 mult sub div                             5 mult 3 div dup sgn abs *.power mult add - *.range ceil - dup *.shootval sub sgn abs .shootval mult *.eye3width sgn abs -- - mult *.focuseye -2 sub sgn abs -- - mult *.eye3 sgn mult *.shoot sgn abs mult *.shoot -3 sub sgn abs mult *.shoot -4 sub sgn abs mult store
25044 217 *.eye4 600 mult sub div                             5 mult 3 div dup sgn abs *.power mult add - *.range ceil - dup *.shootval sub sgn abs .shootval mult *.eye4width sgn abs -- - mult *.focuseye ++     sgn abs -- - mult *.eye4 sgn mult *.shoot sgn abs mult *.shoot -3 sub sgn abs mult *.shoot -4 sub sgn abs mult store
25044 217 *.eye5 600 mult sub div                             5 mult 3 div dup sgn abs *.power mult add - *.range ceil - dup *.shootval sub sgn abs .shootval mult *.eye5width sgn abs -- - mult *.focuseye        sgn abs -- - mult *.eye5 sgn mult *.shoot sgn abs mult *.shoot -3 sub sgn abs mult *.shoot -4 sub sgn abs mult store
25044 217 *.eye6 600 mult sub div                             5 mult 3 div dup sgn abs *.power mult add - *.range ceil - dup *.shootval sub sgn abs .shootval mult *.eye6width sgn abs -- - mult *.focuseye --     sgn abs -- - mult *.eye6 sgn mult *.shoot sgn abs mult *.shoot -3 sub sgn abs mult *.shoot -4 sub sgn abs mult store
25044 217 *.eye7 600 mult sub div                             5 mult 3 div dup sgn abs *.power mult add - *.range ceil - dup *.shootval sub sgn abs .shootval mult *.eye7width sgn abs -- - mult *.focuseye 2  sub sgn abs -- - mult *.eye7 sgn mult *.shoot sgn abs mult *.shoot -3 sub sgn abs mult *.shoot -4 sub sgn abs mult store
25044 217 *.eye8 600 mult sub div                             5 mult 3 div dup sgn abs *.power mult add - *.range ceil - dup *.shootval sub sgn abs .shootval mult *.eye8width sgn abs -- - mult *.focuseye 3  sub sgn abs -- - mult *.eye8 sgn mult *.shoot sgn abs mult *.shoot -3 sub sgn abs mult *.shoot -4 sub sgn abs mult store
25044 217 *.eye9 600 mult sub div                             5 mult 3 div dup sgn abs *.power mult add - *.range ceil - dup *.shootval sub sgn abs .shootval mult *.eye9width sgn abs -- - mult *.focuseye 4  sub sgn abs -- - mult *.eye9 sgn mult *.shoot sgn abs mult *.shoot -3 sub sgn abs mult *.shoot -4 sub sgn abs mult store

stop


Tracking Movement

Work in progress, when complete bot will turn to eye in which there has been the most change ie movement rather than whichever one has something closest to it like normal eyes, will also randomly glance to stop predators who may try to sneak up on the bot so it doesn't notice, it was inspired by the way we look natrually. So far what I've coded genrally works but is sometimes eratic and also it's pretty ineffcient but I'm getting there.

38
Off Topic / Micro evolution vs Macro evolution
« on: April 05, 2010, 12:39:33 PM »
The forking of two species is classed as macro evolution isn't it, if you were to put it into context of darwinbots and put the same original species (some zerobot) and give it diffrent evolutionary pressures (two diffrent people running two diffrent sims with diffrent veggies and setting) then chances are they would diverge and thus one species would be diffrent from the other thus species forking ie. macroevolution. I'm pretty sure something similar to this has happend in Darwinbots, though unlikely in the same simulation as genrally the enviromental pressure is the same throughout the sim because of thier limited size, perhaps if you wanted to encourage macro evolution you could get a large sim divide it with a large shape, let the species evolve independently and like the joining of continents or migration of a species take away the shape, you can then again fission it and recombine itand for a more realism you would adjust the enviroment maybhe by placing new plants in certain zones or kill every member of a species in a zone like a disease. This is the kind of thing that drives macroevolution on Earth and so why not in Darwinbots?

39
DNA - General / What determines bot size?
« on: April 04, 2010, 03:03:46 PM »
Quote from: Sammeh
My webfungus bot is trying to survive while being entirely defensive. It doesn't kill anything, just sticks to it like a parasite. The main problem with this is that when it's being attacked, it has no way to destroy the attacker. After running a few sims, I noticed a trend.

The smaller bots survive better because they're so hard to target.

So what determines bot size? can it be set by the bot?

.body determines the bots size, it can be increased or decreased with .strbody and .fdbody respectivly, advantages to bieng big include: More powerful shots, longer eyesight, large energy reserves (every one unit of body converted to energy gives ten units and vice versa) and more resilient to -6 shots disadvantages to body are: makes you a bigger target, costs a small ammount of energy to upkeep and if you get hit by a -6 shot you will lose the equivelent of ten points of enrgy, not one.

This gene here makes you super small (1000 is the ammount of body a bot starts with, here a bot is only left with 5 body, sure you'll be able to work out how to modify it). Bear in mind if you get hit with a -6 shot whilst using this gene you will very likely die instantly and so it's a good idea to make shell using .mkshell look on the wiki for it, just search shell.

start
*.body -- -- .fdbody 5 *.body sub sgn 0 floor -- - mult store
stop


Hope that helped

40
DNA - General / shootval and distance for -1 shots
« on: April 04, 2010, 10:39:04 AM »
Quote from: abyaly
peterb-
You should test shot lifetimes with various shootvals.
Then with various body sizes, because that's also a factor. Once you know shot lifetime, multiply by 40 to get distance.

I remember I did this at some point and the results were not what the formula in the wiki predicted. I'm not sure if I posted a chart of my results somewhere, but you can easily do the experiments in half an hour or so.

I worked out the increase in shot distance is lineraly proportional to eye distnce and so the overall change is nil and no change was needed when I tested it earlier, hasn't shot distnace been worked out already?

EDIT: Opps, I thought you meant the size of the bot using the gene not the bot it was colecting information from... hmm now that's a whole new story

I think I agree with you peter all robots could be coded with conditionless logic, I believe it actually increases the possible options as it adds aditional complexity and breaks conditions up into smaller peices.

41
DNA - General / shootval and distance for -1 shots
« on: April 04, 2010, 04:24:35 AM »
Quote from: Houshalter
Well it does have an awful lot of stores in it. You do know that those use up energy? Anyway to eliminate them?

Only one activates at any one time, I used conditionless logic which multiplies the location to be stored by 0, that resulsts in trying to store something into location 0 which is impossible and thus costs no energy. Alos they only activate when they see something and stuff like that, I used conditionless loggic because each normak condition costs about a tenth of a store command whilst conditionless logic is free. Therefore in theory minimal energy should be used... at least it worked when I tested it, when unactivated has a smaller energy consumption rate than alga_minimalis. Most of the gene is repetitive, one store for each eyewidth (negative, 0 and positive) multiplied by the ammount of eyes, so ultimately the 27 stores are in place for examining a range of possibilities in various eyes.

42
DNA - General / shootval and distance for -1 shots
« on: April 03, 2010, 04:53:09 PM »
I have discoverd a fatal flaw in my code, when I implemeted it into goggle goo v0.4b (unpublished) with F1 default costs and tested it when goggle goo chose to use the narowest eyesight possible -34 with the furthest range when he shot at maximum distance I noticed he would lose a significant ammount of energy. The reason was because a higher (or if shootval is negative, lower) value in shootval costs more enrgy so at the extremities of vision goggle goo was firing shots of -144 costing a huge ammount of enrgy per shot, to rectify this before every instance of dup *.shootval insert - *.range ceil - and like power store the maximum ammount of energy you are prepared to spend on each shot and prefreably for more effciency substitue every value, I suggest that if anything requires a higher shootval you move closer as shots will fall short of the target otherwise. Another thing to implement is only to store a value in shootval if you actually need to fire using *.shoot sgn abs mult -3 sub sgn abs mult *.shoot -4 sub sgn abs mult before every instance of store... no point calculating how much power you need to put into a shot if your not actually going to shoot whatever your looking at.

43
DNA - General / shootval and distance for -1 shots
« on: April 03, 2010, 03:26:33 PM »
Quote from: Houshalter
Wow. Does it work? (cant test it because I'm not on the right computer.) You might have invented the most accurate shooting gene ever.

I belive it does... not 100% accurate however as eyes only read back a value from 0 to 100 thus if something is 66.698 in an eye shootval will only be assigned to something like 67, the effect is more noticable at eye values 1-10  on eyewidth -34 where there is a small possiblity of error though quite small and it should overjudge rather than underjudge so it hits... in theory anyways... also idealy I would use 25043.8 and 217.82 though because of problems with darwinbots I must use 25044 and 218 instead. By the way it only calculates how far a shot should travel... it doesn't bother with aim or anything like that before you decide I'm a genius.

44
Darwinbots3 / Numsgil, What is happin'n with DB3?
« on: April 03, 2010, 02:35:36 PM »
ProfileSharp

ProfileSharp is an open source .NET code, performance and memory profiling software. It helps you pinpoint performance bottlenecks in your .NET code and optimize memory usage.

NCover

NCover - A tool to tell you how much of your program is covered by your automatic tests.Instruments source code prior to running unit tests to establish test coverage.* Nant integration* For use with continuous integration builds.


Both are open source, though I have not personally downloaded and examined them they seem to be what your looking for, hope that helps

45
DNA - General / shootval and distance for -1 shots
« on: April 03, 2010, 02:21:18 PM »
Ah... I've not checked here recently though I did go ahead with the programming in the direction I was taking and have had a good result, the following code is super-efficient using only 0.04 nrg with F1 default settings when the position of the bot if in sight changes as only a single store is activated at any one time and conditionless logic is used. It computes for every eye rather than just eye5 and also takes into account the width of every eye as as they become narowrer the sight becames longer-ranged, storing a positive value into .power will allow you to make a powerful shot for when close to the enemy though I recomend for effeciency you find every instance of *.power and replace wi with a number, unfortunetly it's fairly large so if DNA upkeep is charged (which is hardly ever the case though you never know) it will all of a sudden become fairly ineffcient, anyways tell me what you think.  Not bad for 34 hours development time...

25044 217 *.eye1 600 mult sub div *.eye1width -17 div ++ mult 5 mult 3 div dup sgn abs *.power mult add dup *.shootval sub sgn abs .shootval mult *.eye1width sgn - mult        *.focuseye -4 sub sgn abs -- - mult *.eye1 sgn mult store
25044 217 *.eye1 600 mult sub div *.eye1width 80  div ++ div  5 mult 3 div dup sgn abs *.power mult add dup *.shootval sub sgn abs .shootval mult *.eye1width sgn   mult        *.focuseye -4 sub sgn abs -- - mult *.eye1 sgn mult store
25044 217 *.eye1 600 mult sub div                             5 mult 3 div dup sgn abs *.power mult add dup *.shootval sub sgn abs .shootval mult *.eye1width sgn abs -- - mult *.focuseye -4 sub sgn abs -- - mult *.eye1 sgn mult store
25044 217 *.eye2 600 mult sub div *.eye2width -17 div ++ mult 5 mult 3 div dup sgn abs *.power mult add dup *.shootval sub sgn abs .shootval mult *.eye2width sgn - mult        *.focuseye -3 sub sgn abs -- - mult *.eye2 sgn mult store
25044 217 *.eye2 600 mult sub div *.eye2width 80  div ++ div  5 mult 3 div dup sgn abs *.power mult add dup *.shootval sub sgn abs .shootval mult *.eye2width sgn   mult        *.focuseye -3 sub sgn abs -- - mult *.eye2 sgn mult store
25044 217 *.eye2 600 mult sub div                             5 mult 3 div dup sgn abs *.power mult add dup *.shootval sub sgn abs .shootval mult *.eye2width sgn abs -- - mult *.focuseye -3 sub sgn abs -- - mult *.eye2 sgn mult store
25044 217 *.eye3 600 mult sub div *.eye3width -17 div ++ mult 5 mult 3 div dup sgn abs *.power mult add dup *.shootval sub sgn abs .shootval mult *.eye3width sgn - mult        *.focuseye -2 sub sgn abs -- - mult *.eye3 sgn mult store
25044 217 *.eye3 600 mult sub div *.eye3width 80 div  ++ div  5 mult 3 div dup sgn abs *.power mult add dup *.shootval sub sgn abs .shootval mult *.eye3width sgn   mult        *.focuseye -2 sub sgn abs -- - mult *.eye3 sgn mult store
25044 217 *.eye3 600 mult sub div                             5 mult 3 div dup sgn abs *.power mult add dup *.shootval sub sgn abs .shootval mult *.eye3width sgn abs -- - mult *.focuseye -2 sub sgn abs -- - mult *.eye3 sgn mult store
25044 217 *.eye4 600 mult sub div *.eye4width -17 div ++ mult 5 mult 3 div dup sgn abs *.power mult add dup *.shootval sub sgn abs .shootval mult *.eye4width sgn - mult        *.focuseye ++     sgn abs -- - mult *.eye4 sgn mult store
25044 217 *.eye4 600 mult sub div *.eye4width 80 div  ++ div  5 mult 3 div dup sgn abs *.power mult add dup *.shootval sub sgn abs .shootval mult *.eye4width sgn   mult        *.focuseye ++     sgn abs -- - mult *.eye4 sgn mult store
25044 217 *.eye4 600 mult sub div                             5 mult 3 div dup sgn abs *.power mult add dup *.shootval sub sgn abs .shootval mult *.eye4width sgn abs -- - mult *.focuseye ++     sgn abs -- - mult *.eye4 sgn mult store
25044 217 *.eye5 600 mult sub div *.eye5width -17 div ++ mult 5 mult 3 div dup sgn abs *.power mult add dup *.shootval sub sgn abs .shootval mult *.eye5width sgn - mult        *.focuseye        sgn abs -- - mult *.eye5 sgn mult store
25044 217 *.eye5 600 mult sub div *.eye5width 80 div  ++ div  5 mult 3 div dup sgn abs *.power mult add dup *.shootval sub sgn abs .shootval mult *.eye5width sgn   mult        *.focuseye        sgn abs -- - mult *.eye5 sgn mult store
25044 217 *.eye5 600 mult sub div                             5 mult 3 div dup sgn abs *.power mult add dup *.shootval sub sgn abs .shootval mult *.eye5width sgn abs -- - mult *.focuseye        sgn abs -- - mult *.eye5 sgn mult store
25044 217 *.eye6 600 mult sub div *.eye6width -17 div ++ mult 5 mult 3 div dup sgn abs *.power mult add dup *.shootval sub sgn abs .shootval mult *.eye6width sgn - mult        *.focuseye --     sgn abs -- - mult *.eye6 sgn mult store
25044 217 *.eye6 600 mult sub div *.eye6width 80 div  ++ div  5 mult 3 div dup sgn abs *.power mult add dup *.shootval sub sgn abs .shootval mult *.eye6width sgn   mult        *.focuseye --     sgn abs -- - mult *.eye6 sgn mult store
25044 217 *.eye6 600 mult sub div                             5 mult 3 div dup sgn abs *.power mult add dup *.shootval sub sgn abs .shootval mult *.eye6width sgn abs -- - mult *.focuseye --     sgn abs -- - mult *.eye6 sgn mult store
25044 217 *.eye7 600 mult sub div *.eye7width -17 div ++ mult 5 mult 3 div dup sgn abs *.power mult add dup *.shootval sub sgn abs .shootval mult *.eye7width sgn - mult        *.focuseye 2  sub sgn abs -- - mult *.eye7 sgn mult store
25044 217 *.eye7 600 mult sub div *.eye7width 80 div  ++ div  5 mult 3 div dup sgn abs *.power mult add dup *.shootval sub sgn abs .shootval mult *.eye7width sgn   mult        *.focuseye 2  sub sgn abs -- - mult *.eye7 sgn mult store
25044 217 *.eye7 600 mult sub div                             5 mult 3 div dup sgn abs *.power mult add dup *.shootval sub sgn abs .shootval mult *.eye7width sgn abs -- - mult *.focuseye 2  sub sgn abs -- - mult *.eye7 sgn mult store
25044 217 *.eye8 600 mult sub div *.eye8width -17 div ++ mult 5 mult 3 div dup sgn abs *.power mult add dup *.shootval sub sgn abs .shootval mult *.eye8width sgn - mult        *.focuseye 3  sub sgn abs -- - mult *.eye8 sgn mult store
25044 217 *.eye8 600 mult sub div *.eye8width 80 div  ++ div  5 mult 3 div dup sgn abs *.power mult add dup *.shootval sub sgn abs .shootval mult *.eye8width sgn   mult        *.focuseye 3  sub sgn abs -- - mult *.eye8 sgn mult store
25044 217 *.eye8 600 mult sub div                             5 mult 3 div dup sgn abs *.power mult add dup *.shootval sub sgn abs .shootval mult *.eye8width sgn abs -- - mult *.focuseye 3  sub sgn abs -- - mult *.eye8 sgn mult store
25044 217 *.eye9 600 mult sub div *.eye9width -17 div ++ mult 5 mult 3 div dup sgn abs *.power mult add dup *.shootval sub sgn abs .shootval mult *.eye9width sgn - mult        *.focuseye 4  sub sgn abs -- - mult *.eye9 sgn mult store
25044 217 *.eye9 600 mult sub div *.eye9width 80 div  ++ div  5 mult 3 div dup sgn abs *.power mult add dup *.shootval sub sgn abs .shootval mult *.eye9width sgn   mult        *.focuseye 4  sub sgn abs -- - mult *.eye9 sgn mult store
25044 217 *.eye9 600 mult sub div                             5 mult 3 div dup sgn abs *.power mult add dup *.shootval sub sgn abs .shootval mult *.eye9width sgn abs -- - mult *.focuseye 4  sub sgn abs -- - mult *.eye9 sgn mult store

Pages: 1 2 [3] 4 5 ... 7