Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - EricL

Pages: 1 [2] 3 4 ... 12
16
Bugs and fixes / .tin/.tout pairs not erased with tie goes away
« on: April 20, 2008, 11:53:09 AM »
The .tin/.tout pairs were not getting reset correctly with the other trefvars when a tie went away.

Also fixed an issue where all the trefvars would not get reset in the case where *.numties was non-zero but the tie port being attempted to read from was incorrect.  Now bots can reliably check to see if a tie still exists by trying to read from the tie number.  trefvars such as .trefxpos will be 0 for that tie port even when other ties still exist.

17
Suggestions / Proposed changes to .fixang
« on: April 18, 2008, 11:42:48 AM »
Right now (2.43.1i) there is no way for a bot to indicate that the angle for a hardened tie it created should rotate freely.  Additionally, the current code behind .fixang does not distribute the range of values evenly across the sysvar mutation space, resulting in the vast majority of mutations fixing the tie angle at 628.  Currently, the code pegs angle requests below -628 or above 628 at -628 or 628 respectivly, which are equilvalent.  As such, fewer than 2% of fixang values result in angles other than 628.

I propsoe the following change to the way .fixang works:

Any negative value allows the tie to rotate freely.
Any postiive (or zero) value fixes the angle at the position given by the value mod 1256.

Thus, half of all values allow for free rotation, half fix the tie angle and the values that do fix the tie angle are evenly distributed with equal probability for each angle.

Similar changes would be made for the .tieangX sysvars (temporarily until a better multi-tie-per-cycle control paradym obviates these).

The behaviour for mutlibots which have a tie harden without them explicitly specifying a tie angle could either be left unchanged (the tie angle becomes fix at the current angle on the cycle it hardens) or coudl be modified so that there is a 50/50 probability of it fixing at the current angle or remainign unfixed.  I prefer the latter.

Comments?

18
Bot Tavern / 10 Free Bot Ideas
« on: April 17, 2008, 11:35:28 PM »
Here's 10 bot strategies I would love to impliment but realisticly will never get the time to do so, so I'm giving away the ideas.  Some of these could turn an otherwise only okay bot into a game changer.

1) A shape scraper.  Non shape-aware bots end up getting stuck up against shapes.  A shape-aware bot could navigate along shape edges, round and round, picking off unsuspecting bots.

2) A bot that waits and hides around shape corners and ambushes other bots.   Vision is very precise for shapes, particularly up close.  It should not be difficult for a bot to figure out where exactly a shape corner is and where to linger so that it's focus eye is looking just pass the corner.  Should give it a cycle or two jump on an unsuspecting bot that comes around the corner.    

3) A bot that hides in shapes, pokes it's head out and uses the shape as a sheild.  Shape edges are soft.  A bot that constantly thrusts backward into a shape will be partially or completly embedded in the shape, depending on how hard it thrusts.  Controlling the thrust would allow a bot to poek it's head up occasionally, shoot with only a minimal amout of it's body exposed, etc.  

4) A torridal field edge jumper.  A bot that hangs out near field edges or corners, jumpts back and forth and uses the jumps to escape preditors or surprise prey.

5) The eye stalk bot.  Create a tiny offspring and tie to it.  Wait until the tie hardens and then use it to increase your eye sight range.   Your eye stalk can pass you back it's eye values via the .tin/tout pairs.  You can fix yourself to avoid recoil and suddenly extend your eyesight stalk by changing the tie length, pushing your eye stalk into their proximity suddenly, surprising hard to catch prey.  You could even flush them towards you by pushing the lure to the other side of them.  Multiple eye stalks could be used as pickets, extended in multiple directions.

6) The lure bot.  Use an eye stalk as above as a lure in combination with 2 or 3 above.  With #2, it will let you peek aroudn the corner.   The prey or preditor won't be able to see you if you keep it between you and them (but you can see him via the passed back eye values from your lure).   If you make the lure have really small body and wave it around a little, it will be super hard to hit with shots.

7) The sword master.  Use a lure as a sword.  Wave it around your enemy, keeping it closer to him than you are.  Push it past him to the other side, make him turn his back on you.   Lots of bots are programmed to go after the nearest bot.  You can keep him distracted by keeping the lure right against or even inside him while you shoot from a distance, using telemetry fed back from your lure.  If your sword hits him, if will trigger his refvars even if he isn't looking at it with his focus eye.  Or, you coudl shoot from your sword.  Thurst it into him suddenly, shoot at point blank range, then withdraw, again and again.  Good luck tracking that...

8) Walking through walls.  It should be possible to push a lure through a thin shape such as a maze wall, then fix the lure and pull your self through be changing the tie length.

9) Use cascading lures for really long distance reconisense.

10) Use a disconnected lure as a reconisense drone in combination with #4 to scout out what's on the other side of the field edge.  The lure jumps there, then jumps back and releys what it saw.  


19
Internet Mode Commentary / A_Supremus swarms a Shinking Violet
« on: April 05, 2008, 01:08:24 PM »
[attachment=843:A_Suprem...g_Violet.JPG]

Several A_Supremus attack a much larger and highly mutated Shinking Violet in Internet Mode.  Nearby a non-mutated, virus infected Shinking Violet 2 accelerates hard to avoid attack.

20
DNA - General / sysvars - The Official List
« on: April 04, 2008, 01:47:24 PM »
sysvar(1).Name = "up"
  sysvar(1).value = 1
  sysvar(2).Name = "dn"
  sysvar(2).value = 2
  sysvar(3).Name = "sx"
  sysvar(3).value = 3
  sysvar(4).Name = "dx"
  sysvar(4).value = 4
  sysvar(5).Name = "aimdx"
  sysvar(5).value = 5
  sysvar(6).Name = "aimright"
  sysvar(6).value = 5
  sysvar(7).Name = "aimsx"
  sysvar(7).value = 6
  sysvar(8).Name = "aimleft"
  sysvar(8).value = 6
  sysvar(9).Name = "shoot"
  sysvar(9).value = 7
  sysvar(10).Name = "shootval"
  sysvar(10).value = 8
  sysvar(11).Name = "robage"
  sysvar(11).value = 9
  sysvar(12).Name = "mass"
  sysvar(12).value = 10
  sysvar(13).Name = "maxvel"
  sysvar(13).value = 11
  sysvar(14).Name = "timer"
  sysvar(14).value = 12
  sysvar(15).Name = "aim"
  sysvar(15).value = 18
  sysvar(16).Name = "setaim"
  sysvar(16).value = 19
  sysvar(17).Name = "bodgain"
  sysvar(17).value = 194
  sysvar(18).Name = "bodloss"
  sysvar(18).value = 195
  sysvar(19).Name = "velscalar"
  sysvar(19).value = 196
  sysvar(20).Name = "velsx"
  sysvar(20).value = 197
  sysvar(21).Name = "veldx"
  sysvar(21).value = 198
  sysvar(22).Name = "veldn"
  sysvar(22).value = 199
  sysvar(23).Name = "velup"
  sysvar(23).value = 200
  sysvar(24).Name = "vel"
  sysvar(24).value = 200
  sysvar(25).Name = "hit"
  sysvar(25).value = 201
  sysvar(26).Name = "shflav"
  sysvar(26).value = 202
  sysvar(27).Name = "pain"
  sysvar(27).value = 203
  sysvar(28).Name = "pleas"
  sysvar(28).value = 204
  sysvar(29).Name = "hitup"
  sysvar(29).value = 205
  sysvar(30).Name = "hitdn"
  sysvar(30).value = 206
  sysvar(31).Name = "hitdx"
  sysvar(31).value = 207
  sysvar(32).Name = "hitsx"
  sysvar(32).value = 208
  sysvar(33).Name = "shang"
  sysvar(33).value = 209
  sysvar(34).Name = "shup"
  sysvar(34).value = 210
  sysvar(35).Name = "shdn"
  sysvar(35).value = 211
  sysvar(36).Name = "shdx"
  sysvar(36).value = 212
  sysvar(37).Name = "shsx"
  sysvar(37).value = 213
  sysvar(38).Name = "edge"
  sysvar(38).value = 214
  sysvar(39).Name = "fixed"
  sysvar(39).value = 215
  sysvar(40).Name = "fixpos"
  sysvar(40).value = 216
  sysvar(41).Name = "depth"
  sysvar(41).value = 217
  sysvar(42).Name = "ypos"
  sysvar(42).value = 217
  sysvar(43).Name = "daytime"
  sysvar(43).value = 218
  sysvar(44).Name = "xpos"
  sysvar(44).value = 219
  sysvar(45).Name = "kills"
  sysvar(45).value = 220
  sysvar(46).Name = "hitang"
  sysvar(46).value = 221
  sysvar(47).Name = "repro"
  sysvar(47).value = 300
  sysvar(48).Name = "mrepro"
  sysvar(48).value = 301
  sysvar(49).Name = "sexrepro"
  sysvar(49).value = 302
  sysvar(50).Name = "nrg"
  sysvar(50).value = 310
  sysvar(51).Name = "body"
  sysvar(51).value = 311
  sysvar(52).Name = "fdbody"
  sysvar(52).value = 312
  sysvar(53).Name = "strbody"
  sysvar(53).value = 313
  sysvar(54).Name = "setboy"
  sysvar(54).value = 314
  sysvar(55).Name = "rdboy"
  sysvar(55).value = 315
  sysvar(56).Name = "tie"
  sysvar(56).value = 330
  sysvar(57).Name = "stifftie"
  sysvar(57).value = 331
  sysvar(58).Name = "mkvirus"
  sysvar(58).value = 335
  sysvar(59).Name = "dnalen"
  sysvar(59).value = 336
  sysvar(60).Name = "vtimer"
  sysvar(60).value = 337
  sysvar(61).Name = "vshoot"
  sysvar(61).value = 338
  sysvar(62).Name = "genes"
  sysvar(62).value = 339
  sysvar(63).Name = "delgene"
  sysvar(63).value = 340
  sysvar(64).Name = "thisgene"
  sysvar(64).value = 341
  sysvar(65).Name = "sun"
  sysvar(65).value = 400
  sysvar(66).Name = "trefbody"
  sysvar(66).value = 437
  sysvar(67).Name = "trefxpos"
  sysvar(67).value = 438
  sysvar(68).Name = "trefypos"
  sysvar(68).value = 439
  sysvar(69).Name = "trefvelmysx"
  sysvar(69).value = 440
  sysvar(70).Name = "trefvelmydx"
  sysvar(70).value = 441
  sysvar(71).Name = "trefvelmydn"
  sysvar(71).value = 442
  sysvar(72).Name = "trefvelmyup"
  sysvar(72).value = 443
  sysvar(73).Name = "trefvelscalar"
  sysvar(73).value = 444
  sysvar(74).Name = "trefvelyoursx"
  sysvar(74).value = 445
  sysvar(75).Name = "trefvelyourdx"
  sysvar(75).value = 446
  sysvar(76).Name = "trefvelyourdn"
  sysvar(76).value = 447
  sysvar(77).Name = "trefvelyourup"
  sysvar(77).value = 448
  sysvar(78).Name = "trefshell"
  sysvar(78).value = 449
  sysvar(79).Name = "tieang"
  sysvar(79).value = 450
  sysvar(80).Name = "tielen"
  sysvar(80).value = 451
  sysvar(81).Name = "tieloc"
  sysvar(81).value = 452
  sysvar(82).Name = "tieval"
  sysvar(82).value = 453
  sysvar(83).Name = "tiepres"
  sysvar(83).value = 454
  sysvar(84).Name = "tienum"
  sysvar(84).value = 455
  sysvar(85).Name = "trefup"
  sysvar(85).value = 456
  sysvar(86).Name = "trefdn"
  sysvar(86).value = 457
  sysvar(87).Name = "trefsx"
  sysvar(87).value = 458
  sysvar(88).Name = "trefdx"
  sysvar(88).value = 459
  sysvar(89).Name = "trefaimdx"
  sysvar(89).value = 460
  sysvar(90).Name = "trefaimsx"
  sysvar(90).value = 461
  sysvar(91).Name = "trefshoot"
  sysvar(91).value = 462
  sysvar(92).Name = "trefeye"
  sysvar(92).value = 463
  sysvar(93).Name = "trefnrg"
  sysvar(93).value = 464
  sysvar(94).Name = "trefage"
  sysvar(94).value = 465
  sysvar(95).Name = "numties"
  sysvar(95).value = 466
  sysvar(96).Name = "deltie"
  sysvar(96).value = 467
  sysvar(97).Name = "fixang"
  sysvar(97).value = 468
  sysvar(98).Name = "fixlen"
  sysvar(98).value = 469
  sysvar(99).Name = "multi"
  sysvar(99).value = 470
  sysvar(100).Name = "readtie"
  sysvar(100).value = 471
  sysvar(101).Name = "fertilized"
  sysvar(101).value = 303
  sysvar(102).Name = "memval"
  sysvar(102).value = 473
  sysvar(103).Name = "memloc"
  sysvar(103).value = 474
  sysvar(104).Name = "tmemval"
  sysvar(104).value = 475
  sysvar(105).Name = "tmemloc"
  sysvar(105).value = 476
  sysvar(106).Name = "reffixed"
  sysvar(106).value = 477
  sysvar(107).Name = "treffixed"
  sysvar(107).value = 478
  sysvar(108).Name = "trefaim"
  sysvar(108).value = 479
  sysvar(109).Name = "tieang1"
  sysvar(109).value = 480
  sysvar(110).Name = "tieang2"
  sysvar(110).value = 481
  sysvar(111).Name = "tieang3"
  sysvar(111).value = 482
  sysvar(112).Name = "tieang4"
  sysvar(112).value = 483
  sysvar(113).Name = "tielen1"
  sysvar(113).value = 484
  sysvar(114).Name = "tielen2"
  sysvar(114).value = 485
  sysvar(115).Name = "tielen3"
  sysvar(115).value = 486
  sysvar(116).Name = "tielen4"
  sysvar(116).value = 487
  sysvar(117).Name = "eye1"
  sysvar(117).value = 501
  sysvar(118).Name = "eye2"
  sysvar(118).value = 502
  sysvar(119).Name = "eye3"
  sysvar(119).value = 503
  sysvar(120).Name = "eye4"
  sysvar(120).value = 504
  sysvar(121).Name = "eye5"
  sysvar(121).value = 505
  sysvar(122).Name = "eye6"
  sysvar(122).value = 506
  sysvar(123).Name = "eye7"
  sysvar(123).value = 507
  sysvar(124).Name = "eye8"
  sysvar(124).value = 508
  sysvar(125).Name = "eye9"
  sysvar(125).value = 509
  sysvar(126).Name = "refmulti"
  sysvar(126).value = 686
  sysvar(127).Name = "refshell"
  sysvar(127).value = 687
  sysvar(128).Name = "refbody"
  sysvar(128).value = 688
  sysvar(129).Name = "refxpos"
  sysvar(129).value = 689
  sysvar(130).Name = "refypos"
  sysvar(130).value = 690
  sysvar(131).Name = "refvelscalar"
  sysvar(131).value = 695
  sysvar(132).Name = "refvelsx"
  sysvar(132).value = 696
  sysvar(133).Name = "refveldx"
  sysvar(133).value = 697
  sysvar(134).Name = "refveldn"
  sysvar(134).value = 698
  sysvar(135).Name = "refvel"
  sysvar(135).value = 699
  sysvar(136).Name = "refvelup"
  sysvar(136).value = 699
  sysvar(137).Name = "refup"
  sysvar(137).value = 701
  sysvar(138).Name = "refdn"
  sysvar(138).value = 702
  sysvar(139).Name = "refsx"
  sysvar(139).value = 703
  sysvar(140).Name = "refdx"
  sysvar(140).value = 704
  sysvar(141).Name = "refaimdx"
  sysvar(141).value = 705
  sysvar(142).Name = "refaimsx"
  sysvar(142).value = 706
  sysvar(143).Name = "refshoot"
  sysvar(143).value = 707
  sysvar(144).Name = "refeye"
  sysvar(144).value = 708
  sysvar(145).Name = "refnrg"
  sysvar(145).value = 709
  sysvar(146).Name = "refage"
  sysvar(146).value = 710
  sysvar(147).Name = "refaim"
  sysvar(147).value = 711
  sysvar(148).Name = "reftie"
  sysvar(148).value = 712
  sysvar(149).Name = "refpoison"
  sysvar(149).value = 713
  sysvar(150).Name = "refvenom"
  sysvar(150).value = 714
  sysvar(151).Name = "refkills"
  sysvar(151).value = 715
  sysvar(152).Name = "myup"
  sysvar(152).value = 721
  sysvar(153).Name = "mydn"
  sysvar(153).value = 722
  sysvar(154).Name = "mysx"
  sysvar(154).value = 723
  sysvar(155).Name = "mydx"
  sysvar(155).value = 724
  sysvar(156).Name = "myaimdx"
  sysvar(156).value = 725
  sysvar(157).Name = "myaimsx"
  sysvar(157).value = 726
  sysvar(158).Name = "myshoot"
  sysvar(158).value = 727
  sysvar(159).Name = "myeye"
  sysvar(159).value = 728
  sysvar(160).Name = "myties"
  sysvar(160).value = 729
  sysvar(161).Name = "mypoison"
  sysvar(161).value = 730
  sysvar(162).Name = "myvenom"
  sysvar(162).value = 731
  sysvar(163).Name = "out1"
  sysvar(163).value = 800
  sysvar(164).Name = "out2"
  sysvar(164).value = 801
  sysvar(165).Name = "out3"
  sysvar(165).value = 802
  sysvar(166).Name = "out4"
  sysvar(166).value = 803
  sysvar(167).Name = "out5"
  sysvar(167).value = 804
  sysvar(168).Name = "in1"
  sysvar(168).value = 810
  sysvar(169).Name = "in2"
  sysvar(169).value = 811
  sysvar(170).Name = "in3"
  sysvar(170).value = 812
  sysvar(171).Name = "in4"
  sysvar(171).value = 813
  sysvar(172).Name = "in5"
  sysvar(172).value = 814
  sysvar(173).Name = "mkslime"
  sysvar(173).value = 820
  sysvar(174).Name = "slime"
  sysvar(174).value = 821
  sysvar(175).Name = "mkshell"
  sysvar(175).value = 822
  sysvar(176).Name = "shell"
  sysvar(176).value = 823
  sysvar(177).Name = "strvenom"
  sysvar(177).value = 824
  sysvar(178).Name = "venom"
  sysvar(178).value = 825
  sysvar(179).Name = "strpoison"
  sysvar(179).value = 826
  sysvar(180).Name = "mkpoison"
  sysvar(180).value = 826
  sysvar(181).Name = "poison"
  sysvar(181).value = 827
  sysvar(182).Name = "waste"
  sysvar(182).value = 828
  sysvar(183).Name = "pwaste"
  sysvar(183).value = 829
  sysvar(184).Name = "sharenrg"
  sysvar(184).value = 830
  sysvar(185).Name = "sharewaste"
  sysvar(185).value = 831
  sysvar(186).Name = "shareshell"
  sysvar(186).value = 832
  sysvar(187).Name = "shareslime"
  sysvar(187).value = 833
  sysvar(188).Name = "ploc"
  sysvar(188).value = 834
  sysvar(189).Name = "vloc"
  sysvar(189).value = 835
  sysvar(190).Name = "venval"
  sysvar(190).value = 836
  sysvar(191).Name = "paralyzed"
  sysvar(191).value = 837
  sysvar(192).Name = "poisoned"
  sysvar(192).value = 838
  sysvar(193).Name = "backshot"
  sysvar(193).value = 900
  sysvar(194).Name = "aimshoot"
  sysvar(194).value = 901
  sysvar(195).Name = "eyef"
  sysvar(195).value = 510
  sysvar(196).Name = "focuseye"
  sysvar(196).value = 511
  sysvar(197).Name = "eye1dir"
  sysvar(197).value = 521
  sysvar(198).Name = "eye2dir"
  sysvar(198).value = 522
  sysvar(199).Name = "eye3dir"
  sysvar(199).value = 523
  sysvar(200).Name = "eye4dir"
  sysvar(200).value = 524
  sysvar(201).Name = "eye5dir"
  sysvar(201).value = 525
  sysvar(202).Name = "eye6dir"
  sysvar(202).value = 526
  sysvar(203).Name = "eye7dir"
  sysvar(203).value = 527
  sysvar(204).Name = "eye8dir"
  sysvar(204).value = 528
  sysvar(205).Name = "eye9dir"
  sysvar(205).value = 529
  sysvar(206).Name = "eye1width"
  sysvar(206).value = 531
  sysvar(207).Name = "eye2width"
  sysvar(207).value = 532
  sysvar(208).Name = "eye3width"
  sysvar(208).value = 533
  sysvar(209).Name = "eye4width"
  sysvar(209).value = 534
  sysvar(210).Name = "eye5width"
  sysvar(210).value = 535
  sysvar(211).Name = "eye6width"
  sysvar(211).value = 536
  sysvar(212).Name = "eye7width"
  sysvar(212).value = 537
  sysvar(213).Name = "eye8width"
  sysvar(213).value = 538
  sysvar(214).Name = "eye9width"
  sysvar(214).value = 539
  sysvar(215).Name = "reftype"
  sysvar(215).value = 685
  sysvar(216).Name = "totalbots"
  sysvar(216).value = 401
  sysvar(217).Name = "totalmyspecies"
  sysvar(217).value = 402
  sysvar(218).Name = "out6"
  sysvar(218).value = 805
  sysvar(219).Name = "out7"
  sysvar(219).value = 806
  sysvar(220).Name = "out8"
  sysvar(220).value = 807
  sysvar(221).Name = "out9"
  sysvar(221).value = 808
  sysvar(222).Name = "out10"
  sysvar(222).value = 809
  sysvar(223).Name = "in6"
  sysvar(223).value = 815
  sysvar(224).Name = "in7"
  sysvar(224).value = 816
  sysvar(225).Name = "in8"
  sysvar(225).value = 817
  sysvar(226).Name = "in9"
  sysvar(226).value = 818
  sysvar(227).Name = "in10"
  sysvar(227).value = 819
  sysvar(228).Name = "tout1"
  sysvar(228).value = 410
  sysvar(229).Name = "tout2"
  sysvar(229).value = 411
  sysvar(230).Name = "tout3"
  sysvar(230).value = 412
  sysvar(231).Name = "tout4"
  sysvar(231).value = 413
  sysvar(232).Name = "tout5"
  sysvar(232).value = 414
  sysvar(233).Name = "tout6"
  sysvar(233).value = 415
  sysvar(234).Name = "tout7"
  sysvar(234).value = 416
  sysvar(235).Name = "tout8"
  sysvar(235).value = 417
  sysvar(236).Name = "tout9"
  sysvar(236).value = 418
  sysvar(237).Name = "tout10"
  sysvar(237).value = 419
  sysvar(238).Name = "tin1"
  sysvar(238).value = 420
  sysvar(239).Name = "tin2"
  sysvar(239).value = 421
  sysvar(240).Name = "tin3"
  sysvar(240).value = 422
  sysvar(241).Name = "tin4"
  sysvar(241).value = 423
  sysvar(242).Name = "tin5"
  sysvar(242).value = 424
  sysvar(243).Name = "tin6"
  sysvar(243).value = 425
  sysvar(244).Name = "tin7"
  sysvar(244).value = 426
  sysvar(245).Name = "tin8"
  sysvar(245).value = 427
  sysvar(246).Name = "tin9"
  sysvar(246).value = 428
  sysvar(247).Name = "tin10"
  sysvar(247).value = 429

21
Bugs and fixes / Posting league bugs
« on: April 02, 2008, 12:32:58 PM »
Given the way leagues work currently, I need the bot .txt files as well as the sim to debug league problems.  If you get a crash or have some other issue when running leagues, please attach the bot DNA files as well as the sim to your bug post.  Thanks.

22
Darwinbots Program Source Code / Perf changes in 2.43.1f
« on: April 02, 2008, 11:06:34 AM »
I'm curious as to what if any performance improvements people have experienced with 2.43.1f.   Any quantitatvie data on before and after cycles/sec and sim size (both bot number and field size) etc. would be welcome.

23
Bugs and fixes / Overflow with large field sizes in 2.43.1e
« on: March 25, 2008, 01:53:01 PM »
I'm chasing this.  I think it has to do with Single-> Long conversion in torridal sims or when bots are materialized outside the field edge.

24
Internet Mode Commentary / Tips for getting IM to work
« on: March 25, 2008, 12:16:17 PM »
1. Our current server limits client machines to a total of 2 FTP sessions.  If you have recently downloaded a new version of the simulator or otherwised accessed the server (the DB web site) using FTP, try closing that program you used to do that (e.g. IE or the Windows explorer) or even rebooting your computer to clear out the sessions.  Running multiple DB instances in IM mode has problems and will similarly create additional sessions.

2) Try exiting and restarting the DB exe itself.  Windows will keep the FTP session cached as long as the exe is running even if you quit Internet mode.  Tearing down the exe is the only way I've found to date to kill the session so that the server will let you in again.

3) Be sure your don't have invisible zombie instances of DB running in the background.  Sometimes when DB crashes, the exe does not go away.  Use the task list to check you don't have instances still running (and holding an FTP session) that you don't know about.

4) The server treats all machiens behind a NAT as a single machine (I think) and again only allows 2 FTP sessions from that entire LAN.  If you have problems running multiple instances of DB on different machines behind a NAT, this is why.

5) There have been some reported cases of router/NAT/firewall/cable modem boxes caching FTP sessions.  If you still can't get things to work, try restarting (powering off then back on again) your router/NAT/firewall/cable modem.

6) If you are running a local firewall (such as the Windows firewall on either XP or Vista) the DB exe needs to be given permission to access the network.  Generally you will get a pop-up asking you to allow this the first time you run each new version of the DB exe.

7) Be patient.  Some errors are expected and are normal such as when multiple sims attempt to open and download the same file on the server.    Time out problems can happen for a number of reasons.   Be patient.   The code will retry at the next sync cycle.

edit by Botsareus, highlighted stuff that is relevant at this point.


25
Bugs and fixes / Changes 2.43.1d - 2.43.1L
« on: March 25, 2008, 11:29:32 AM »
This topic is just a place for me to keep track of the changes I make from one version to another, in this case from 2.43.1d to 2.43.2. It is not the complete list of stuff in the next drop (yet) just the stuff I have completed to date. I will edit this post as I complete changes and start a new topic for each new release.

If there is a link to an interim release attached to this topic, it is a stable buddy drop which you are encouraged to try. Such 'between release' exes will have letters following the release version e.g. 2.43.1e.

If you have feature requests or bug reports for this version, please report those as separate topics in the Bug Reports forum and be sure to include the specifc version, a complete description of the behaviour and how it differs from what you expect and if possible, an attached sim file.

1) Shell sysvar was not being updated correctly due to shot impacts
2) Console inputs were not being sanatized correctly.  Values over 32000 could crash sim.
3) .danlen was not being set correctly during the first cycle of life
4) Address strange shooting problem with 0 nrg shots
5) User now prompted to start Internet Mode when restarting lastexit.sim
6) Increased number of in/out sysvar pairs to 10.
7) Added ability to run sims with very large fields.
8) .sx velocity vector was not being displayed correctly.
9) Tweaks to interent mode connectivity
10) Bot collisions now update refvars (when nothing in the focus eye)

2.43.1e Buddy Drop Download

11) New sysvars .tin1 - .tin10 and .tout1 - .tout10.  These work just like the in/out sysvar pairs but operate on tied bots.  They are essentially new trefvars.  See this topic.
12) Finially got the buckets code operational and tested sufficiently to enable it for vision.  This should provide a massive performance improvement (like 2X or more) particularly for larger, sparser sims.
13) Addressed a bug with drawing bot innards.  Bot innards are now displayed when the bot radius is greater than 1/500th the screen width.  It was 1/200th.
14) Addressed several overflow issues with larger fields.
15) League dialogs now no longer steal the focus after every round.
16) Addressed an overflow bug that occurs when setting .sexrepro on the last cycle of fertilization.

2.43.1f Buddy Drop Download

17) Addressed a long standing problem with the Guass routine which could result in tight-loop hangs when the standard deviation on the mutation probability for a bot's point mutations mutates to a very tiny value.
18) Changed the underlying memory locations asscoiated with the in/out and tin/tout pairs so that they are consecutive and both start on a multiple of 10.
19) Addressed a bug in the buckets code which could result in bots being invisible along the top or left edge of the field.
20) Enabled the buckets code for bot-bot collisions.  Results in improved performance.
21) Addressing a tight loop hang in the Poitn Mutations code.
22) Added protection logic to Gauss() and PointMutWhereandWhen().  Limits the stddev for point mutations to 1.
23) The nrg delta displayed at the bottom of the screen now correctly shows the nrg delta cycle to cycle.

2.43.1g Buddy Drop Download

24) Inadvertly disabled point mutations in previous version.  Re-enabled them here.
25) Address several crashing issues with resizing fields and buckets.

2.43.1h Buddy Drop Download

26) 0 length bot files in inbound directory for the internet mode teleporter are now deleted.
27) Several fixes to insertion mutations.  They were bascially broken for lengths greater than 1
28) Auto-save intervals up to 10000 minutes now suported.  Protection logic added to prevent crashes on out of range values.
29) Serious bucket issue addressed where bots could get added to buckets multiple times in some cases such as veggy repopulation.
30) Internet mode teleporter properties dialog now prevented from opening.
31) Added protection logic for teleporter entry fields to prevent out of range crashes.

2.43.1i Buddy Drop Download

32) Addressed problems with .fixang and .fixlen. There was duplicate code in two different areas each trying to apply the values differently, resulting in unpredictable behaviour such as tie angle occsilations.
33)  Even the stiffest tie was still very springy, so I increasd the range of values that matter on .stifftie to 1-100 from 1-40 (essentially adding the ability to specify higher degrees of tie stiffness than before - values 1-40 equate to the same stiffness as before, values 41-100 equate to greater stiffness) and now MOD positive values to spread mutation probabiltiy equally across the range instead of pegging anythign above the max and the max stiffness (as values > 40 did before). All negative values equate to the minimal tie stiffness of 1. A 0 value does not change anything as before - hardened ties remain at whatever stiffness they are at.
34) I made the changes to .fixang to allow bots the option to specify that the tie angle should rotate freely by storing a negative number.
35) I also fixed some bugs with trefvars not going away in certain cases when ties break as well as erasing the trefvars when .readtie is non-zero but invalid. This lets bot check if ties for which they know the tie port still exist or not.
36) The trefdir sysvars were not being populated.
37) Tie length included bot radii when read thoruhg .tielen
38) .trefaim was in radians, not DB turn units.
39) Fertilzed was getting set to 0 in cases where reproduction was unsucessful.
40) .tin values no zero when tie disappears.
41) *.poison and *.venom were being mistakenly zeroed out when the refvars were erased.

2.43.1j Buddy Drop Download

42) Had a problem with 41 above.  Should be fixed for real this time.
43) Addressed a int-> long issue with loading long running evo sims with lots of mutation details.
44) Plugged a free waste problem in feedveg2 where veggies were getting waste/2 nrg from waste but the waste was not being zeroed.  Was only being reduced by waste/2.  Resulted in free nrg in veggie sims...
45) The rob array now sizes dynamcially.  This effectivly eliminates the 10k limit on bots in a sim as well as reducing the working set for smaller sims.   Should help performance on computers with smaller amounts of RAM.
46) The number of private vars is now 1000.

2.43.1k Buddy Drop Download

47) Addressed serious free nrg bug w.r.t. waste and posion shots.  Now whiel producing poison produces waste, shooting it does not.
48) Addressed typo bug where .tiepres could revert to an incorrect tie port in cases where bots have multipel ties.

2.43.1L Buddy Drop Download

26
Suggestions / 10 in/out sysvars in 2.43.1e
« on: March 25, 2008, 10:42:49 AM »
Can't find the thread where this was requested, but 2.43.1e increases the number of .in and .out sysvars to ten each.

27
Suggestions / Very Large Fields in 2.43.1e
« on: March 24, 2008, 02:13:27 PM »
Previous versions support 12 field sizes, the largest being 96000 X 72000.

2.43.1e supports 100 different field sizes.  The first 12 are the same as before.  The largest field now has dimensions of 800000 X 600000.

Very large fields are interesting for many reasons not the least of which is that they can provide a degree of geographic isolation for evo sims.


28
Bugs and fixes / .dnalen not set first cycle RESOLVED 2.43.1e
« on: February 28, 2008, 02:22:36 PM »
.dnalen and .genes aren't initialized correctly during the first cycle of life at sim start time or for inserted bots.

Fixed in 2.43.1e.

29
Off Topic / I feel like the bartender at the DarwinBots Bar!
« on: January 31, 2008, 03:01:29 PM »
It's a great place.  Everyone is welcome, you can spit on the floor and call the cat a bastard and most people won't mind though if you spit in their drink or piss on the pool table, the regulars will take take exception.  People come and go, there's a core crowd, but also a steady stream of newbies.  Once in a while a newbie comes back enough times to become a regular but not often.

You've got your characters in the ranks of the regulars - the old sage whoose hangs out in his favorite chair.  He's respected by most everyone.  He's always here, but supposedly he's also building a new and better bar.  He'll be happy to tell you all about it if you ask.  Also, he can tell you how the walls of this one were put up and what's wrong with them.  Then there's the founder.  He only shows up once in a blue moon to tell you he doesn't like the beer your serving.  There's a guy in the back who doesn't say much but is always there playing the video machine, there's the biologist who stops off after work most days for a drink, but gets more excited about the fermentation process than how the beer tastes and a dozen others, each with their own qwerks...

Most people are thougtful and often enguaged in deep conversations on deep subjects.  Afterall, this is the bar where the mysteries of the universe are to be solved but there are exceptions.  Some days, a 16 year old kid runs in and before anyoen can stop him, he runs from person to person spouting the most obvious single sentences imaginable.  "There's air in here," he says to one guy.  "If you drink that beer, your glass will be empty" he says to another.   Sometimes he brings dead bodies with him, customers from long past, frozen in conversation on long dead topics.  He sits them on a stool and whispers his single sentences to them as they if they can hear him.  Then he leaves, leaving them behind to stink up the place...      

There's a mental hospital down the street.  Every Thursday a guy wearing nothing but a white hospital gown wanders in, sits and the end of the bar and starts talking to himself.   From a distance it sounds like he's making sense, but the regulars know better.  They've tried to talk to him and failed.   They used to try to make sense of his ranting but now they mostly ignore him.  He stays for an hour than leaves until next week.  Nobody knows why...

Me, I serve them all.  Occasionally I get the bat out from under the bar and beat off some kids looking for trouble or call a taxi for soemoen whose had a few too many.  Mostly I dispense advice and opinion while working in my spare moments to spiff up the place.   It's a living.  Besides, isn't that what all good bartenders do?

"So my friend, would you like some bug fixes to go with that .sexrepro?"

30
RANT / Why do otherwise bright people beleive stupid things?
« on: January 30, 2008, 01:51:29 PM »
I have a good friend who plans her week by her horoscope.  I have another who regularly visits palm readers and claims a tarrot card reading fortune teller told her things she couldn't possibly otherwise know.  My wife and I have dinner with another group of friends every few months, several of which are die hard creationists, beleivng the earth to be less than 10k years old.

Almost to a person, these otherwise intelligent, rational people who delight in inteligent, civil debate on highly opinionated and stongly held topics as diverse as sports or politics or education not only truly believe these irrational things but treat any discussion or challenge of them as a personal attack and will suffer no discussion of them however civil.

I like Dawkins and Harris's meme hypothesis as an explanation as to how and why certain shared ideas/concepts are what they are and have evolved to defend themsevles in such a way.  I also buy into Dennet's notion that there may be an evolutionary advatange to asigning an intentional stance to such things as the weather and that religion and other supernatural beleifs are an outgrowth of or at least are reinforced by this.  But this is not what this rant is about.

Recently, I actually think I may have managed what many 'active athesists' who enguage in endless debate with entrenched creationists hope to acheive but seldom do.   I have a neice attending a Lutherian college here in Seattle.  Her duel major is english lit and religious studies.   She is a very bright, unassuming kid (she scored 800 out of 800 on her verbal SAT).  A discussion of her major and her (low) prospects for employment at a recent family gathering led to a surprisingly frank and civil discussion of her personal religious beliefs.  In this discussion, I put forward the argument that beleiving in the supernatural without evidence is both ignorant and arrogant and that she in particular, is ignorant of her own arrogance.

Needless to say, as someone who sees herself as a do-gooder out to save the world, she was a bit taken aback at the accusation of arrogance.   Basically, I put forward the argument that when someone beleives supernatural things that contradict the findings of tens of thousands of dedicated, hard working scientists whose life work is to seek the real answers and who publish their results in peer reviewed research literature in full view for anyone to replicate or invalidate, when they beleive these things and not only expect others to do so but activly seek to pursuede them to do so, without evidence, they are not only mildly arrogant but in fact are the eptomy of arrogance.  What is arrogance if not holding an unwavering position, claiming only they know the right anwser all evidence to the contrary and the refusual to even entertain the possibility that they may be mistaken?

Anyway, long story short, she sent me email - she's changing her major to journelism and dropping religious studies.  This is a huge thing for her not the least because her father, my brother-in-law, is a Lutherian minister.  I don't expect he's very happy with me at the moment.   But she's doing it.  

Perhaps our discussion was simply the straw that broke an already overloaded camel's back, but it is the first time in my personal expereince where such a discussion has ever resulted in any significant movement of an entrenched position by the supernaturally inclined.  Perhaps I should look and see if my horoscope from last week said something about changing another's life for the better...  

Pages: 1 [2] 3 4 ... 12