Code center > Bugs and fixes
Mutation Rates bug!
shvarz:
OK, I am confused. I thought that friction is applied to current speed, while the "movement factor" applies to acceleration. Then what is the difference between friction and movemement factor?
Numsgil:
Movement factor is how effective each impulse (acceleration) is. Default is 80%.
Friction is applied to velocity after all accelerations are calculated.
So an impulse from a bot (say, a command to .up) has to go through both movement factor and friction.
shvarz:
That is completely messed up! This means that friction and movement factor are essentially the same thing! They should be different, MF should determine how effective your acceleration is and friction should determine how quickly you loose the speed with time. These are not necessarily related things and sometimes can be reversed. Imagine an organism suspended in air with no gravity. Unless it has a propulsion jet, its efforts to gain speed will be largely wasted, because there is very little friction in the air. Once it gained speed, it will loose it very slowly.
So, the order should be like this:
At the beginning of the cycle apply friction to reduce the current speed.
Execute genes.
Apply MF to .up/down acceleration, calculate collisions, brownian motion and such.
Move bots.
Thus, acceleration and deceleration will be separated. Therefore, different combinations of MF and friction thus would allow description of very different environments.
Numsgil:
I agree that friction is kind of silly in the current system. But it's been that way for a while now (probably since it was first made?) Doesn't mean we can't change it of course, it just means it doesn't appear to have hurt anything in the mean time.
Here's a graph of how it works. Green arrows denote values at the start of the cycle, the others are the order of action. (there's supposed to be a purple arrow between movement factor and velocity)
Unfortunately, fixing friction is more invlolved because friction works differently in different environments.
On solid surfaces for example you have static and dynamic friction, which are different. In liquid substances, friction again works different.
The main difference between Movement Factor and Friction is that movement factor ONLY applies to accelerations from up, dn, sx, dx, and Movement factor feeds into friction.
shvarz:
Well, I don't care about the fancy details, so just separating these two would be fine with me. It did not "hurt" anyone because not too many people tried to create different environments. If you do it my way, then we can have environments like this:
1. Hard to accelerate but slow to loose speed - it is hard to change direction once you get going.
2. Easy to accelerate but fast to loose speed - very precise movement possible, but hard to travel long distances
3. Hard to accelerate and fast to loose speed - sit tight and don't go anywhere.
4. Easy to accelerate and slow to loose speed - current F1 conditions, free for all running and turning.
5. Anything in between 1, 2, 3, and 4.
The way MF and friction work now it is impossible to create these environements. I think everyone will win if these changes are introduced.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version