Bots and Simulations > Evolution and Internet Sharing Sims

Survival-of-the-fittest evobot

<< < (8/11) > >>

Griz:

--- Quote ---The only thing to watch out for:

The original function added the total number of descendants.  That means it searched through the bots' children's children, on and on...

Unless I'm mistaken your function would only take the immediate children into consideration.

Still, nice work.  I appreciate the effort.
--- End quote ---
yes ... I see what you were intending to bring into it.

mostly, I just want to have a way to customize how the fittest bot
is selected for whatever reason one might want to select one.

a general VB question:
once I have the program break at a certain point ...
in this case, I had it break in that fittest routine after the bot
had been selected, how would one go about finding the values
of other variables? I can see those in the routine where it break
takes place by hovering over them ...
but what if I wanted to know something else ...
for example, I could determine which bot (t) got selected ...
but wanted to then know it's absolute number so I could verify
the right one was highlighted ...
but had to resort to adding that to the routine so I could hover.
I don't have the help files for VB so ...
is there a way, perhaps another window ...
where I can type in variable names and have the value returned?

I have no idea what those watch, immediate or locals windows
are supposed to do.  well ... I couldn't make them to anything. ;)

Numsgil:
One of those watch/immediate etc. windows allows you to type in a variable.  It will then display the variable's contents at each point in the program flow.  I don't remember which window it is specifically.  Feel free to experiment, you can't hurt anything after all.

Griz:

--- Quote ---One of those watch/immediate etc. windows allows you to type in a variable.  It will then display the variable's contents at each point in the program flow.  I don't remember which window it is specifically.  Feel free to experiment, you can't hurt anything after all.
--- End quote ---
at each point in the program flow?
what does that mean?
each time the variable is changed?

in the immediate window, I can type only if I break the prog.
and the only thing that does anything is if I type rob( ....
I get it telling me 0-5000 which I guess it the range of the variable.
that's it, nothing else. any variable I type in there doesn't do anything
when I continue to run the program.
surely there must be some what to do this?

I wonder why the one is called a 'watch' window?
and 'locals' I thought might be local variables.
got me.
sure would be nice to have some docs.

I don't suppose one could download only the docs portion of the
VB5 free download Endy told us about.
I was gonna get it but we're talking 400MB!!!!

Numsgil:
My won VB version doesn't have docs, I've had to figure out most of it myself.  THere is an online MSDN that can offer assistanc, but I don't remember exactly where that is.

Anyway, here's what I do:

Once the program breaks, go to debug->add watch.  Type in the variable you're intersted in.

A "watch" window appears.  If there's a + sign to the left of a variable, it means there's more stuff inside it.  Click that + arrow to see what's inside that variable.

PurpleYouko:

--- Quote ---can you give me an example or two of some of the ones you
are using to pause the sim when some mutation you have
flagged is detected?
and how one would go about adding new scripts?
--- End quote ---

Sorry. I guess I assumed that you knew about the basic scripts that are already set up in the program.

In the "Mutations" page of the options panel, you will see a few boxes at the bottom of the window and a larger one beneath them.

Click in the leftmost of the 3 smaller boxes and a pulldown menu will appear.
As an example, select "Robot gains" from the list.

Next go to the econd box and select a specific sysvar from the pull down list there. I selected "aimsx" as I was trying to mutate a turning bot from one that travels in straight lines.

Next go to the third box and select one of the few available options. The one I used was "Pause sim and highlight bot"

Once all three boxes have values, click the button labeled "Add script" and the script will appear in the large box at the bottom of the screen.

Finally, check the box marked "DNA Scripts Enabled" and start the sim. As soon as any robot is born that has the text "aimsx" anywhere in its DNA, the program will pause and highlight the bot that has it.
If you are running with graphics disabled for greater speed, you will now need to click on the "cycle" button to update the graphical display. You will now see your bot with a yellow circle around it.

Click the normal "play" button to resume the sim.

The program can handle up to 9 of these scripts simultaineously so just keep adding them to the list.

More complex scripts that watch for specific conditions in the game will require quite a chunk of programming to make them work. There is no framework at all for them right now.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version