Darwinbots Forum

Code center => Bugs and fixes => Bug reports => Topic started by: Tilthanseco on June 06, 2012, 12:10:32 AM

Title: Regular Ties don't form with vision disabled 2.45.01
Post by: Tilthanseco on June 06, 2012, 12:10:32 AM
For some reason, I can't get regular ties to form when the bot's vision is disabled. In version 2.45.01

Attached is a save featuring different tie forming bots, none of them will form permanent ties.
Title: Re: Regular Ties don't form with vision disabled 2.45.01
Post by: ikke on June 08, 2012, 10:36:30 AM
Are they really linked to vision?
Title: Re: Regular Ties don't form with vision disabled 2.45.01
Post by: Botsareus on June 08, 2012, 12:27:41 PM
That's because the robot must "see" the robot it is trying to tie to. example: If you have six robots around you, you will only tie to one.

i.e. Yes ikke they are.
Title: Re: Regular Ties don't form with vision disabled 2.45.01
Post by: Tilthanseco on June 09, 2012, 01:41:13 AM
I thought it was a bug because a bot does not necessary need to know there is a bot in front of it to tie to it. I found this while testing my blind bot against the bots posted here: http://forum.darwinbots.com/index.php/topic,3549.0.html (http://forum.darwinbots.com/index.php/topic,3549.0.html) (The blind bot challenge).

The 2 blind bots here work by firing ties randomly and sharing energy. They don't make any reference to eyes so they should be able to work with vision disabled.
In fact, most of the ref values can be used with touch now and still work with vision disabled.

This limitation or bug makes it more difficult for blind bots to evolve with vision disabled because they can't be multy bots or use tie feeding.

Therefore I think it is a bug and should not be by design.

P.S. The ties I am referring to are the ties initiated by bots, not the birth tie. The birth tie does indeed form with vision disabled.
Title: Re: Regular Ties don't form with vision disabled 2.45.01
Post by: ikke on June 09, 2012, 02:33:07 AM
That's because the robot must "see" the robot it is trying to tie to. example: If you have six robots around you, you will only tie to one.

i.e. Yes ikke they are.



maybe a fix could be:

While there is a birth tie and vision is disabled, the robot could see it's parent. What do people think?
Okay, this explains why my feeble attempts at creating a multibot didn't work
Title: Re: Regular Ties don't form with vision disabled 2.45.01
Post by: Botsareus on June 09, 2012, 06:29:20 PM
Ok, The Tie is created using lastopp, how about set lastopp to parent on robot birth (will work with or w/o vision disable, the idea is this value will get overwritten when a robot gets a visual hit)?
Or, Forgetaboutit?
Title: Re: Regular Ties don't form with vision disabled 2.45.01
Post by: ikke on June 10, 2012, 03:09:51 AM
This lastopp business actually means that a bot is never truly blind when using ties. It always has the default vision system (although for a blind bot we choose not to use it) which sets lastopp. Right?
Title: Re: Regular Ties don't form with vision disabled 2.45.01
Post by: Botsareus on June 11, 2012, 02:45:55 PM
Quote
This lastopp business actually means that a bot is never truly blind when using ties.

Yea, that's my idea.

Quote
It always has the default vision

The vision system is more complex, but, for tie purposes it only uses "lastopp."
I guess "lastopp" is the last robot that enters the line of vision.



Currently, the way it works is:

If a robot is blind lastopp is always 'nothing'

What I want to implement is when the robot reproduces lastopp is set to parent.
Title: Re: Regular Ties don't form with vision disabled 2.45.01
Post by: Botsareus on June 11, 2012, 03:58:45 PM
Numsgil, it should be one little line of code, should I implement this or not?
Title: Re: Regular Ties don't form with vision disabled 2.45.01
Post by: Numsgil on June 11, 2012, 04:31:49 PM
So disclaimer: I haven't looked at the code and don't know what's going on in there.

That said, it doesn't sound like setting lastopp to the parent will help.  Or rather, it will only help creating ties to the parent.  But you probably want to be able to make ties to any arbitrary bot.

Probably, if there's no lastopp set, you can just do a query in front of the bot to find the closest bot that the current bot is reasonable pointed to, and tie to that.
Title: Re: Regular Ties don't form with vision disabled 2.45.01
Post by: Botsareus on June 11, 2012, 04:40:19 PM
Quote
Or rather, it will only help creating ties to the parent.

Well I guess that's what Tilthanseco wanted to do in the first place. I am only suggesting this because it is very easy to implement and debug. (There is even a possibility it won't even work, I only looked at the logic once) If the robot sees something other then its parent, lastopp will be set to that robot.
Title: Re: Regular Ties don't form with vision disabled 2.45.01
Post by: Numsgil on June 11, 2012, 04:45:04 PM
That's true, but lastopp carries a lot of extra information (and logic) along with it.  Would it get cleared the cycle after a robot is born?  I could see an argument to be made for a bot to have a pretty full compliment of sensory information about its parent the cycle after it's born.  But I'd be careful about side-effects.  This is exactly the sort of innocuous change that can turn out to have dramatic and far reaching consequences.  (Things like everyone else's birth tie removal genes no longer working, etc.)
Title: Re: Regular Ties don't form with vision disabled 2.45.01
Post by: Botsareus on June 11, 2012, 04:54:50 PM
You are saying lastopp will continuously transmit data on the robot even if the robot is on the other side of the map?

Ok, how about: " If lastopp is nothing , use ParentID to tie? "
Title: Re: Regular Ties don't form with vision disabled 2.45.01
Post by: Numsgil on June 11, 2012, 07:11:26 PM
You are saying lastopp will continuously transmit data on the robot even if the robot is on the other side of the map?

Maybe.  I haven't looked at the code, but I know it assumes lastopp is tied to vision.  So I'd be careful violating that assumption is all.

Quote
Ok, how about: " If lastopp is nothing , use ParentID to tie? "

Well you'd only want to do that during the first cycle of the bot's life, though.  But yeah, that's probably the least obtrusive way to fix this exact issue.
Title: Re: Regular Ties don't form with vision disabled 2.45.01
Post by: Botsareus on June 12, 2012, 01:13:15 PM
sorry, still no tie feeding :(
you can make a multibot though :)

Here Tilthanseco, try this:

Just unzip and run, If you already have darwinbots installed just replace the .exe file ;)
Title: Re: Regular Ties don't form with vision disabled 2.45.01
Post by: Botsareus on July 13, 2012, 10:58:17 AM
Quote
In fact, most of the ref values can be used with touch now and still work with vision disabled.

Interesting, how does that work? (no wonder my 'bug fix' was never officially approved, I love how I get Caught-up in things and miss the important posts)