Author Topic: 50 .mrepro store isn't doing anything RESOLVED 2.43t  (Read 3801 times)

Offline Trafalgar

  • Bot Destroyer
  • ***
  • Posts: 122
    • View Profile
50 .mrepro store isn't doing anything RESOLVED 2.43t
« on: August 03, 2007, 12:21:23 PM »
I tried manually setting .mrepro to 50 using the console, on a bot with 13k energy, and nothing happened. The next cycle, to make sure the bot wasn't unable to reproduce, I tried setting .repro to 50, and it reproduced properly.

Looking into this in the source, it looks like although mrepro does trigger reproduction, the routine which processes the reproduction reads from only .repro to get the percent-of-energy parameter. Since I'm only setting mrepro, it reads 0 from repro, which is probably why nothing appears to happen.

(I'm trying to have a bot set mrepro on another bot through a tie, so setting both mrepro and repro in one cycle isn't possible)
« Last Edit: November 24, 2007, 08:50:38 PM by EricL »

Offline googlyeyesultra

  • Bot Destroyer
  • ***
  • Posts: 109
    • View Profile
50 .mrepro store isn't doing anything RESOLVED 2.43t
« Reply #1 on: August 03, 2007, 05:37:07 PM »
I've only used .mrepro once or twice, but I haven't had any problems with it. I think it should just mutate ten times as much, and use the value on the stack to determine how large the child should be.

How did you force commands in the console?

Offline Trafalgar

  • Bot Destroyer
  • ***
  • Posts: 122
    • View Profile
50 .mrepro store isn't doing anything RESOLVED 2.43t
« Reply #2 on: August 03, 2007, 06:17:46 PM »
Quote from: googlyeyesultra
I've only used .mrepro once or twice, but I haven't had any problems with it. I think it should just mutate ten times as much, and use the value on the stack to determine how large the child should be.

How did you force commands in the console?

There's a 'set' command for the console (if you type 'help', it tells you about it along with the other commands):
It says: set (.var|n) value : stores value in variable .var or location n

So I did set .mrepro 50.

(I tested it on the console only after noticing that my bots that were setting it through ties weren't actually causing reproduction in the tied bot. I have them setting repro instead now, which works, but doesn't have the 10x mutation rates which I wanted)

Offline Welwordion

  • Bot Destroyer
  • ***
  • Posts: 325
    • View Profile
50 .mrepro store isn't doing anything RESOLVED 2.43t
« Reply #3 on: November 24, 2007, 02:46:36 PM »
Same problem for me .mrepro just does not activate altough I need it because I need to forbid mutations at normal reproductions for my evosim.
tested it in 2.43 as well as in 2.43s.
« Last Edit: November 24, 2007, 02:47:50 PM by Welwordion »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
50 .mrepro store isn't doing anything RESOLVED 2.43t
« Reply #4 on: November 24, 2007, 04:44:03 PM »
This bug actually sounds familiar to me.  I think it might have been something that I fixed when I ported to the C++ code, but it never got incorporated into the main Visual Basic program.  I'm sure Eric's going to fix this promptly, but in the mean time, just do:

49 .mrepro store
1 .repro store

That'll trigger the mutation reproduction I think.

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
50 .mrepro store isn't doing anything RESOLVED 2.43t
« Reply #5 on: November 24, 2007, 08:54:32 PM »
Fixed in 2.43t.

If both .repro and .mrepro have positive values in the same cycle, I flip a coin as to which to use.
Postive values are mod 100 to determine repro percentage.
Per long standing convention, negative values are ignored and do not cause reproduction.
 

BTW, thank you Trafalgar for the precise bug report.  Anybody who bothers to look through the source.... well, you make my life easy.   Thank you.
Many beers....