Darwinbots Forum

Bots and Simulations => DNA - General => Topic started by: EricL on April 04, 2008, 01:47:24 PM

Title: sysvars - The Official List
Post by: EricL 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
Title: sysvars - The Official List
Post by: bacillus on April 04, 2008, 05:45:18 PM
What does timer do?
Title: sysvars - The Official List
Post by: Numsgil on April 04, 2008, 05:47:26 PM
timer automatically increments by 1 every cycle, and is guaranteed to get properly passed to children, so child and mother's timer stays in sync.
Title: sysvars - The Official List
Post by: abyaly on April 04, 2008, 08:55:29 PM
Woah. I have never heard of this sysvar. I approve.
Title: sysvars - The Official List
Post by: Numsgil on April 04, 2008, 11:08:45 PM
It was one of the last things I added when I was the primary dev.  Kind of fell under the radar with my work on a C++ version.
Title: sysvars - The Official List
Post by: CrashBoy on June 03, 2008, 04:39:47 PM
Hey there... I'm new here.... How do I add all these new variables to the system? I just copy all of them into sysvars.txt?

Thx.
Title: sysvars - The Official List
Post by: Numsgil on June 03, 2008, 04:43:16 PM
Hi!

The original system needed a sysvars text file, but the current program internalizes it all.  Just use a new version of the program (2.43 or one of the buddy drops) and your bots will automatically have access to all the sysvars.
Title: sysvars - The Official List
Post by: bacillus on October 05, 2008, 05:24:48 PM
I'm still in the dark about .trefvelmy___ and .trefvelyour___. Can anyone clue me in as to what they do?
Title: sysvars - The Official List
Post by: Numsgil on October 05, 2008, 05:28:36 PM
It means "tie reference velocity mine" and "tie reference velocity yours".  I forget what the first one does, but the second one gives you the relative velocity of the bot at the other end of .tieloc
Title: sysvars - The Official List
Post by: bacillus on October 05, 2008, 05:40:18 PM
OK, that helps.
Title: Re: sysvars - The Official List
Post by: havingphun on October 15, 2011, 10:07:55 AM
what do all the touts and tins do?
Title: Re: sysvars - The Official List
Post by: havingphun on October 15, 2011, 10:09:00 AM
are they tie in and tie out?
Title: Re: sysvars - The Official List
Post by: Panda on October 15, 2011, 10:54:56 AM
tout and tin are the equivalent of out and in. They work in the same way, just only though the ties.
Title: Re: sysvars - The Official List
Post by: Shadowgod2 on October 11, 2013, 02:19:48 PM
so one of the things i've been wondering about was why are the sysvars clumped all over the place instead of a relatively in the same area?
i understand that similar sysvars are together but there's so much space in between each clump some being over 100 memlocs away.
Title: Re: sysvars - The Official List
Post by: Panda on October 11, 2013, 02:46:47 PM
It's how the program has been built upon. I don't think there was any standard from the start so it's become irregular. Saying this, though, I might be wrong.
Title: Re: sysvars - The Official List
Post by: Numsgil on October 12, 2013, 01:37:15 AM
Yeah, no real rhyme or reason.  New features are sort of crammed in wherever there's free sysvars.
Title: Re: sysvars - The Official List
Post by: Botsareus on October 12, 2013, 10:06:07 AM
I can name one:

You will see that sysvars are grouped.

Like, movement sysvars are grouped 1 trough 6
Defense sysvars are grouped 820 trough 839.

This is not always the case. But this is the sysvar naming convention I am following. The mutator usually offsets a value rather then picking a new one. Hence the empty sysvars between sysvar groups serve there purpose on limiting really wild changes in robots behavior.



eh, never mind, I am repeating what has already been expressed. Sorry.

There is no rule on how far sysvar groups should be away from each other. That is true.

Title: Re: sysvars - The Official List
Post by: Shadowgod2 on October 13, 2013, 11:37:35 AM
thanks it just makes larger bots harder to make, like a NNet bot that i am working on using as many memlocs as i can and not as many large openings as i wish there were

thanks for the info
Title: Re: sysvars - The Official List
Post by: Botsareus on October 13, 2013, 03:11:09 PM
I am also working on fixing epigenetic memory, the memory locations that are supposed to be copyied trough birth tie are not happening. This should help pass epigenetic information for your NN bot.
Title: Re: sysvars - The Official List
Post by: Shadowgod2 on October 13, 2013, 03:41:42 PM
well the NNet bot will be using a lot more than epigenetic memory but that's interesting.

something i found in the wiki was that refvel and refvelup have the same memory location. is that true?

Edit: i just got an idea of teaching though it will be implemented later... if i complete it i wonder i it will discover/evolve/develop teaching on it's own before i put teaching in :thinkey:

Edit: never mind i get it now.
Title: Re: sysvars - The Official List
Post by: Numsgil on October 14, 2013, 02:00:27 PM
Refvel is just shorthand for refvelup.  That is, it's not a mistake.  They're not supposed to be different. 
Title: Re: sysvars - The Official List
Post by: Shadowgod2 on October 15, 2013, 01:56:57 PM
that's why i said never mind

I've just got an idea though about custom and sysvars:
 you could make it to where you could move sysvars around using something like a custom variables only using something different like redef

example is say redef up 5

it would use memory location 5 as .up and you could use memory location 1 as something else if you wanted. this way if you wanted to make a memory intensive bot without spreading everything out you could
Title: Re: sysvars - The Official List
Post by: MacadamiaNuts on September 03, 2014, 06:16:14 AM
Someone remind me again of how sysvars wrap around.

E.g. what does -193 or 1421 translate to.