Author Topic: Ahh god, now im begging for commands.  (Read 665 times)

Offline spike43884

  • Bot Overlord
  • ****
  • Posts: 655
    • View Profile
    • OurIllogicalWorld Blog
Ahh god, now im begging for commands.
« on: November 01, 2014, 05:29:09 PM »
.inspectveg - Returns 1 if veggie, returns 0 if bot
.inspectspcie - This is a non-numerical returning sysvar, it would return as a string the name of a bot (useful in leagues maybe/sims to identify what to just sprint away from at all nrgs (I no longer say costs.)) Just like a animal being able to see what another animal looks like, or pick up their scent
.inspectcorpse - Returns 1 if corpse, 0 if living
.inspectdscndnt - Returns 1 if a descendant/direct relative (mum/dad, grandad/grandma and so on...but doesnt return 1 for cousins or uncles) or if not one of those it returns 0
.inspectdnasmlrty - Returns how different the DNA is (some algorithm) to you which would be useful to kill of extremely mutated bots in a MB or to kill off bots of the same species that are just unrecognisable to you (better than botsareus's apparently implemented autoforking)

especially inspectdscndnt would be incredibly useful if you want to create a bot which wont breed with its direct relatives (just to be accurate?) or if you want it to hunt its own species that arent its relatives.

EDIT: Some extra eye commands as well
.eye0 and .eye10 which face directly sideways from the bot on their respective sides
.eye0inv with all the .eye[number]inv's through to .eye10inv which is exactly the same as the normal .eye's but facing for example .eye5inv faces directly backwards
and a extra .eye command
For when your using more than 1 eye only
.eyerespective5 would return how many degrees (or whatever our complex DB2 equivilant is) from .eye5 it is, not sure how this would work when multiple things are in the vision though. Good for aiming a bot, alternatively, you can always add to the sysvars page on the wiki how many degree's you have to turn to get to the position of the center of each eye...that make my job of turning alleyes much easier.
« Last Edit: November 01, 2014, 05:57:55 PM by spike43884 »
Autism can allow so much joy, and at the same time sadness to be seen. Our world is weird, and full of contradiction everywhere, yet somehow at moments seems to come together, and make near perfect sense.

Offline Shadowgod2

  • Bot Destroyer
  • ***
  • Posts: 378
    • View Profile
Re: Ahh god, now im begging for commands.
« Reply #1 on: November 01, 2014, 06:28:42 PM »
sorry but all are too over powering or doubled except .inspectveg and .inspectcorpse.

.inspectcorpse however to see if it's a corps or not:

cond
*.eyef 0 >
*.reftype 0 =
*.nrg 0 =
start
...

and your good

.inspectveg would be better if it was .refchlr for the amount of chlr or chlr commands instead.

to be continued...
« Last Edit: November 01, 2014, 11:13:51 PM by Shadowgod2 »

Offline Shadowgod2

  • Bot Destroyer
  • ***
  • Posts: 378
    • View Profile
Re: Ahh god, now im begging for commands.
« Reply #2 on: November 01, 2014, 07:37:21 PM »
.inspectspcie makes it too easy to tell if another bot is of a different species or not as well as it would render almost all of the ref sysvars useless.

.inspectdscndnt each bot is it's own, family doesn't matter in survival. if it does to you then making your own vers is best through radical memory and the ins and outs

.inspectdnasmlrty evo would be slower however could be useful for sexrepro i do admit but still has the same downfall as .inspectspcie, too easy to tell if your a different species.

all the other eyes and there commands:

you can modify the current eyes to what you need because what you purpose you might as well max out the vision range in distance 360 so it's too easy to see. there needs to be blind spots just in life. herbivores see almost 360 but don't have very good recognition/range like predators do, they have there sight right in front of them and have great recognition/range.

Offline spike43884

  • Bot Overlord
  • ****
  • Posts: 655
    • View Profile
    • OurIllogicalWorld Blog
Re: Ahh god, now im begging for commands.
« Reply #3 on: November 02, 2014, 04:47:03 AM »
.inspectspcie makes it too easy to tell if another bot is of a different species or not as well as it would render almost all of the ref sysvars useless.

.inspectdscndnt each bot is it's own, family doesn't matter in survival. if it does to you then making your own vers is best through radical memory and the ins and outs

.inspectdnasmlrty evo would be slower however could be useful for sexrepro i do admit but still has the same downfall as .inspectspcie, too easy to tell if your a different species.

all the other eyes and there commands:

you can modify the current eyes to what you need because what you purpose you might as well max out the vision range in distance 360 so it's too easy to see. there needs to be blind spots just in life. herbivores see almost 360 but don't have very good recognition/range like predators do, they have there sight right in front of them and have great recognition/range.
Ok...so some help in changing the size of the eyes, I want to keep .eye5 the same, preferably makign it so the eyes get wider the further from the circle (Abit like peripheral vision really...) Thus My bot wont have to expend much energy in turning at a huge speed
Autism can allow so much joy, and at the same time sadness to be seen. Our world is weird, and full of contradiction everywhere, yet somehow at moments seems to come together, and make near perfect sense.

Offline Shadowgod2

  • Bot Destroyer
  • ***
  • Posts: 378
    • View Profile
Re: Ahh god, now im begging for commands.
« Reply #4 on: November 02, 2014, 10:01:06 AM »
eye5 is usually your focus and all the other eyes are your peripheral. the reason the eyes get smaller the further they go out is so you have to choose having the most coverage but not very good range or whiskers with each eye.

this bot shows both with an eye scanning:
Code: [Select]
def robage1 50
def attack 52
def mytienum 53
def trig 55
def eyet1 56
def eyet2 57
def eyetimer1 58
def eyetimer2 59
def eyecheck 60

'eyepos
'''''''''''''''''''''''''
cond
*.robage 5 <
start
-575 .eye2dir store
575 .eye8dir store
-130 .eye1dir store
130 .eye9dir store
-291 .eye3dir store
291 .eye7dir store
-100 .eye4dir store
100 .eye6dir store
280 .eye2width store
280 .eye8width store
-34 .eye1width store
-34 .eye9width store
149 .eye3width store
149 .eye7width store
93 .eye4width store
93 .eye6width store
-34 .eye5width store
31999 rnd .mytienum store
stop
'''''''''''''''''''''''''

'reconization

cond
*.refeye *.myeye !=
*.eyef 0 !=
start
1 .attack store
1 .out1 store
stop

'comunization

cond
*.refeye *.myeye =
*.eyef 0 = or
start
0 .attack store
0 .out1 store
stop

cond
*.in1 1 =
*.attack 0 =
start
*.refxpos *.refypos angle 50 *.focuseye sgn -1 mult mult add .setaim store
stop


'swarm

cond
*.attack 0 =
*.refeye *.myeye = and
*.focuseye -3 > and
*.focuseye 3 < and
*.in1 0 = and
start
*.refxpos *.refypos angle 70 *.focuseye sgn -1 mult mult add .setaim store
10 *.refxpos *.refypos dist 20 sub add 5 floor 20 ceil .up store
stop

'lonehunt

cond
*.attack 0 =
*.eyef 0 =
start
10 .up store
stop

'feed

cond
*.refeye *.myeye !=
*.eye5 0 >
*.attack 1 =
start
*.refvelup dist 70 sub sgn 10 mult add .up store
1 rnd 5 mult 6 sub .shoot store
*.refxpos *.refypos angle .setaim store
stop

'eyescanning

start
.robage1 inc
stop

cond
*.robage1 32000 =
start
0 .robage1 store
stop

cond
*.attack 0 =
*.eyet1 0 >=
*.eyet2 0 >=
start
*.robage1
*.eye2 sgn
*.eye3 sgn add
*.eye4 sgn add
*.eye5 sgn add
*.eye6 sgn add
*.eye7 sgn add
*.eye8 sgn add
mod 1 add .eyecheck store
stop

'eyeslecting

cond
*.attack 0 =
start
*.eye2 sgn 61 store
*.eye2 sgn *.eye3 sgn add 62 store
*.eye2 sgn *.eye3 sgn add *.eye4 sgn add 63 store
*.eye2 sgn *.eye3 sgn add *.eye4 sgn add *.eye5 sgn add 64 store
*.eye2 sgn *.eye3 sgn add *.eye4 sgn add *.eye5 sgn add *.eye6 sgn add 65 store
*.eye2 sgn *.eye3 sgn add *.eye4 sgn add *.eye5 sgn add *.eye6 sgn add *.eye7 sgn add 66 store
*.eye2 sgn *.eye3 sgn add *.eye4 sgn add *.eye5 sgn add *.eye6 sgn add *.eye7 sgn add *.eye8 sgn add 67 store
stop

cond
*.attack 0 =
*.eyecheck *61 =
start
-3 .focuseye store
stop
cond
*.attack 0 =
*.eyecheck *62 =
*62 *61 !=
start
-2 .focuseye store
stop
cond
*.attack 0 =
*.eyecheck *63 =
*63 *62 !=
start
-1 .focuseye store
stop
cond
*.attack 0 =
*.eyecheck *64 =
*64 *63 !=
start
0 .focuseye store
stop
cond
*.attack 0 =
*.eyecheck *65 =
*65 *64 !=
start
1 .focuseye store
stop
cond
*.attack 0 =
*.eyecheck *66 =
*66 *65 !=
start
2 .focuseye store
stop
cond
*.attack 0 =
*.eyecheck *67 =
*67 *66 !=
start
3 .focuseye store
stop

cond
*.attack 0 =
*.eye9dir 130 >=
start
1 .trig store
stop

cond
*.attack 0 =
*.eye9dir -480 <=
start
0 .trig store
stop

'wisker scanning

cond
*.attack 0 =
*.trig 1 =
start
*.eye1dir 10 add .eye1dir store
*.eye9dir 10 sub .eye9dir store
stop

cond
*.attack 0 =
*.trig 0 =
start
*.eye9dir 10 add .eye9dir store
*.eye1dir 10 sub .eye1dir store
stop

'eye1

cond
*.focuseye -4 =
*.refeye *.myeye =
start
5 .eyetimer1 store
stop

cond
*.eye1 0 >
*.eyet1 0 = and
*.eyetimer1 0 = and
*.attack 0 = and
start
-4 .focuseye store
-1 .eyet1 store
stop

cond
*.eyetimer1 0 >
start
.eyetimer1 dec
stop

cond
*.eye1 0 >
*.eyet1 -1 =
*.refeye *.myeye =
start
3 .eyet1 store
stop

cond
*.eye1 0 =
*.eyet1 -1 =
start
0 .eyet1 store
stop

cond
*.eyet1 0 >
start
.eyet1 dec
stop

'eye9

cond
*.focuseye 4 =
*.refeye *.myeye =
start
5 .eyetimer2 store
stop

cond
*.eye9 0 >
*.eyet2 0 = and
*.eyetimer2 0 = and
*.attack 0 = and
start
4 .focuseye store
-1 .eyet2 store
stop

cond
*.eyetimer2 0 >
start
.eyetimer2 dec
stop

cond
*.eye9 0 >
*.eyet2 -1 =
*.refeye *.myeye =
start
3 .eyet2 store
stop

cond
*.eye9 0 =
*.eyet2 -1 =
start
0 .eyet2 store
stop

cond
*.eyet2 0 >
start
.eyet2 dec
stop


'repro

cond
*.nrg 20000 >
start
50 .repro store
stop

still working out the bugs in it but works very well
« Last Edit: November 02, 2014, 01:55:34 PM by Shadowgod2 »

Offline spike43884

  • Bot Overlord
  • ****
  • Posts: 655
    • View Profile
    • OurIllogicalWorld Blog
Re: Ahh god, now im begging for commands.
« Reply #5 on: November 02, 2014, 01:47:13 PM »
Mind putting some +'s at the start and end of the eyewidth setting
Autism can allow so much joy, and at the same time sadness to be seen. Our world is weird, and full of contradiction everywhere, yet somehow at moments seems to come together, and make near perfect sense.

Offline Shadowgod2

  • Bot Destroyer
  • ***
  • Posts: 378
    • View Profile
Re: Ahh god, now im begging for commands.
« Reply #6 on: November 02, 2014, 01:57:01 PM »
i have ''''''''''''''''' at the start and stop of the eye position gene.

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
    • DJ Paul Kononov
Re: Ahh god, now im begging for commands.
« Reply #7 on: August 19, 2016, 09:28:11 PM »
Introducing new commands actually breaks the simulation in two ways:

1.) It makes the simulation run slower.
2.) It makes robots obsolete because they may use that same memory location already.

But this is all moot because DB3 robots will not use waste as toxic no body knows stuff so DB2 robots will not work anyway.