Author Topic: Brevis (SS) (F2) (Moonfisher) 22-03-08  (Read 3456 times)

Offline bacillus

  • Bot Overlord
  • ****
  • Posts: 907
    • View Profile
Brevis (SS) (F2) (Moonfisher) 22-03-08
« Reply #15 on: March 25, 2008, 12:13:21 AM »
The idea of a single store bot is still a little overwhelming, I might as well try and decrypt Guardian.    Would anyone mind throwing together a tutorial please?  
"They laughed at Columbus, they laughed at Fulton, they laughed at the Wright brothers. But they also laughed at Bozo the Clown."
- Carl Sagan

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7718
    • View Profile
Brevis (SS) (F2) (Moonfisher) 22-03-08
« Reply #16 on: March 25, 2008, 02:19:37 AM »
The basic idea is that you get to do one action per cycle.  I haven't actually written a SS bot, but I imagine it goes something like this:

ActionA conditionA mult
ActionB conditionB mult add
ActionC conditionC mult add
LocationA conditionA mult
LocationB conditionB mult add
LocationC conditionC mult add
store

where the conditions are SG'ed, and set the stack = 0 if the condition fails, or = 1 if success.  The hardest part once you have an algorithm for writing a SS bot is to keep everything straight and debugged.
« Last Edit: March 25, 2008, 02:20:21 AM by Numsgil »

Offline abyaly

  • Bot Destroyer
  • ***
  • Posts: 363
    • View Profile
Brevis (SS) (F2) (Moonfisher) 22-03-08
« Reply #17 on: March 25, 2008, 04:26:55 AM »
Quote from: EricL
Quote from: abyaly
I've been trying IM on and off lately but the icon keeps turning red. I assume that means I'm not connecting to the server properly.
This is with the most recent version, yes?  I see an empty pop file for you on the server, so something is getting through.  Are you perhaps running a local firewall or behind a NAT or similar that would filter or block FTP?
I have a router. Would that usually block FTP?
Lancre operated on the feudal system, which was to say, everyone feuded all
the time and handed on the fight to their descendants.
        -- (Terry Pratchett, Carpe Jugulum)

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
Brevis (SS) (F2) (Moonfisher) 22-03-08
« Reply #18 on: March 25, 2008, 10:10:39 AM »
Quote from: abyaly
I have a router. Would that usually block FTP?
A straight router would not.  A router that includes a firewall might but should not by default.  It's only outgoing FTP that's needed by DB.  If your at home using a Linksys box or similar, then this probably isn't the issue.  I was thinking you might be at work in which case your boss might have put restrictions on what people can do going out from that net.  Disallowing the use of client-side FTP at the firewall from work is a common restriction to reduce the vectors into the company for virial infection.

If you could post your Internet log in a separate topic, that woudl be helpful and we can take this off-topic.  I want to confirm you are using 2.43.1d, right?
Many beers....

Offline bacillus

  • Bot Overlord
  • ****
  • Posts: 907
    • View Profile
Brevis (SS) (F2) (Moonfisher) 22-03-08
« Reply #19 on: March 26, 2008, 12:22:20 AM »
Thanks Numsgil, all I needed to get me going.
"They laughed at Columbus, they laughed at Fulton, they laughed at the Wright brothers. But they also laughed at Bozo the Clown."
- Carl Sagan

Offline abyaly

  • Bot Destroyer
  • ***
  • Posts: 363
    • View Profile
Brevis (SS) (F2) (Moonfisher) 22-03-08
« Reply #20 on: March 26, 2008, 10:50:05 AM »
Quote from: EricL
I want to confirm you are using 2.43.1d, right?
Right.
Lancre operated on the feudal system, which was to say, everyone feuded all
the time and handed on the fight to their descendants.
        -- (Terry Pratchett, Carpe Jugulum)

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7718
    • View Profile
Brevis (SS) (F2) (Moonfisher) 22-03-08
« Reply #21 on: March 26, 2008, 06:35:28 PM »
Quote from: bacillus
Thanks Numsgil, all I needed to get me going.

My pleasure

I tried to make a SS animal minimalis using that method, actually.  I got one condition working, but it's a huge pain to have multiple conditions working at once.  Best of luck!

Offline Moonfisher

  • Bot Overlord
  • ****
  • Posts: 592
    • View Profile
Brevis (SS) (F2) (Moonfisher) 22-03-08
« Reply #22 on: March 26, 2008, 06:54:18 PM »
I guess I'll try IM now and then to see if I can catch others online... I thought there where some servers running it all the time...
Maybe try to make a good evo bot... something using .sexrepro... although I'm not even sure if it works, in the doc it doesn't say much except that theres problems with it and it's been disabled...
I also noticed a mem loc called .fertilized in an evo sim... but I can't find anny doc on it, I'm guessing maybe it's an old value related to .sexrepro that's no longer required ?

Also... I made some SS viruses
Not worth much in the SS legue.
Maybe if you added some reproduction to the last one ... its in memloc 300 so not too far away, could be combined with fdbody (313)... like randomly deduct up to 3 times 13 when body is big... or something like that... maybe a litle spread would also help... but the virus would get rather long that way... it would also need a key to make sure it kills newly infected bots after deleting it's gene. I guess it could work... but didn't want to make a long SS bot... the idea was to make them as short as possible...
Didn't realy feel they deserved a topic... but wanted to show 'em

[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']
' Minimum SS virus
' Obviously not very effective
'20 rnd 335 3 rnd add store

' Bare minimum SS virus
' Doesn't try to harm the host
'1 99 *.vtimer mult add 335 *.vtimer 3 mult add store

' Short SS virus
' Bot dies if infected by own virus
'*.thisgene *.dnalen 21 sub abs *.nrg 30 div mult *.vtimer sgn mult add 335 *.vtimer sgn 3 mult add store

' Fairly short SS virus
' Only works on 1G bots
' Deletes the other gene and spreads
'1 *.nrg 5 div *.vtimer sgn mult add *.genes - 2 add mult *.genes ++ *.thisgene sub *.genes -- sgn mult add 340 *.genes - 2 add 2 mult sub *.vtimer -- - 0 floor *.genes -- sub 3 mult sub store

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7718
    • View Profile
Brevis (SS) (F2) (Moonfisher) 22-03-08
« Reply #23 on: March 26, 2008, 07:35:53 PM »
Eric has just recently played around and got sexrepro sort of working again.  Check out his change logs for the buddy drops, I think there should be a mention of it in there.  Which makes the docs almost obsolete (a formal release would probably make it official).  So feel free if you have the inclination to update the pages on sexrepro to reflect recent changes.

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
Brevis (SS) (F2) (Moonfisher) 22-03-08
« Reply #24 on: March 26, 2008, 08:31:50 PM »
.sexrepro works perfectly to my knowledge as of 2.43.1.  The topic disucssing it is here.  Be sure to read the whole topic or skip ahead to the bottom of the second page of posts where I summarize how it works..  The discussion in the first dozen posts changed the design.  

I would be very grateful to anybody who spends time updating the wiki...

EDIT:  Here is the meat of the post:

Bots can now shoot -8 sperm shots. There is no cost for this beyond the normal shot cost. The shooter's DNA is copied to the shot (like with viruses). .shootval operates the same way as for other shots.

If a sperm shot impacts a bot, it fertilizes it (shell, etc. has no effect on sperm shots). That is, the sperm DNA is copied to an internal buffer on the impacted bot. Note that the father need no longer be alive at impact time to father offspring. Once sperm is fired, the father is out of the loop.

Currently, bots remain fertilized for 10 cycles. We can change this easily down the road, but it's 10 for now. A new sysvar .fertilized (303) counts down the cycles remaining until the bot is no longer fertilized. If the bot gets shot with another sperm shot while fertilized, that DNA replaces the previous DNA and the .fertilization counter gets set to 10 again.

If a bot sets .sexrepro to a postive value not a multiple of 100 while fertilized, it will sexually reproduce (subject to the normal reproduction constraints w.r.t. body, space and vegginess) giving the offspring the specified percentage of it's resources.

For this version, the crossover variables mentioned in Num's algorithm are internal as follows. The minimum sequence length to match is fixed at 3 base pairs. The maximum number of crossover points is determined by taking the length of the shorter parent's DNA and dividing by 10.
« Last Edit: March 26, 2008, 08:33:54 PM by EricL »
Many beers....

Offline Moonfisher

  • Bot Overlord
  • ****
  • Posts: 592
    • View Profile
Brevis (SS) (F2) (Moonfisher) 22-03-08
« Reply #25 on: March 27, 2008, 09:31:25 AM »
Thanks, I'll start to look into it, and update the Wiki if I have anything to add.