Darwinbots Forum

Bots and Simulations => DNA - General => Topic started by: Welwordion on November 05, 2008, 07:32:50 AM

Title: The mystery: Or making me desmotivated
Post by: Welwordion on November 05, 2008, 07:32:50 AM
I really do not know if I am stupid if there are a tons of bugs  or there is just so much hidden syntax etc but the unpredictability when programming a bot really frustrates me, not just that some condition just do not seem to activate properly even when you keep reformulating them though the should have worked already caused you checked and checked them again, nah but when you then test start your bot for some reason 50 percent show one behavior and the other another even though the code is the same.
I exspecially had problem with timer based conditions for some reasons or with fixing and unfixing; I also observed that when two bots are as close as possible and the stifftie is set to maximum some of them move , which is not that bad cause I thought I could use that mishap in design to make a movement mechanism but again everything keeps unpredictable,
And do not start with line slike that the physics of Darwinbots are hard to understand its not just the physics its the code it just does not seem to work cleanly most of the time. Ok maybe I am just to stupid  or to prone to make mistakes,but I just had to get a little steam of my mind.
Title: The mystery: Or making me desmotivated
Post by: Peter on November 05, 2008, 10:53:35 AM
If I am right, you're talking about your unorganised blob of bots that you wanted to move in one direction. Well doing that fast and smooth would seen hard to me. Even doing it with some control seems hard to me.

About the DB-phycics, there is a reason there aren't so many MB's. Phycics have some fixes when Eric made Seasnake, even Helios is right now back doing a pretty fighting job. But still are ties sometimes unpredictable.
Title: The mystery: Or making me desmotivated
Post by: Welwordion on November 05, 2008, 04:24:26 PM
Nope the blob would only be an example and although tie physics are frustrating, conditions that do not seem to start and the fact that bots with the same code do not do the same stuff although they should is more frustrating.
Title: The mystery: Or making me desmotivated
Post by: Endy on November 05, 2008, 07:18:37 PM
It does get annoying    I've been having trouble just trying to get just two bots to reliably use the stretch/fix technique, couldn't imagine attempting it with a mass of bots. Could you post what you've done so far, it'd help figuring out what's going on.
Title: The mystery: Or making me desmotivated
Post by: bacillus on November 05, 2008, 11:14:58 PM
I found that inline conditions can be pretty screwed-up, but I'm pretty sure I'm not using them properly.
Title: The mystery: Or making me desmotivated
Post by: Welwordion on November 06, 2008, 06:33:51 AM
Well for the mass technique
http://www.darwinbots.com/Forum/index.php?...ic=2998&hl= (http://www.darwinbots.com/Forum/index.php?showtopic=2998&hl=)

and for previous experiments(which did not yet react in any way to the outer world)
http://www.darwinbots.com/Forum/index.php?...ost&id=1051 (http://www.darwinbots.com/Forum/index.php?act=attach&type=post&id=1051)
http://www.darwinbots.com/Forum/index.php?...ost&id=1052 (http://www.darwinbots.com/Forum/index.php?act=attach&type=post&id=1052)
Title: The mystery: Or making me desmotivated
Post by: Peter on November 06, 2008, 09:02:36 AM
Quote from: Endy
It does get annoying    I've been having trouble just trying to get just two bots to reliably use the stretch/fix technique, couldn't imagine attempting it with a mass of bots. Could you post what you've done so far, it'd help figuring out what's going on.
You could look at my bot caterpillar for proper tie-movement with just two bots. You coud also look at the example welwordian just posted. Second link(altrough that seems to be out of sync a little, lot of vibration)

You can ignore *.move, the *.head is for the bot that has the lead. (you can also replace it with something like (*.trefage *.robage <)) to define the oldest bot every time as head.

*.time is specified on birth, it is the time of a whole tie strech/fix cycle. Best somewhere between 10 and 20.
*.maxlengh is a way to control speed.
*.stiftie should be just high, I'd gues between 50 and 100.

Here is the specific tie section.

Code: [Select]
'------tie-moving stuff
'second step body
cond
*.move 1 !=
*.head 0 =
*.trefage *.time mod *.time 2 div >
start
*.maxlengh .fixlen store
1 .fixpos store
stop

'second step head
cond
*.move 1 !=
*.head 0 !=
*.robage *.time mod *.time 2 div >
start
0 .fixpos store
stop

'first step body
cond
*.move 1 !=
*.head 0 =
*.trefage *.time mod *.time 2 div <
start
1 .fixlen store
0 .fixpos store
stop

'second step head
cond
*.move 1 !=
*.head 0 !=
*.robage *.time mod *.time 2 div <
start
1 .fixpos store
stop

Welwordion, I too don't know.
It keeps kind of hard to create something like that, there are a lot of little stuff that can go wrong.