Code center > Bugs and fixes

2.43 Changes

<< < (15/18) > >>

EricL:

--- Quote from: Jez ---Not sure how this affects me 2bh but could you give league rotations a default cost pls. (if you haven't already!)
--- End quote ---
Turning cost for F1 leagues is currently forced to be zero.  Would you like it non-zero?

Jez:
No that's fine, I just wanted to make sure you had defaulted it for the leagues. (Although it might add a little bit more variation to league, hmm, will watch what changes it makes to bots behaviour.   )

Testlund:
Wonderful! It looks like the problem with the day/night cycles was only the thing that you have fixed here. I did some more testing and it seems to work with even longer day/night cycles than 10000. Maybe it was this ui problem that was messing it all up. Nice! Also the rotation cost is much appreciated.  

Numsgil:
I want to make sure that the turning cost's been done right, so bear with me.

The "proper" way to charge for turning is the following:

Force = I * (float)fabs(DeltaW) / this->radius;
Cost = Force * SimOpts.Costs[TURNCOST];

where I is the moment of inertia (or whatever, it's been a while since I looked at this) and is equal to this->mass * this->radius * this->radius * 2.0f/5.0f;

The most primary thing I want to point out is that bots should only get charged for changing their rate of turning.  Spinning at a constant rate shouldn't cost any nrg, and neither should not spinning.  Everything else above is just fluff to make the physics work out, and you can use it or not at your own discression.  But I really want to push the point above.

EricL:
So, I haven't modifed the turning paradym yet.  That is a post 2.43 work item and I'll probablly make it optional for backward compatability reasons, perhaps even adding new sysvars for the new turn actions.  Thus, values written .aimdx and .aimsx today are still absolute degree requests, not turning force requests.  They accelerate, turn and decelerate all in one cycle.  Bots can have and keep angular momentum even today (primarily due to tie torque actions) which may keep them spinning withotu action on their part, but voluntary turns do not add to angular momentum (although they will reduce it if the turn direction is opposite the aquired spin).   This is broken I know, but its the best I can do at present without changing the turning paradym.

So, the way it is set up now, bots only get charged a turning cost for turns they make.  There is no charge for aquired angular momentum.  That is, a turning bot that is spinning due to aquired angular momentum will keep turning without charge.  It's just that today, it's really hard to aquire angular momentum.  A single voluntary turn request will not keep a bot spinning.

The turning cost today is proportional only to the amount of the turn and is not currently dependent on bot mass or radius.  I will change this as you indicate, but doing so won't help the larger issue above.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version