Darwinbots Forum

Bots and Simulations => DNA - General => Topic started by: MrMound on October 07, 2005, 10:40:09 PM

Title: help....again
Post by: MrMound on October 07, 2005, 10:40:09 PM
so I had an idea to make a bot that lures its prey into it.  is there a way to make a packet of energy a bot drops stay where it is and not go away.  make the energy like bait so a bot could attack from behind or somthing to that effect.
Title: help....again
Post by: Numsgil on October 07, 2005, 11:26:03 PM
Two ways I'd see to do this:

1.  With the egrid.

2.  With "mines", like I outlined in the "shots stuff" thread in suggestions.
Title: help....again
Post by: MrMound on October 08, 2005, 12:20:13 AM
soo the mines are in the process of being programmed? any ideas how long it will be untill that function is usable

I left right when the e grid was being desigened(or a little after that) so I don't know really what it is or how to use it.  is it in the wiki tutorial somewhere?
Title: help....again
Post by: Numsgil on October 08, 2005, 11:24:52 AM
Both aren't implemented yet.  The ideas in the shots thread need to be discussed and a general concencus reached one way or another.
Title: help....again
Post by: MrMound on October 08, 2005, 01:45:35 PM
ok I guess that bot idea will have to wait then
Title: help....again
Post by: Botsareus on October 08, 2005, 01:45:52 PM
Try making a fast robot that reproduces with less energy , and compicatizes your opponent.
Title: help....again
Post by: Numsgil on October 08, 2005, 01:50:40 PM
compicatizes?  Root word: compicate?  Um... (http://dictionary.reference.com/search?q=compicate).
Title: help....again
Post by: Botsareus on October 08, 2005, 01:54:49 PM
Had to break out microsoft word: Kamikazes
Title: help....again
Post by: Numsgil on October 08, 2005, 02:07:24 PM
Ah.  Should ahve guessed.   :rolleyes:

Bots with english = bad.

Bots with Japanese =  :banghead:
Title: help....again
Post by: Numsgil on October 08, 2005, 02:08:29 PM
How would you Kamikaze another bot, and what does that have to do with luring your prey to you?
Title: help....again
Post by: MrMound on October 08, 2005, 02:16:18 PM
I was kindof wondering that to
Title: help....again
Post by: Welwordion on October 08, 2005, 04:38:03 PM
I think the idea is that you have two different kind children.
Real descandants and baits.

You produce baits, wait near them and  when another bot approaches to eat the bait, the bait weakens the attacker(poison. shots etc) and after the enemy comsumed the bait ,the trapper knows an enemy attacked and comes to finish him of.
thats what I think he means

Or he could mean to produce low energy swarms that can sacrifice most of their members, sacrifice a few so the rest get the big catch.
Title: help....again
Post by: MrMound on October 08, 2005, 05:09:45 PM
so are you saying to make a 2 bot multibot and when one of the bots in the chain gets attaccked make it transfer most of it energy to the other one and make poison,venom, ect. and when the second bot recocnises the other bot is dead it goes in for the kill
Title: help....again
Post by: Numsgil on October 08, 2005, 05:27:31 PM
It wouldn't even need to be a multibot.  You could just have the larger member hide in the corner watching a smaller bot sort of just mvoe around to attract soemthing to eat.  When something too large comes by, the smaller bot asks for help and the larger bot comes to make a meal.
Title: help....again
Post by: Numsgil on October 08, 2005, 05:34:54 PM
Seems overkill now that I think of it though.  Most bots aren't smart enough to see that something is "too large" to eat.  They're kind of dumb that way.
Title: help....again
Post by: MrMound on October 08, 2005, 05:45:37 PM
one thing how would it send the message.  would a virus work? and is there a way to make the big bot know where the little bot is
Title: help....again
Post by: Botsareus on October 08, 2005, 06:46:00 PM
On the other hand, If we make energy mines, how will the energy mine send a message. We are getting off topic here.

Or now it's: a magical energy shot mine that does not attack the perosn who placed it? Yea, then it needs done some thinking. Because if we make the bot that checks if it is safe to attack. Somebody might evolve a way to mimic the signature.
Title: help....again
Post by: Numsgil on October 08, 2005, 06:52:34 PM
The big bot could keep the small bot in it's eye5.  Then the little bot can communicate with the big bot using in/out.

Bots:  We're discussing your idea right now, of having another smaller bot as bait.  Damnit pay attention.  Shots do not collide with the bots that shoot them, I assume that would apply to mines as well.
Title: help....again
Post by: Botsareus on October 08, 2005, 07:10:02 PM
My idea was actualy to have a small bot as a suiside mine. It theoraticaly should take out anything by itself that a mine can take out.

This bait stuff in interesting, but not my original idea...
Title: help....again
Post by: Numsgil on October 08, 2005, 07:11:33 PM
Then that's a new idea, and you should preface it by saying so.

We can't just guess at these things, you know.
Title: help....again
Post by: MrMound on October 08, 2005, 07:21:38 PM
whats in/out youve got to remembre my incompetence in db language
Title: help....again
Post by: Numsgil on October 08, 2005, 07:24:14 PM
Ah, okay.

*.in1 and *.in2 read in values from *.out1 and *.out 2 from the bot in your eye5.  *.out1 and *.out2 can be written to like regular variables.

Code: [Select]
5 .out1 store
Would have 5 display in a bot's *.in1 whenever they look at you.
Title: help....again
Post by: Botsareus on October 08, 2005, 07:30:32 PM
Yep, a new killer line from Num

Quote
Ah, okay.

Hey, give the guy credit , he still did not ban me and is the only one who has enough to actualy figure out the entire DB program and keep it in his head.
Title: help....again
Post by: Endy on October 08, 2005, 11:00:46 PM
I had an idea of simply making soldier bots at one time, one bot would occasionally be selected to stop reproducing and run around simply attacking enemies. The soldier didn't really have any additional abilities it'd just gain massive amounts of strength and nrg. Was pretty cool, I had a version of The One defeat it's older ancestor.
Title: help....again
Post by: MrMound on October 09, 2005, 12:06:39 AM
if I wanted to make gene five be deleted on my robots 100 cycle since he was born would the code look like this

Code: [Select]
cond
*.roboage != 100
start
5.delgene
stop
Title: help....again
Post by: Ulciscor on October 09, 2005, 12:22:56 AM
Wouldn't that delete on any age except 100? I think you'd need

Code: [Select]
cond
*.robage 100 =
start
5 .delgene store
stop
Title: help....again
Post by: MrMound on October 09, 2005, 06:51:30 PM
whats the code for fix position?
Title: help....again
Post by: Numsgil on October 09, 2005, 06:54:25 PM
1 .fixpos store

causes you to fix position.  However:

*.fixed tells you if you are presently fixed or not (1 = fixed, 0 = not)
Title: help....again
Post by: MrMound on October 09, 2005, 07:02:05 PM
how do you unfix your self
and why wont this gene work then
Code: [Select]
cond
*.numtie >= 1
start
1 .fixpose store
stop
Title: help....again
Post by: Welwordion on October 09, 2005, 07:37:24 PM
hmm first does >= work? never tried, just use >
second
*.numtie > 0 is wrong it must be
*.numtie  0 >
third
1 .fixpose store
the 1 has to be a 0 and its fixpos not fixpose
0 .fixpos store
fourth
numties not numtie
so it must be

cond
*.numties  0 >
start
0 .fixpos store
stop
Title: help....again
Post by: MrMound on October 09, 2005, 07:44:31 PM
still doesn't work
Title: help....again
Post by: Numsgil on October 09, 2005, 08:55:25 PM
it's .fixpos, not .fixpose
Title: help....again
Post by: MrMound on October 09, 2005, 11:44:16 PM
heres the gene thats not working
Code: [Select]
cond
*.numtie 0 >
start
0 .fixpos store
stop
I want this gene to tell my bot to stop when it ties on to food.  I also want this gene to make any other bots tied onto me to stay still wile they are (bots of my own species).
heres the bot if you want to look at the whole thing to see if its something else thats making that bot not work.
Title: help....again
Post by: Numsgil on October 10, 2005, 12:28:24 AM
0 .fixpos store unfixes your position.

1 (in fact, I think any non zero value) .fixpos store fixes your position.

That should resolve it.

Bot's looking good.
Title: help....again
Post by: Light on October 10, 2005, 04:51:41 AM
Also its *.numties not *.numtie
Title: help....again
Post by: Light on October 10, 2005, 06:41:13 AM
Code: [Select]
cond
*.multi = 1
start
99% sharenrg
1% sharewaste
stop

this gene shoud be

Code: [Select]
cond
  *.multi 1 =
start
  99 .sharenrg store
  1 .sharewaste store
stop

Code: [Select]
cond
 *.eye5
 0
 >
 *refaimdex
 1
 =
start
  1 .tie
stop

and this should be

Code: [Select]
cond
  *.eye5 0 >
  *.refaimdx 1 =
start
  1 .tie
stop
Title: help....again
Post by: Welwordion on October 10, 2005, 07:07:08 AM
I thought he wanted to unfix it ^^, ahh well my bad.
Title: help....again
Post by: PurpleYouko on October 10, 2005, 09:29:06 AM
Quote
how do you unfix your self
and why wont this gene work then
Code: [Select]
cond
*.numtie >= 1
start
1 .fixpose store
stop
Because there are no such commands as fixpose or numtie.

Try fixpos and numties.



Does anyone these days know how to use the robot data panel these days?  <_<

Just double click your bot and click the "show DNA" tab.

Compare your DNA to the text file for differences. If anything shows up as a zero in the DNA panel then it is spelled wrong.

If a whole gene is screwed up then its most likely a missed out cond, start or stop.

These are your basic debugging tools.
Title: help....again
Post by: Numsgil on October 10, 2005, 12:51:27 PM
Someone (else) should start on a IDE for bot programming.  Something that would color in the appropriate words as you type, and you could "compile" the code (basically check for missing stops/misspells/etc.)
Title: help....again
Post by: MrMound on October 10, 2005, 08:27:27 PM
that would help me out a lot if someone made one of those.
Title: help....again
Post by: MrMound on October 10, 2005, 08:50:20 PM
I want my bots to move to the coridinates (0,0) how can I do this.  I know you can see if your bot is at a x or y pos but can you tell it to go to a specific one or does it have to move randomly about untill it gets to the right coordinates?
Title: help....again
Post by: Botsareus on October 11, 2005, 10:38:24 AM
You need to do an "angle" to get it.

Somthing like

0 .myx sub 0 .myy sub angle .myaim sub .aimdx store

I beat I got the syntax wrong.
Title: help....again
Post by: PurpleYouko on October 11, 2005, 10:49:07 AM
WAY overcomplicated. Heading for a specific position with know X and Y coordinates is really simple.

It's as simple as this..

Xcoordinate Ycoordinate angle .setaim store

The program already knows your present coordinates so all you need is the destination.

PS it's "angle" not "angel"

Angels look like this  :bigginangel:
Title: help....again
Post by: MrMound on October 11, 2005, 02:28:31 PM
so the gene would look like this
Code: [Select]
cond
start
Xcoordinate Ycoordinate angle .setaim store
stop
Title: help....again
Post by: Numsgil on October 11, 2005, 02:29:44 PM
yep, that'd get you pointed in the right direction.

You might want to add a condition to that so it only activates when you want it (otherwise you're always pointed towards (xcoord, y coord)
Title: help....again
Post by: PurpleYouko on October 11, 2005, 02:35:41 PM
Have a look at my ant-bots in the "interesting behaviour" section of the beastiary.
Title: help....again
Post by: MrMound on October 11, 2005, 02:36:42 PM
[CODE]
cond
*.roboage 3 <
start
0 0 angle .setaim store
stop[CODE]
so this would make my robot go to 0 0 when he was born?
(I just want to make sure this is right because its a key gene in my bot)
Title: help....again
Post by: PurpleYouko on October 11, 2005, 02:38:17 PM
It won't make him GO to 0,0.

It will make him FACE the coords 0,0 (top left corner I think)
Title: help....again
Post by: Numsgil on October 11, 2005, 02:46:55 PM
Yes, you'll need to use the distance operator (dist I think) to see when you actually reach 0,0.
Title: help....again
Post by: MrMound on October 11, 2005, 02:48:56 PM
cond
*.roboage 3 <
start
0 0 angle .setaim store
50 .up
stop

so his will make him go to 00
Title: help....again
Post by: Numsgil on October 11, 2005, 02:51:28 PM
Move towards it yes.  But he could be way at (a billion, a billion) and so 50 .up might not be enough.

I'd do something like:

cond
0 0 dist 200 >
start
0 0 angle .setaim store
10 .up store
stop

feel free to change 200 with whatever other sort of radius you want to use.  Remember that most bots have a radius of like 60, so the closest a bot can ever really get to 0,0 would be like (60,60).
Title: help....again
Post by: MrMound on October 11, 2005, 02:58:07 PM
all right thaks guys hopfully this will make my bot work better
Title: help....again
Post by: Numsgil on October 11, 2005, 02:59:51 PM
A more energy efficient method might be:

cond
0 0 dist 200 >
start
0 0 angle .setaim store
10 .velup sub 0 floor .up store
stop
Title: help....again
Post by: Botsareus on October 11, 2005, 03:02:56 PM
Thats only if you run it in 2.4

for others try

Quote
cond
start
0 0 angle .setaim store
0 0 dist N div .up store
stop
end

If you know a good number for "N" now..., it problebly won't work anyway. I have no idea how to make a robot not over shoot its target location.
Title: help....again
Post by: Numsgil on October 11, 2005, 06:11:27 PM
Actually that gene would work in anything post 2.36 I beleive.
Title: help....again
Post by: PurpleYouko on October 12, 2005, 09:13:15 AM
It could be a little expensive though.

Quote
0 0 dist 10 div .up store
This will accelerate toward the coords at a rate of 1/10 of the distance per cycle. This will be pretty much maxed out acceleration in a lot of cases. You might want to put a ceiling on that.