Good discussion. Let me stir this pot a bit more.
Unless the object here is for DB to be a "game" platform then, IMO, every flexibility possible should be given to bot makers (DNA) to acheive whatever evolution simulation we so desire.
What I am looking for is the flexibility, through DNA, to model sexual selection and watch those criteria change over generations.
For instance: The female "sees" a likely candidate. Using her DNA determined sexual selection criteria (more on this in a second) she determines he is accetable. For Evo sims, selection of the mate by the bot (not the program) is a must. Keep your hands off my sims decisions.
I can model the selection criteria very easily in DB at present. Free memory locations are available to the bot maker to define as we see fit. I can have (for instance) 3 sexual traits for the female to test. Memloc/memval allow me to "look" at your sex (memloc 24 = 1, are you male), your tail length (is it within 10% of my selection criteria, memloc 25, value 83 +- 10%) and the brightness of the orange on your crest (is it greater then value 8, memloc 26).
It doesn't matter that in DB we are dealing with single celled bots. I can consider them "birds" or "tyrannosaurs" or "wood ticks" in my imagination, model their behavior (DNA) and simulate NeoDarwinian effects. This is what DB could do for Evo sims.
This is the unique beauty of DB in its present form. With some simple improvements and changes DB fits the evo simulator's dream platform.
Control over various mutation types and rates simulate the time span of the simulation. "Variable" changes happen generation to generation, gene insetion happens once every 20 million (+- 20 million or so) years, and etc. By selecting the rates I can model in my simulation just about any time span I so desire and watch the effect on whatever facet of existance (sexual selection, environmental change, competition, isolation, some combination, etc, etc, etc) I care to study, the programmer's pre-conceived ideas of what should or should not be allowed to happen not withstanding.
In order to accomplish this .sexrepro
must (not only work but) be flexible.
From PY:
And the business of the bot choosing a partner? As I said before, a rat can't choose to mate with a camel (or even a mouse come to that). They just aren't compatible. Speciation needs to be possible and the only way I can see to do it is to set compatibility from within the program, not the DNA. On sliders controllable by the user but definitely not in the DNA
First, if the bot maker sets up his selection genes correctly he won't allow his "rat" species to select a "camel" to mate with. But even if he so chose to set up his simulation in this way, what business is it of the program to interfere? Why should you give a *&^$?
If species control needs to be a program function for the "game" side of DB then I request an option to turn off this control. It is, infact, the DNA that controls all sexual selection in nature. In evo sims, speciation will occur with time (I hope) and "time" is simulated by mutation rate/type.
The DB program should not interfere. I will determine and control the definition and interactions of "species" within my sim. You can make the programming effort a lot easier IMO by staying out of the way.
1) Big problem with this. If the eye5 value is greater than about 50 there isn't enough physical room to reproduce at all so nothing happens. You have to be facing open space in order to make a baby.
So put the birth tie somewhere else. Why does it
have to be .eye5?
I would prefer some kind of physical contact to make sexrepro work. You need contact to exchange genes.
Quite true, but for most evo sims "close proximity" (*.eye5 80 >) would simulate the required "contact." And that is up to me to determine and simulate, not you.
This is not really the important point. The important issues are selection, gene mix, and mutation rate/type. You can make your programming efforts easier by being less restrictive.
From Numsgil:
1. The father shoots the mother with a 'sperm shot', which is simply a piece of its DNA that can be accepted or rejected by the mother. (say, by having 1 .receptive store, or something like that) That solves alot of problems.
I could accept this, it is more rigidly realistic though I think it adds unnecessary complications to the sim and thus to the programming effort.
Again, for evo sim purposes close proximity would be good enough. The program shouldn't care how "close" close is. That should be left to the bot maker.
Whether a bot maker's chosen techniques (selction criteria, sex #/types, intra/inter species behavior, definition of what is and is not a "species" or "sub-species", color of the bot, whether it has 16 legs or spits fire) are considered by some/any/all people as "realistic" or not should not be a concern of the program. You are providing a platform for me to build my sims in my own image and your program shouldn't give a rat's patoot what I make it do.
How's them apples?
Finally, from shvarz:
Bots, it is a funny example, but the way system works now, it is even funnier: You can be absolutely alone, in the middle of Sonora desert. You decide to have a baby and "there you go" - it comes right out. Who's the father? Some guy named Paul, who happened to be the closest person to you. Never mind that he is 100 miles away in Tuscon
I am not! I wasn't anywhere near Tucson when she got knocked!Thanks, again, folks.
-P