Author Topic: 2.43 Changes  (Read 24927 times)

Offline Sprotiel

  • Bot Destroyer
  • ***
  • Posts: 135
    • View Profile
2.43 Changes
« Reply #15 on: November 22, 2006, 09:15:56 PM »
I don't know the reason, but Duo, which worked in 2.42.9d, is now broken.

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
2.43 Changes
« Reply #16 on: November 23, 2006, 01:54:29 AM »
Quote from: Sprotiel
I don't know the reason, but Duo, which worked in 2.42.9d, is now broken.
I know what is going on.  Bare with me for a moment.

How are fixed ties connected to bots?  It's not a trivial question.  Are they rigidly connected?  Are they on a spring loaded bearings that try to get back to their fixed angle but can be torqued out of place like the arm of a clay pidgeon throwing arm or one of those spring loaded door hinges?  How far out of place?  Can I wind up the spring of a fixed bot indefenitly or only so far?  It there's a limit, what happens when I reach it?  

Imagine two bots tied together and the tie has hardened.  Now the one that created the tie executes a 180 degree about face.  What should the result be?  Perhaps the bot on the other end of the tie is small and it should get whipped around with the tie but now imagine the bot executing the turn is tied to a huge mass of other bots that far out mass it.  Should the "bearing" slip?  Or perhaps the hardened tie connection should break?  Or perhaps the bot should not be allowed to turn as far as it wants....   Now think about a bot that does a .fixang that positions a tie 180 degrees from where it is currently (which is what Duo does).  Should the bot spin or the tie move or both?.  What if the tie leads to a huge mass of other bots and similarly the bot has other fixed ties to large masses of bots?  Same kind of problem.  I can't whip two huge masses around just because some bot in the middle says to but I can't ignore the .fixang request either.  Torque is being applied, what should break or slip?

Bascially, our exact degree turning and exact angle tie fixing paradyms are totally broken.   Both are incompatable with realistic physics and the torque forces applied by hardened ties.  I can't both instantly turn a tied bot 180 degrees (or rotate a tie 180 degrees) and obey the laws of physics.  Something has to give.  In my opinion, we should change the turning and tie angle fixing paradyms so that it is the bot's resulting orientation that gives.  That is, a turn should be interpreted as the bot applying some torque to itself (same with a .fixang request) and that turning force should be added to all the other torque forces on the bot including that of hardened ties and the amount the bot actually turns should vary as the result.  Turns should apply force, which may or may not result in the turn the bot wants (to say nothing about how the bot should loose angular momentum once it's gained it).  

Needless to say, this is a big change, but we will have to do it I think.

But now back to Duo.  Ties connections are bascially spring loaded bearings today.  You can torque them up indefenitaly in 2.42.9d, but this spring loading manifests itself as all sorts of nasty harmonic vibrations and unwarrented spinning when large masses of bots are tied together.  They can even start spinning and vibrating when the bots arn't turnign or doing anything themselves because of brownian motion or even just the quantum nature of bot cycles trying to balance out all the tie forces.  Unlike nature, we can't integrate all forces all the time.  Inbalances build up, particularly when there is little or no friction or fluid resistance.

In 2.42.9e, in an attempt to address some of this mess, I added some code that breaks the tie bearing connection if the torque being applied on the spring loaded bearing by the sum of all the torque forces exceeds pi/2.  This is why Duo is breakign in 2.42.9e.  If it turned itself before the tie hardened and then did the .fixang, it would work fine.  

You may say that a quarter turn of the spring loaded bearing isn't enough and that we should let the bearing wind up a lot farther before it breaks.  I think I agree and will likely change this, but if we had a different turning and angle fixing paradym, it wouldn't be necessary or at least as necessary.  The torque would not get nearly as high as turns or .fixang stores would not be interpreted as absolutes.
« Last Edit: November 23, 2006, 01:58:09 AM by EricL »
Many beers....

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
2.43 Changes
« Reply #17 on: November 23, 2006, 02:59:10 AM »
This brings up the issue of using a physics library.

In the mean time, I think bots should be able to swivel around their tie connection freely.  It's not really backwards compatible, but it should allow more versatile multibots.

Bots that want to change the relative angle of two ties would use some sort of muscle like motion.  Like how we can spread our legs or pull them together using our muscles.

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
2.43 Changes
« Reply #18 on: November 28, 2006, 12:19:55 AM »
Bump.  2.42.9f released.

Leagues are working.  I have not tested it completly.  Users are encouraged to play with leagues and report bugs.
Many beers....

Offline Jez

  • Bot Overlord
  • ****
  • Posts: 788
    • View Profile
2.43 Changes
« Reply #19 on: November 29, 2006, 03:18:50 PM »
Sweet! I'll re-run the leagues over the next few days and see.
If you try and take a cat apart to see how it works, the first thing you have in your hands is a non-working cat.
Douglas Adams

Offline Jez

  • Bot Overlord
  • ****
  • Posts: 788
    • View Profile
2.43 Changes
« Reply #20 on: November 29, 2006, 04:33:49 PM »
Oh fudge! Darwin Bots Simulator has encountered a problem and needs to close. We are sorry for the inconvenience...  

I was just letting Irish guy's bot walk all over the F1 and F2 leagues just to make sure it worked alright, damn nice MB (spiderweb variety). Don't think we will need a seperate MB league if it makes it all the way!

Prog lost it V DIN2, may have been because I still had Robot data open from James 4 (previous bot)

Anyway, tomorrow I'll work out how to rerun all of the bots to make a new league and post anymore probs.
« Last Edit: November 29, 2006, 04:36:54 PM by Jez »
If you try and take a cat apart to see how it works, the first thing you have in your hands is a non-working cat.
Douglas Adams

Offline Testlund

  • Bot God
  • *****
  • Posts: 1574
    • View Profile
2.43 Changes
« Reply #21 on: November 30, 2006, 05:30:54 AM »
Quote from: EricL
34)  HUGE.  NEW SYSVAR.   Shapes can now be made visable to bots via a checkbox on the Shapes dialog.

I can't see any such checkbox. I only see the 2 that says "Bots can see through shapes" and "Shapes absorb shots".  
The internet is corrupt and controlled by criminally minded people.

Offline Henk

  • Bot Destroyer
  • ***
  • Posts: 110
    • View Profile
2.43 Changes
« Reply #22 on: November 30, 2006, 09:18:04 AM »
Quote from: Testlund
I can't see any such checkbox. I only see the 2 that says "Bots can see through shapes" and "Shapes absorb shots".  

That'll be in the next buddydrop
cond
*.DBbugs 0 =
start
.rejoice inc
stop

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
2.43 Changes
« Reply #23 on: November 30, 2006, 07:05:27 PM »
Bump.  2.42.9g released.
Many beers....

Offline Jez

  • Bot Overlord
  • ****
  • Posts: 788
    • View Profile
2.43 Changes
« Reply #24 on: December 02, 2006, 05:32:00 AM »
It was going so well, I had nearly completed the first run of a new league using about 10 bots when the last entry had a race with the bottom bot in the league to see who could die quickest...

It stopped at round 108, population 0 on each side, can't use instawin to trigger the next round.

Also some of the info at the bottom of the screen doesn't seem to be refreshing for each round, cycles is showing ~450,000

It is also adding the last league competitor to the loaded species part of new sim, if it is not deleted when another bot is entered it gets entered again.

This was using DB 2.42.9g

Perhaps it's going to be better if I just enter one bot at a time.  
« Last Edit: December 02, 2006, 06:20:23 AM by Jez »
If you try and take a cat apart to see how it works, the first thing you have in your hands is a non-working cat.
Douglas Adams

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
2.43 Changes
« Reply #25 on: December 02, 2006, 12:20:03 PM »
Can you give me more specifics as to exactly the steps you are taking and exactly what happens as a result?

You enterred challengers in the species dialog?  How many?  WHich one caused the issue?  The last one?

Are you using a chengers file?

You started with a league file?  How many there?

Thanks
Many beers....

Offline Jez

  • Bot Overlord
  • ****
  • Posts: 788
    • View Profile
2.43 Changes
« Reply #26 on: December 03, 2006, 07:42:12 AM »
I started with one bot placed as n1 in the league, I added a list of other bots, about ten, to the loaded species list. They all ran fine except that the last bot on the challengers(loaded species) list and the bottom bot on the league list were both non competitive bots. They both took it in turns to die out which is why the rounds reached 108. I don't think it was the bots causing an issue really, I imagine that they both died out at exactly the same time and that's what caused the problem.

My league file has over 90 bots in, all the bots from the existing leagues. I have copied the league file into DarwinbotsII\robots which is where I select all the challengers from. I've done it this way because it's quicker than selecting them from the league file each time.
If you try and take a cat apart to see how it works, the first thing you have in your hands is a non-working cat.
Douglas Adams

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
2.43 Changes
« Reply #27 on: December 04, 2006, 12:39:36 AM »
Bump.  2.42.9h released.

2.42.9h Buddy Drop Download

This drop should be considerred a 2.43 release candidate.  I have implemented all the features I planned to for this version (and then some).  Please pound hard on it and report any bugs you find or last minute feature requests ASAP.  I will likely hold off on releasing an official 2.43 until perhaps the end of the week to provide time for testing.  I'm sure there are a few issues with leagues in particular yet to address and I would like to get those nailed for 2.43.

It is likely I will slack off for a few weeks once 2.43 is released, enjoy the holidays and work on my book a little (which has sufferred greatly due to my DB obsession) so I would like to see 2.43 be a particularly solid and stable release.  Thanks for your help.
« Last Edit: December 04, 2006, 12:40:39 AM by EricL »
Many beers....

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
2.43 Changes
« Reply #28 on: December 04, 2006, 06:14:15 AM »
Once 2.43 is released I'll start to move some of my c++ changes into the VB source code.  Especially things that are relatively easy like some of the physics code.  Then I'll start working on DNA and setting up a new DNA system with codules as part of an initiative to port the program to the .Net framework (which will make interfacing with the internet much easier).

Offline Jez

  • Bot Overlord
  • ****
  • Posts: 788
    • View Profile
2.43 Changes
« Reply #29 on: December 04, 2006, 02:05:04 PM »
Apart from the last competitor in league appearing in loaded species list, (if you enter one bot in league then when league matches are finished two bots show in loaded species list) and if you have fixed the problem of the league freezing (supposedly if the competitors die out in the same cycle) then I think the only other thing I would like you to change is the F1 league defaults applying to all possible options. Something I am hoping Light will provide a list for soon.

You deserve a break! You've been incredibly quick off the mark fixing problems that people have found. Hope you enjoy your well earned hols!!
If you try and take a cat apart to see how it works, the first thing you have in your hands is a non-working cat.
Douglas Adams