My $0.02:
I don't really favor a cost for fixing or some limit of fixation duration.
First, I have a dislike for costs of any sort. I think they are over emphasized as it is. IMHO, they should play a minimal or non-existant role in applying selection pressure in evo sims because they drive selection towards simplicity rather than complexity. I prefer to use preditors, shepards and species-species competion (along lines other than cost-effeciency) as selction drivers in my evo sims so as to encourage spiraling co-evolution that selects torwards increasing complexity. My evo sims generally have no costs.
Second, it's not obvious how it should work. A cost per cycle? An initial fixation cost? A limit on fixation duration? A consensus could be reached, but it's not immediatly clear to me what it would be.
Personally, I prefer to simply add a global sim option to allow fixing or not. We already have the options to allow ties and to allow different bot radii. This would simply be another global sim setting that would provide the human option of disabling fixation in that sim. If so set, setting .fixpos would do nothing.
A global setting would work, but there could be scenarios where bots might be able to make leigitimate use of .fixpos even if it had some costs assosciated with it - sims with fixed feeders and gravity, for example, where it might profit a bot to fix in clusters near a food source.
My only beef with it is that it breaks the physics model - a bot can anchor itself in space and time regardless of gravity or momentum; even the tiniest bot, when fixed, can stop a massively huge bot dead in its tracks. I have no problem with bots using it, if it's a functional adaption, but it shouldn't circumvent the physics of the sim.
I've always used phsyics-based costs rather than DNA costs in evo sims - DNA costs don't encourage evolution - along with predation and competition, so I would prefer a physics-based fix. There should be some way to make the bot pay for circumventing momentum - in a high g environment, high momentum environment, for example, or when a larger bot slams into it with high "marbleness" set. A movement cost, counter to momentum, or a body-associated cost would be ideal [if harder to implement]. A global .fixpos flag would preclude any legitimate use of a .fixpos strategy [not to mention that fixed veggies seem to use .fixpos behind the scenes; bots that reset .fixpos to zero will unfix veggies]. I suggested a .fixpos DNA costs more as a rough fix that would be easier to implement while not completely disabling .fixpos.
The fact that my zerobots in gravity environments keep selecting for it [particularily with energy-shot fix feeders] is not a problem - it makes sense that they would want to. Inserting a predator bot into the sim makes it a less effective tactic, but I've been rerunning sims in an effort to get the bots to keep their .fixpos strategy while finding a means to defend themselves - a reef or cluster seems kinds cool if it can be made to function sensibly. It just doesn't make sense for the bots to completely circumvent the physics model.
I'm not sure if it's noteworthy, but I never had this happen until I started using zerobot blanks for my evo sims
. Even then I can only replicate it using an environment where it confers a distinct advantage. Transitioning the sim to a more complex competive environment isn't working well for "reef" bots, but I'm hopeful that they might devise a defensive strategy that allows them to maintain their "reef" behavior. Some of these reefs utilize extensive ties, which is kind of cool. Overall I don't have a problem with this behavior; I'm just picky about the physics ;p.