Hi.
I've been messing around with DB for quite some time and decided to register and post some suggestions.
1. Bots doesn't like much to evolve complex genes... they trash them before they do anything useful. Could you add single commands to create the first four ties, if they aren't present, and set both tieloc and tieval picking the last two stack numbers? So this:
1 .tienum store
-1 .tieloc store
x .tieval store
Would look like this:
-1 x tie1 store
It checks if there's already any tie with tienum 1 and, if not, it creates it. Also it sets tieval and tieloc.
2. I would like an option to disable mutations of flow commands, so they won't be deleted, replaced or added. Whole genes may be deleted or added with zero filled conditions and commands. Then a working sexrepro that picks genes one by one from parents.
3. Also, an option to mutate conditions and commands from a pool of patterns instead of randomly. *# # > would be a condition pattern, with numbers added on the fly. Evolution would happen faster since they don't need to wait until they get some functional code from a pile of junk, and yet there are large chances that the resulting gene won't be useful. Also it will be readable (nice for non uber DB users that can't read through a pile of nested conditions, sysvars and binary operators).
4. Fitness culling with customizable targets. For example, each 500 cycles kill the 10% bots with less kills.
5. .membrane and .enzyms sysvars, transferred (and maybe mutated) at birth. Any value added to these is modded to -1, 0 or +1 so changing the membrane and enzyms properties would happen slowly. The closer the bot's enzyms are to the target's membrane type, the more efficient it is capturing energy/body through shots or ties. So a bot can use dumb-veg eating enzyms (type 0) and use a different membrane type so shots/ties from other veg eater bots (even their own species) wont digest it by mistake. Or maybe it can develop enzyms to eat the veg eaters, even if those enzyms aren't worth anymore to eat vegetables...
Also, in pond mode, a PH option meaning membranes that don't match the PH at certain level will lose energy. Corpses would have the opposite membrane value than 0 vegetables, so vegetables may use their own shots or ties to take waste from corpses.