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 - gymsum

Pages: 1 ... 12 13 [14]
196
Internet Mode Commentary / A multibot now owns IM
« on: April 28, 2008, 02:31:30 PM »
Actually, external internal mbs do exsist, but the diference in function is simple. Take a look at my slim evo, it collects veggies and puts them in front of enemies as a peace offering, if its overfed the bot has more reserves to go kill it. Once a swarm or colony is established, more bots are sent to the outside to keep the veggies internally, creating several layers of energy, combatants and managers. The external bots tend to make scouts while the internal bots tend to focus mroe on energy adnm waste management. I think it sort of works in the maner of external defenses, usualy the internal bots are programed ot leave before the external ones,  but only when food runs low for the internal bots. Very unique behaviors I think, and should be counted as a complex mb.

197
Suggestions / Communal Bot League
« on: April 28, 2008, 11:02:06 AM »
ANY ideas bacill?

198
Suggestions / Communal Bot League
« on: April 28, 2008, 12:57:10 AM »
Quote from: EricL
Quote from: bacillus
Why not have a league for communal bots?
Why not?  Because it takes someone with the time, energy and dedication to run and manage it.  If you feel so inclined, by all means, please do so.  There is nothing I know of that prevents you running and managing your own league with your own rules on the current code base.  Fixes to any bugs you find that prevent it will be given high priority with a quick turn around time.

how is this done?

199
Bugs and fixes / Erro 76
« on: April 28, 2008, 12:56:23 AM »
lol. Yeah, they take a lot of veggies to hravest and establish, otherwise they overwork themselves in combat, thats why they have a return feature... Try them against another multibot, (multibot wars rock!) and they need at least 5000 starting nrg, they are built to move behind a bot to hit their unprotected back and avoid their shots, it was built to destroy the excalibur with little success. Ill fix it tommorrow after work so I can get in IM and really get something worth testing, the meat grinder is tough for that particular dna, it needs to evolve to be a better hunter, but it is very good at using energy from a veggie, and will try to feed entire colonies on just one veggie (not very well done).

200
Bugs and fixes / Erro 76
« on: April 27, 2008, 11:42:11 PM »
Thanks very much eric, can't wait to know the results.

201
Suggestions / Communal Bot League
« on: April 27, 2008, 11:11:11 PM »
Perhaps requirements include a defensive behavior, meaning it only attacks if attacked or threatened. Somewhere I've managed to make this for a conspec defense mechanism, I'll see if I cant dig it up as an example. Communal means symbiotic, there has to be eqaul trade among the species if they tie or info shoot. Also, what is a communal bot, is it a multibot or a single bot?

202
Bugs and fixes / Erro 76
« on: April 27, 2008, 10:00:40 PM »
um... its in downloads folder under my documents... DO you mind simply hosting my new slim evo on the internet sim? I just want to see how invasive it is.

203
Interesting behaviour bots / Amoeba
« on: April 27, 2008, 09:57:17 PM »
Quote from: bacillus
Never heard of stifftie before, sounds good though. Thanks.
I'm working on an antbot at the momemt; a colony starts out as a young queen that evolves to a queen when enough energy has been aquired to start a colony. It uses drones to relay messages to the workers, which are harvest (feed until 5000 nrg is reached, then go back to queen and release nrg) and kill (when more than 200 ants, attack everything more fiercely until more ants are needed.)
Any suggestions?

Start with some real basics; develop a hunter genome similar to Excalibur (as it is the best hunter around) but make sure you use some varibale(s) for a switch(es). Add some memory to remember a location you want to be the colony, say birthplace, or last known veg or, or last place they mated (something common to salmon). Develop a bot taht really tie feeds well, run it all with no mutations so you can really see how it works. Fine tune it with some tinkering and always compare genes before and after if its a complex set of genes for sasy communication. Make something unique for its conspec so it can last many generations; and establish what determines a queen or other member. Once your queen is produced, its up to you to develop each stage with a reset and switch. Slim 2 used only 3 or 4 stages, two of which involved collecting food and fixing to a spot; it is possible to develop said drones through reproductive-stagedependent genes taht produce other cells to make up some larger thing (in the case of certain ants, that would be a link to food to the colony, either transport or tie).

204
Interesting behaviour bots / Communitus_Friendlius
« on: April 27, 2008, 09:47:31 PM »
The only way to ensure the mutation does not affect the bots long term, is to produce many bots by the original copy. The more copies made of your original, the better its chances for genetic survival. I am not sure how destroying itself will produce a real evolutionary result many programmers seek in their design. Change your reproductive requirements using numties or something besides body, say robage; bodies take way longer to rebuild over time, so reproduction is slower, yielding possibly 3-5 offspring a generation. No matter what, if you allow mutations there will be mistakes, but you need to use either harsher environment settings, or something along the lines of population control. I have cancerous problems with every bot I ever test, but the environment usually kills the bot from costs and over production without finding more energy to harvest.

As programmers we must utilize everything at our advantage, and that is DB. Mutations are meant to improve and specify your species to see how worthy the genetic code actually is, there will be many failures, so run with large populations, like 80 for large bots, and say 30 for smaller bots (dna len, not mass or radius). There's no need to cause a bot to become sucidal, this prevents many specific cospicuous relations, such as legumes.

205
Bugs and fixes / Erro 76
« on: April 27, 2008, 06:48:21 PM »
Can someone test my new slim evo in internet mode? I just want to see how well it could do untilt the damn virus bots invade.

206
Interesting behaviour bots / Amoeba
« on: April 27, 2008, 06:10:48 PM »
you need to stifftie or you will break lose ties when moving. Seriously tho, look at the slim evo 2, I was able to get them to swarm in a circl by just changing a few values. It's very difficult to explain because I lack the patience to break down the entire genetic structure it uses, but it was built to be socialy aware, meaning it could adapt to have a universal conspec, and its movements are coordinated throughout the structure. Unfortunately, it likes to stick when tied to veggies, so its more of a spider then in hybernation. Its goal is to kill, collect veggies reproduce, and then send out scouts. I would say establish a set of goals for your bot and construct the genes that way. YOu have a nice start, but I would think about using one tout for movement purposes. I used stages to determine a unique behavior, and this was transmited throughout the entire multibot including vegies, otherwise trying to create unique behaviors are not alwyas used by the bot as it was best intended.

207
Interesting behaviour bots / Slim Evo: Colonies
« on: April 27, 2008, 05:14:24 PM »
I have reviewed all of the Slim Evos and have found the most succesfull one, Slim Evo 2. Its basic building blocks are simple enough to work, but complicated for me to remember how each gene enteracted with the other. (btw I was rs you coop) I have finely tuned its combat systems and added aditional communication commands in the the sysvars. I have tested it many times with and without mutations. The only way it has a success, is if the starting veggie count is greater than 30, otherwise competition with other species can lead to famine. The bot is extremely territorial, now uses veggies for communication and was a new mode for breaking up groups for combat.

I would like this bot to be considered for multi-bot forum, it requries a veggie beofre it reproduces, and goes into a hiding mode similair to the hiding spiders.



'Individuality

def botname .out1
def bot1 970
def bot2 971
def bot3 972
def bot4 973
def bot5 974
def bot6 975
def bot7 976
def bot8 977
def bot9 978
def bot10 979

'Historical Info

def bxpos 82
def bypos 83
def fxpos 80
def fypos 81

'Tie Info

def readcounter 150
def multimode 151
def tiereader 60
def multeyef 86
def tsexrpro 88
def multrefage 84
def multrefvel 87
def readreset 149
def tiecounter 74

'Attack/Defence

def venomsel 76
def stage 75
def shotselect 40

'Eye Info

def newbot 50
def memcounter 73
def preveye1 51
def preveye2 52
def preveye3 53
def preveye4 54
def preveye5 55
def preveye6 56
def preveye7 57
def preveye8 58
def preveye9 59
def eye1id 61
def eye2id 62
def eye3id 63
def eye4id 64
def eye5id 65
def eye6id 66
def eye7id 67
def eye8id 68
def eye9id 69


'Welwordion's 360 Eyes/Initialization and Indientity
'**********************

cond
*.robage 0 =
start
*.tiepres .deltie store
9999 rnd .botname store
*.dnalen .out2 store
420 .eye1dir store
315 .eye2dir store
210 .eye3dir store
105 .eye4dir store
-105 .eye6dir store
-210 .eye7dir store
-315 .eye8dir store
-420 .eye9dir store
105 .eye1width store
105 .eye2width store
105 .eye3width store
105 .eye4width store
105 .eye5width store
105 .eye6width store
105 .eye7width store
105 .eye8width store
105 .eye9width store
stop
stop

cond
*.robage 21 =
start
*.tiepres .deltie store
stop

'eye1 specific

cond
*.eye1 *.preveye1 5 !~=
*.eye1 *.preveye2 5 ~=
*.eye2id 1 = and
*.eye1 *.preveye9 5 ~=
*.eye9id 1 = and or
start
1 .eye1id store
stop

cond
*.eye1 *.preveye1 5 !~=
*.eye1 *.preveye2 5 !~=
*.eye1 *.preveye9 !~=
start
0 .eye1id store
stop

cond
*.eye1 0 =
start
0 .eye1id store
stop

'eye2 specific

cond
*.eye2 *.preveye2 5 !~=
*.eye2 *.preveye3 5 ~=
*.eye3id 1 = and
*.eye2 *.preveye2 5 ~=
*.eye1id 1 = and or
start
1 .eye2id store
stop

cond
*.eye2 *.preveye2 5 !~=
*.eye2 *.preveye3 5 !~=
*.eye2 *.preveye1 5 !~=
start
0 .eye2id store
stop

cond
*.eye2 0 =
start
0 .eye2id store
stop

'eye3 specific

cond
*.eye3 *.preveye3 5 !~=
*.eye3 *.preveye4 5 ~=
*.eye4id 1 = and
*.eye3 *.preveye2 5 ~=
*.eye2id 1 = and or
start
1 .eye3id store
stop

cond
*.eye3 *.preveye3 5 !~=
*.eye3 *.preveye4 5 !~=
*.eye3 *.preveye2 5 !~=
start
0 .eye3id store
stop

cond
*.eye3 0 =
start
0 .eye3id store
stop

'eye4 specific

cond
*.eye4 *.preveye4 5 !~=
*.eye4 *.preveye5 5 ~=
*.eye5id 1 = and
*.eye4 *.preveye3 5 ~=
*.eye3id 1 = and or
start
1 .eye4id store
stop

cond
*.eye4 *.preveye4 5 !~=
*.eye4 *.preveye4 5 !~=
*.eye4 *.preveye3 5 !~=
start
0 .eye4id store
stop

cond
*.eye4 0 =
start
0 .eye4id store
stop

'eye5 specific

cond
*.eye5 *.preveye5 5 !~=
*.eye5 *.preveye6 5 ~=
*.eye6id 1 = and
*.eye5 *.preveye4 5 ~=
*.eye4id 1 = and or
start
1 .eye5id store
stop

cond
*.eye5 *.preveye5 5 !~=
*.eye5 *.preveye6 5 !~=
*.eye5 *.preveye4 5 !~=
start
0 .eye5id store
stop

cond
*.eye5 0 =
start
0 .eye5id store
stop

'eye6 specific

cond
*.eye6 *.preveye6 5 !~=
*.eye6 *.preveye7 5 ~=
*.eye7id 1 = and
*.eye6 *.preveye5 5 ~=
*.eye4id 1 = and or
start
1 .eye6id store
stop

cond
*.eye6 *.preveye6 5 !~=
*.eye6 *.preveye7 5 !~=
*.eye6 *.preveye5 5 !~=
start
0 .eye6id store
stop

cond
*.eye6 0 =
start
0 .eye6id store
stop

'eye7 specific

cond
*.eye7 *.preveye7 5 !~=
*.eye7 *.preveye9 5 ~=
*.eye8id 1 = and
*.eye7 *56 5 ~=
*.eye6id 1 = and or
start
1 .eye7id store
stop

cond
*.eye7 *.preveye7 5 !~=
*.eye7 *.preveye8 5 !~=
*.eye7 *.preveye6 5 !~=
start
0 .eye7id store
stop

cond
*.eye7 0 =
start
0 .eye7id store
stop

'eye8 specific

cond
*.eye8 *.preveye8 5 !~=
*.eye8 *.preveye9 5 ~=
*.eye9id 1 = and
*.eye8 *.preveye7 5 ~=
*.eye7id 1 = and or
start
1 .eye8id store
stop

cond
*.eye8 *.preveye8 5 !~=
*.eye8 *.preveye9 5 !~=
*.eye8 *.preveye7 5 !~=
start
0 .eye8id store
stop

cond
*.eye8 0 =
start
0 .eye8id store
stop

'eye9 specific

cond
*.eye9 *.preveye9 5 !~=
*.eye9 *.preveye1 5 ~=
*.eye1id 1 = and
*.eye9 *58 5 ~=
*.eye8id 1 = and or
start
1 .eye9id store
stop

cond
*.eye9 *.preveye9 5 !~=
*.eye9 *.preveye1 5 !~=
*.eye9 *.preveye8 5 !~=
start
0 .eye9id store
stop

cond
*.eye9 0 =
start
0 .eye9id store
stop

'the focuseye is set

cond
*.robage 20 mod 0 !=
*140 0 =
start
5 .focuseye *.eye1 sgn abs mult *.eye1id 1 sub abs mult store
6 .focuseye *.eye2 sgn abs mult *.eye2id 1 sub abs mult store
7 .focuseye *.eye3 sgn abs mult *.eye3id 1 sub abs mult store
8 .focuseye *.eye4 sgn abs mult *.eye4id 1 sub abs mult store
9 .focuseye *.eye5 sgn abs mult *.eye5id 1 sub abs mult store
1 .focuseye *.eye6 sgn abs mult *.eye6id 1 sub abs mult store
2 .focuseye *.eye7 sgn abs mult *.eye7id 1 sub abs mult store
3 .focuseye *.eye8 sgn abs mult *.eye8id 1 sub abs mult store
4 .focuseye *.eye9 sgn abs mult *.eye9id 1 sub abs mult store
stop

'the visual memory is stored

cond
start
*.eye1 .preveye1 store
*.eye2 .preveye2 store
*.eye3 .preveye3 store
*.eye4 .preveye4 store
*.eye5 .preveye5 store
*.eye6 .preveye6 store
*.eye7 .preveye7 store
*.eye8 .preveye8 store
*.eye9 .preveye9 store
stop

'Individuality Genes
'*******************

'check species and bot name

cond
*.eyef 0 >
*.in2 *.out2 =
*.myeye *.refeye %=
*.in4 *.bot1 != and
*.in4 *.bot2 != and
*.in4 *.bot3 != and
*.in4 *.bot4 != and
*.in4 *.bot5 != and
*.in4 *.bot6 != and
*.in4 *.bot7 != and
*.in4 *.bot8 != and
*.in4 *.bot9 != and
*.in4 *.bot10 !=
start
1 .newbot store
*.memcounter 1 add .memcounter store
stop

'select a memory location for in4

cond
*.newbot 1 =
*.memcounter 1 =
*.bot1 0 =
start
*.in1 .bot1 store
cond
*.bot1 0 !=
*.bot2 0 =
start
*.in1 .bot2 store
cond
*.bot2 0 !=
*.bot3 0 =
start
*.in1 .bot3 store
cond
*.bot3 0 !=
*.bot4 0 =
start
*.in1 .bot4 store
cond
*.bot4 0 !=
*.bot5 0 =
start
*.in1 .bot5 store
cond
*.bot5 0 !=
*.bot6 0 =
start
*.in1 .bot6 store
cond
*.bot6 0 !=
*.bot7 0 =
start
*.in1 .bot7 store
cond
*.bot7 0 !=
*.bot8 0 =
start
*.in1 .bot8 store
cond
*.bot8 0 !=
*.bot9 0 =
start
*.in1 .bot9 store
cond
*.bot9 0 !=
*.bot10 0 =
start
*.in1 .bot10 store
stop

'Turning Genes
'****************

'Turn to a veg

cond
*.numties 2 <
*.robage 21 >
*.eyef 0 >
*.refeye 0 =
*.refxpos *.refypos angle *.tieang !=
start
*.refxpos *.refypos angle .setaim store
stop

'turn towards an enemy

cond
*.focuseye 1 =
*.refeye *.myeye !=
*.refeye 0 !=
start
420 *.refxpos *.refypos angle sub .aimdx store
*.refxpos *.refypos angle .setaim store
0 .focuseye store
3 .stage store
stop

cond
*.focuseye 2 =
*.refeye *.myeye !=
*.refeye 0 !=
start
315 *.refxpos *.refypos angle sub .aimdx store
*.refxpos *.refypos angle .setaim store
0 .focuseye store
stop

cond
*.focuseye 3 =
*.refeye *.myeye !=
*.refeye 0 !=
start
210 *.refxpos *.refypos angle sub .aimdx store
*.refxpos *.refypos angle .setaim store
0 .focuseye store
stop

cond
*.focuseye 4 =
*.refeye *.myeye !=
*.refeye 0 !=
start
105 *.refxpos *.refypos angle sub .aimdx store
*.refxpos *.refypos angle .setaim store
0 .focuseye store
stop

cond
*.focuseye 6 =
*.refeye *.myeye !=
*.refeye 0 !=
start
-420 *.refxpos *.refypos angle sub .aimdx store
*.refxpos *.refypos angle .setaim store
0 .focuseye store
stop

cond
*.focuseye 7 =
*.refeye *.myeye !=
*.refeye 0 !=
start
-315 *.refxpos *.refypos angle sub .aimdx store
*.refxpos *.refypos angle .setaim store
0 .focuseye store
stop

cond
*.focuseye 8 =
*.refeye *.myeye !=
*.refeye 0 !=
start
-210 *.refxpos *.refypos angle sub .aimdx store
*.refxpos *.refypos angle .setaim store
0 .focuseye store
stop

cond
*.focuseye 9 =
*.refeye *.myeye !=
*.refeye 0 !=
start
-105 *.refxpos *.refypos angle sub .aimdx store
*.refxpos *.refypos angle .setaim store
0 .focuseye store
stop

'Turn to conspec

cond
*.numties 2 <
*.robage 21 >
*.eyef 0 >
*.refeye *.myeye %=
*.in2 *.out2 = or
*.in1 *.bot1 = or
*.in1 *.bot2 = or
*.in1 *.bot3 = or
*.in1 *.bot4 = or
*.in1 *.bot5 = or
*.in1 *.bot6 = or
*.in1 *.bot7 = or
*.in1 *.bot8 = or
*.in1 *.bot9 = or
*.in1 *.bot10 =
*.in4 1 =
*.refxpos *.refypos angle *.tieang !=
*.tin1 0 !=
start
*.refxpos *.refypos angle .setaim store
0 *.velup sub *.eyef sub *.fixpos mult ~ .up store
0 .stage store
stop

'Movement Genes
'****************

'Move Forward

cond
*.fixed 0 =
*.out4 1 !=
*.eyef 0 >
*.eyef 80 <
*.refeye *.myeye !=
*.refxpos *.refypos angle *.tieang !=
start
*.refxpos *.refypos angle -1 mult *.aim add
1256 add 1256 mod
dup dup dup dup dup 314 ceil swapint
314 floor 942 ceil 314 sub sub swapint
942 floor 942 sub add 2 div *.veldx sub .dx store
628 ceil -1 mult 314 add swapint
628 floor 628 sub add 2 div *.velup sub .up store
stop

cond
*.eyef 0 =
*.fixed 0 =
*.vel *.maxvel !=
start
*.maxvel *.vel sub .up store
stop

cond
*.fixed 0 =
*.refaim -1 mult *.aim =
*.refvel -1 mult *.vel = or
*.refeye *.myeye != and
*.out1 *.in1 !=
*.eye1 20 <
*.eye2 20 <
*.eye3 20 <
*.eye4 20 <
*.mass 1 >
*.refeye 0 !=
start
*.maxvel *.mass div *.vel sub .sx store
*.refxpos *.refypos angle *.setaim store
stop

cond
*.fixed 0 =
*.refaim -1 mult *.aim =
*.refvel -1 mult *.vel = or
*.refeye *.myeye != and
*.out1 *.in1 !=
*.eye6 20 <
*.eye7 20 <
*.eye8 20 <
*.eye9 20 <
*.mass 1 >
*.refeye 0 !=
start
*.maxvel *.mass div *.vel sub .dx store
*.refxpos *.refypos angle *.setaim store
stop

cond
*.numties 0 >
*.trefvel *.vel = or
*.trefvel *.vel >
start
*.trefaim .setaim store
*.maxvel *.vel sub .up store
stop

'Attack/Defensive Genes
'*****************

cond
*.eyef 0 =
*.pain 0 <
start
0 .shotselect store
stop

cond
*.eyef 0 =
*.refeye *.myeye = or
*.refshoot 0 = or
*.shflav 0 !=
*.shflav -2 !=
start
942 *.shang sub .setaim store
0 .shflav store
100 .mkshell store
26 .strvenom
.shoot .ploc store
stop

cond
*.fixed 0 =
*.refvel *.vel = or
*.refeye *.myeye != and
*.out1 *.in1 !=
*.eyef 70 >
*.refeye 0 !=
*.refxpos *.refypos angle *.tieang !=
start
*.nrg 4 *.pain add div .shootval store
-1 .shoot store
cond

cond
*.refaim *.aim !=
*.refvel *.vel = or
*.refeye *.myeye != and
*.out1 *.in1 !=
*.eyef 40 >
*.eyef 90 <
*.venom 70 <
*.refeye 0 !=
*.refxpos *.refypos angle *.tieang !=
start
*.refxpos *.refypos angle .aimshot store
*.setaim .shootval store
*.aim .shoot store
cond

'Create Venom and Poison

cond
*.nrg 6000 > and
*.venom 20 <
*.poison 20 <
start
*.nrg *.venom sub 7 div .strvenom store
*.nrg *.poison sub 6 div .mkpoison store
stop

cond
*.eyef 40 >
*.refeye *.myeye !=
*.in1 *.out1 !=
*.venom 0 >
*.refeye 0 !=
start
1 .venomsel store
cond
*.venomsel 1 =
start
728 .venloc store
*.myeye .venval store
-3 .shoot store
*.venomsel 1 add .venomsel store
cond
*.venomsel 2 =
start
.shoot .venloc store
-2 .venval store
-3 .shoot store
*.venomsel 1 add .venomsel store
cond
*.venomsel 3 =
start
.setaim .venloc store
*.xpos *.ypos angle .venval store
-3 .shoot store
*.venomsel 1 add .venomsel store
cond
*.venomsel 4 =
start
0 .venomsel store
stop

cond
*.eyef 0 =
*.pain 0 <
start
0 .shotselect store
stop

cond
*.nrg 3000 >
*.shell 20 <
start
*.nrg 5 div .mkshell store
stop

'Used for Info Shots under certain conditions

cond
*.fixed 0 =
*.eyef 40 >
*.refeye *.myeye !=
*.in1 *.out1 !=
*.refkills *.kills >
*.refeye 0 !=
start
.fixpos .shootval store
*.refxpos .fxpos store
*.refypos .fypos store
stop

'Shoot at the enemy using the 40 selection

cond
*.eyef 60 >
*.shotselect 0 !=
start
*.refxpos *.refypos angle *.eyef mod -1 mult .aimdx store
*.focuseye .focuseye store
2 140 store
*40 .shoot store
stop

'Disguise if mutated

cond
*.in2 *.dnalen !=
*.in2 *.out2 !=
*.refeye *.meye %=
*.refeye 0 !=
start
*.in2 .out2 store
stop

'Memory Loactions 80-81
'*******************

'Return to a trapped enemy if in pain

cond
*.pain 100 >
*.eyef 0 =
*.numties 0 =
*.robage 21 >
*.fixpos 0 =
start
*.fxpos *.fypos angle .setaim store
1 90 store
stop

cond
*.eyef 0 >
*.eyef 50 <
*90 1 =
*.xpos *.fxpos %=
*.ypos *.fypos %=
start
*.nrg 3 div .shootval store
-1 .shotselect store
stop


'Tie Genes
'****************

'Tie to a veg in Multi Bot Mode

cond
*.eyef 50 >
*.refeye 0 =
*.multimode 0 >
*.numties 1 =
start
1 *.tiecounter add .tiecounter store
*.tiecounter .tie store
stop

cond
*.stage 6 !=
*.trefeye 0 =
*.multimode 0 >
*.tielen 30 !=
*.in4 5 !=
start
210 *.tienum mult .fixang store
30 .fixlen store
70 .stiftie store
stop

'Tie to conspec

cond
*.in4 3 =
*.numties 2 <
*.in2 *.out2 = or
*.in1 *.bot1 = or
*.in1 *.bot2 = or
*.in1 *.bot3 = or
*.in1 *.bot4 = or
*.in1 *.bot5 = or
*.in1 *.bot6 = or
*.in1 *.bot7 = or
*.in1 *.bot8 = or
*.in1 *.bot9 = or
*.in1 *.bot10 =
*.in2 *.out2 =
*.myeye *.refeye %=
*.eyef 50 >
*.refxpos *.refypos angle *.tieang !=
start
*.tiecounter 1 add .tiecounter store
*.tiecounter .tie store
0 .shotselect store
stop

cond
*.eyef 40 >
*.refeye 0 =
*.numties 3 <
*.refxpos *.refypos angle *.tieang !=
start
*.tiecounter 1 add .tiecounter store
*.tiecounter .tie store
0 .shotselect store
75 *.aim add .setaim store
stop

'Read Ties

cond
start
*.robage mod *.numties *.tiepres add .readtie store
stop

'Tell Veg that You're taken

cond
*.trefeye 0 =
*.trefnrg 10 >
start
.tout1 .tieloc store
5 .tieval store
stop

'set the paramaters for the veggie, ie distance and angle

cond
*.numties 0 > and
*.trefeye 0 = and
*.tielen 60 != or
*.tieang 90 *.tienum add !=
*.multimode 0 =
start
*.readcounter .tienum store
60 .fixlen store
90 *.tienum add .fixang store
60 .stifftie store
stop

cond
*.numties 0 >
*.numties 0 > and
*.trefeye 0 = and
*.tielen 60 != or
*.tieang 90 *.tienum add !=
*.out4 1
start
*.readcounter .tienum store
180 *.tienum mult .fixang store
60 .fixlen store
60 .stifftie store
200 .tmemloc store
*.vel .tmemval store
stop

'Feed from Veg

cond
*.trefeye 0 =
*.numties 0 >
start
*.tiepres .readtie *.numties sgn mult store
.tiepres .memloc *.robage -1 mult 1 add sgn mult store
.numties .tmemloc *.robage -1 mult 1 add sgn mult store
55 10 rnd add .tie *.refeye sgn -1 mult 1 add sgn mult *.eye5 45 sub

sgn mult *.memval sgn -1 mult 1 add sgn mult *.robage sgn mult store
628 .fixang *.numties sgn mult store
200 .fixlen *.numties sgn mult store
*.tiepres .tienum *.numties sgn mult store
*.tiepres .readtie *.numties sgn mult store
.fixpos .tieloc *.numties sgn mult *.treffixed mult store
0 .tieval *.numties sgn mult *.treffixed mult store
80 .sharenrg *.multi mult store
-1 .tieloc store
-1000 .tieval store
100 .sharewaste *.multi mult store
stop

cond
*.nrg *.trefnrg <
*.numties 0 >
*.body 800 <
*.nrg 2100 <
*.trefeye *.myeye %=
start
50 .sharenrg *.multi mult store
stop

cond
*.multimode 1 =
*.waste 0 >
*.numties 0 >
*.multi 0 >
*.trefeye *.myeye %=
start
50 .sharewaste *.multi mult store
stop

'Delete Ties to enemies

cond
*.numties 0 >
*.trefeye *.myeye !=
*.trefeye 0 !=
start
*.tiepres *.tienum store
*.trefaim *.aim sub .setaim store
*.tiepres .deltie store
0 .stage store
stop

cond
*.tiepres *.readcounter !=
*.numties 0 >
*.trefeye *.myeye !=
*.trefeye 0 !=
start
*.tiepres .tienum store
400 .tieval store
.tieval .tieloc store
50 .sharewaste *.multi mult store
stop

cond
*.numties 2 >
*.fixed 0 !=
*.tin1 0 !=
start
0 .fixpos store
6 .stage store
stop

cond
*43 2 >
*.nrg 10000 >
*.body 900 >
*.numties 0 >
start
*.tiepres .deltie store
0 .fixpos store
0 .multimode store
6 .tout1 store
stop

'Multibot Tie mode
'*****************************

cond
*.numties 0 >
*.trefeye *.myeye =
*.multimode 0 =
*.stage 6 !=
start
*.readcounter .multimode store
stop

cond
*.multimode 0 >
*.multeyef *.eyef >
*.stage 6 !=
start
*.multrefvel *.vel sub .dn store
stop

'Turn both bots to face 90 degrees out.

cond
*.multimode 0 >
*.trefeye *.myeye %=
*.trefeye 0 !=
*.tielen 70 !=
*.tieang 210 !=
*.stage 6 !=
start
210 .fixang store
70 .fixlen store
70 .stiftie store
stop


'Command Interpretation
'****************

cond
*.in4 7 =
*.in2 *.out2 = or
*.in1 *.bot1 = or
*.in1 *.bot2 = or
*.in1 *.bot3 = or
*.in1 *.bot4 = or
*.in1 *.bot5 = or
*.in1 *.bot6 = or
*.in1 *.bot7 = or
*.in1 *.bot8 = or
*.in1 *.bot9 = or
*.in1 *.bot10 =
*.in2 *.out2 =
*43 3 <
start
50 .sexrepro store
*.refxpos *.refypos angle .aimshot store
-8 .shoot store
*.refvel *.vel sub .dn store
1 .fixpos store
0 .multimode store
7 .out5 store
*43 1 add 43 store
stop

cond
*.in2 *.out2 = or
*.in1 *.bot1 = or
*.in1 *.bot2 = or
*.in1 *.bot3 = or
*.in1 *.bot4 = or
*.in1 *.bot5 = or
*.in1 *.bot6 = or
*.in1 *.bot7 = or
*.in1 *.bot8 = or
*.in1 *.bot9 = or
*.in1 *.bot10 =
*.in2 *.out2 =
*.in5 7 =
*.out4 7 =
*43 3 <
start
0 .out4 store
*43 1 add 43 store
stop

cond
*.stage *.tout1 !=
start
*.stage .tout1 store
stop

cond
*.tin1 *.stage !=
start
*.tin1 .stage store
0 .fixpos store
*.numties .tout2 store
stop

cond
*.robage *.trefage >
*.numties *.tin2  >
*.tin2 2 <
*.kills 3 >
start
55 .tout1 store
stop

cond
*.in2 *.out2 = or
*.in1 *.bot1 = or
*.in1 *.bot2 = or
*.in1 *.bot3 = or
*.in1 *.bot4 = or
*.in1 *.bot5 = or
*.in1 *.bot6 = or
*.in1 *.bot7 = or
*.in1 *.bot8 = or
*.in1 *.bot9 = or
*.in1 *.bot10 =
*.in2 *.out2 =
*.out5 7 =
*.in4 7 =
start
0 .out5 store
0 .out4 store
stop

'Stage 2: Swarm Mode
'***************

'Swarm in a Circle:

cond
*.multi 0 >
*466 0 >
*.eye5 30 >
*.eye5 80 <
*.refeye *.myeye =
*.in4 1 =
*.numties 2 >
*.nrg 3000 >
*.stage 6 =
start
*.bxpos .bypos angle .setaim store
*.refvel *.vel sub .up store
1 .out4 store
stop

cond
*.refeye *.myeye %=
*.in1 *.out1 %=
*.in4 1 =
*.stage 6 =
start
*.tiepres 1 add .tie store
*.tiepres .readtie store
stop

cond
*.trefeye *.myeye %=
*.robage *.trefage >
*.stage 6 =
start
30 *.aim add .setaim store
*.maxvel *.vel sub .dn store
stop

cond
*.stage 6 =
*.trefeye *.myeye %=
*.robage *.trefage <
start
20 .fixlen
0 140 store
260 .fixang store
40 .stifftie store
*.trefvel *.vel sub .up store
*.trefaim .aim store
stop

cond
*.out4 1 =
*.poison 150 <
*.nrg 2000 <
start
*.nrg 9 div .mkpoison store
*.eyef .ploc store
stop

cond
*.multeyef *.eyef >
start
*.multvel *.vel sub .dn store
stop

cond
*.multeyef *.eyef =
*.trefaim *.aim %=
*.trefeye *.myeye %=
start
*.refvel *.vel sub .aim store
-1 .shotselect store
stop


'Stage 1B: The Sitting Predator
'*************************

'Become fixed

cond
*.multimode 0 =
*.numties 1 >
*.trefeye 0 =
*.fixpos 0 =
start
3 .out4 store
1 .fixpos store
70 .stiftie store
stop

cond
*.trefeye *.myeye %=
*.fixed 1 =
*.numties 2 = or
*.mutlimode 0 >
start
6 .out4 store
0 .fixpos store
50 .stiftie store
stop

'Become the Swarm

cond
*.numties 2 >
*.trefeye 0 = or
*.stage 6 !=
*.fixed 0 =
*.tin1 0 !=
start
6 .stage store
stop

'Stage 5 Genes: The Waiting trap
'**********************

cond
*.stage 5 =
*.robage 26 =
start
9 140 store
stop

cond
*.stage 5 =
*.robage 25 = or
*.nrg 5000 >
start
50 .repro store
*.tiecounter 1 add .tiecounter store
*.tiecounter .tie store
stop

'Wait for the tie to harden and then set the adolecesants memory

cond
*.stage 5 =
*.multi 0 >
start
*.stage .tieloc store
55 .tieval store
70 .stifftie store
stop

cond
*.trefeye *.myeye %=
*.stage 5 =
*.tielen 40 >
start
40 .fixlen store
70 .stifftie store
stop

cond
*.stage 5 =
start
.setaim .tieloc store
*.aim .tieval store
stop

cond
*.stage 5 =
*.maxvel *.numties div *.vel !=
start
*.maxvel *.numties div *.vel .aim store
stop

cond
*.stage 5 =
*.numties 3 =
*.xpos *.bxpos %=
*.ypos .bypos %=
*.robage 200 >
*.kills 2 >
start
1 .fixpos store
stop

cond
*.stage 5 =
*.numties 3 =
*.fixed 1 =
*.trefeye 0 =
*.kills 3 >
start
.fixpos .tieloc store
1 .tieval store
stop

cond
*.stage 5 =
*.numties 3 =
*.fixed 1 =
*.trefeye *.myeye %=
start
55 .sharenrg *.multi mult store
stop

cond
*.stage 5 !=
*140 9 =
start
0 140 store
stop

'Stage 3-War

cond
*.stage 3 =
*.tiepres 0 >
start
*.tiepres .deltie store
stop

cond
*.eyef 0 >
*.refeye *.myeye !=
start
*.maxvel *.vel sub .up store
*.refxpos *.refypos angle .setaim store
stop

cond
*.stage 3 =
*.eyef 40 >
*.refeye *.myeye !=
start
30 *.pain sub .shootval store
-1 .shoot store
stop

cond
*.tin1 3 =
start
3 .stage store
stop

'Stage 5-5 Instructions:
'********************

cond
*140 9 !=
*.numties 0 >
*.trefeye *.myeye =
*.multimode 0 =
*.stage 55 =
start
*.readcounter .multimode store
stop

cond
*140 9 !=
*.multimode 0 >
*.multeyef *.eyef >
*.stage 55 =
start
*.multrefvel *.vel sub .dn store
stop

'Turn both bots to face 90 degrees out.

cond
*140 9 !=
*.multimode 0 >
*.trefeye *.myeye %=
*.trefeye 0 !=
*.tielen 70 !=
*.tieang 210 !=
*.stage 55 =
start
240 .fixang store
70 .fixlen store
70 .stiftie store
stop

cond
*.stage 55 =
*.trefeye *.myeye %=
start
*.trefvel *.vel sub .aim store
55 .sharenrg *.multi mult store
stop

cond
*.stage 55 =
*.nrg 4000 >
*.eyef 0 =
*.venom 100 <
start
*.nrg 6 div .strvenom store
stop

cond
*.stage 55 =
*.nrg 4000 >
*.eyef 0 =
*.poison 50 <
start
*.nrg 5 div .mkpoison store
.eyef .ploc store
stop

cond
*.stage 55 =
*.nrg 5000 >
*.eyef 0 =
*.poison 0 >
*.venom 0 >
start
*.nrg 3 div .shootval store
stop

cond
*.stage 55 =
*.kills 5 >
start
.stage .tieloc store
0 .tieval store
stop

cond
*.stage 55 =
*.kills 5 >
start
.fixpos .tieloc store
0 .tieval store
0 .stage store
stop

'Dietary Genes
'***************

cond
*.nrg 3000 >
*.body 1000 <
*.pleas 0 >
start
*.pleas 2 div .strbody store
stop

'Feed when hungry from body

cond
*.nrg 500 <
*.body 0 >
*.numties 0 =
start
*.body *.pain add 2 div .fdbody store
stop

'Reproductive Genes
'****************

cond
*.fixed 0 !=
*.nrg 6000 >
*43 5 <
start
60 .repro store
*43 1 add 43 store
stop

cond
*.numties 2 <
*.trefeye 0 =
*.nrg 4000 >
*43 6 <
start
50 .repro store
*43 1 add 43 store
stop

'MultiMode Only

cond
*.multimode 0 >
*.nrg 4000 >
*.trefeye *.myeye = or
*.refeye *.myeye =
start
*.multimode *.tienum store
*.tieang .setaim store
7 .out4 store
stop

'Reset Values
'**************

cond
*.numties 0 =
*.fixed 0 !=
*.out4 7 !=
start
55 .stage store
0 .fixpos store
stop

cond
*.numties 0 =
start
0 .fixpos store
0 .tiecounter store
stop

cond
*.fixed 0 != and
*.out4 7 != or
*.out5 7 != or
*.trefeye *.myeye %=
start
0 .fixpos store
0 .stage store
stop

cond
*.numties 0 >
*.readcounter *.multimode >
start
0 .multimode store
stop

cond
*.numties 0 >
*.readcounter *.multimode =
*.trefeye 0 =
start
0 .multimode store
stop

cond
*.readcounter *.multimode =
start
213 .tieloc store
0 .tieval store
stop

cond
*.readcounter *.multimode =
start
151 .tieloc store
*.multimode .tieval store
stop
end

Enjoy. The next addition will be a universal translator for ins and outs and expanded memory features, expect a very large dna length for the next bot, but I have some time to review the Slim Evo 2 compared to the Slim Evo 3 to see why it was better, possibly the switches for genes are more efficient in 2. Several genes will always run, and it takes a lot of energy to run a single Slim 2, about 3 veg's total, that's why the reproductive genes are spread out in each stage, so while it cannot find more food, it can create scouts for food. My goal is to create a bot that uses two bots for eyes, and two bots for shots, with two or four in the back with all the veggies, will most likely utilized birthplace recall to keep familes near to protet each other.

208
Interesting behaviour bots / Amoeba
« on: April 27, 2008, 03:17:25 PM »
Ok, I've tested your bot against the following with equal conditions for all btos:

Slim Evo 2 (ancient coms system)
My Algae plant
And Masterl

Slim Evo 2 out gunned it completely, and out maneuvered its tactics, mostly because Slim Evo has social genes for ancient sysvars lol.

Algae was easily harvested, but its virus caused your amoeba to crash in population.

Masterl still sucks as far as true combatant goes, but its more for evo sims, not what this was.

COnsditions:
F1 conditions
Thin fluid
Moon gravity
Total warp around pond mode, with 300 cycle day/night

Thwe concept is there, but take a look at the slim evo 2's tie communications, it has imbeded switches to keep the group focused on a target, and not eachother.

209
The Gene depository / Timerless timer
« on: April 27, 2008, 02:08:49 PM »
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.

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.

210
Bugs and fixes / Erro 76
« on: April 27, 2008, 02:06:19 PM »
Its Vista, and when I did an install, the ini file is there. I'm running it through a shortcut on desktop.

Pages: 1 ... 12 13 [14]