Bots and Simulations > The Gene depository
"Eyeless" bots
Endy:
Alright since I can't quite get this to work as well as I'd like, I'll post it so perhaps someone else can make use of it.
The new * operator allows the creation of bots that don't appear to have eyes to the other bots. (found some bad coding in One that allowed blind leachers to destroy it :D )
--- Code: ---499 6 add * 0 !=
--- End code ---
is equivalent to: *.eye5 0 !=
The downside to this is that the program also thinks the bots don't have any eyes and subsequently doesn't allow them to see any refvars. I've gotten a fully functional version of Din down to a single eye, but can't go any further because of this :sad2:
Numsgil:
That's not what I added * for :angry: :P
I think I've changed it so that veggies can still use their eyes even though they don't need to. This would apply to other bots as well. values get stored in eye slots wether they use them or not.
I was thinking of people hijacking a veg, and using it as a shield. You could use its eyes to see through, and command it to shoot using venom, etc.
I'll go look through the code with this in mind, make sure things are working in a logical and consistant manner.
Endy:
--- Quote ---That's not what I added * for
--- End quote ---
Honestly the dastardly plot was already foiled by View. Without any sort of species recognition the bots are impossibly difficult to control. The first din mod wiped itself out simply due to it attacking it's own family continuously.
It's always been possible to hide most refvars just by having them be mathmatical parts instead of a single number. Thats one of the problems with using the ref's to look directly at dna, that's it's too easy to hide the true meaning of all those numbers.
Numsgil:
Most conspec abandoned using eyes a long time ago, so I'm not too worried.
What all ways do people use for conspec recognition? These are all the ones I can think of:
memloc/memval
in/out
refeye
Endy:
Normally I and alot of others just use eyes since the number is more likly to be unique and you can't change the eye number easily. With the modified Din I switched to using shoot, since it has a goodly supply of those.
I've worked on using memloc/memval for identification. I still don't like how another bot can query .memval to discover what you're looking for. It's alot like the old in/out problem, with another cycle thrown in :(
I played with checking their *.thisgene(last gene when view by another) but decided against further use due to all the viruses.
I'm planning on developing a variable memval/memloc checker, I just need to figure out how to make it so it doesn't cost too much. I think you could do something like this with the refvars and myvars now with * . Something similar to:
--- Code: ---Puesdo code:
3 rnd 50 store
cond
.myeye *50 add * .refeye *50 add !=
start
etc
--- End code ---
Should randomly check different refvars and equivalent myvars against each other.
(Note I'm nowhere near sure the ref/my's align correctly for the example above additional math tweaking is likely required)
Navigation
[0] Message Index
[#] Next page
Go to full version