Quadratic / Linear Bug?

A place to post suggestions for new features, new bugs, and comments about the existing code.
jbansk
Posts: 589
Joined: Fri Dec 11, 2009 8:57 pm

Post by jbansk »

Bard,

Are you even reading my post?

I KNOW the results will differ "BECAUSE I TOLD IT TO", however, the linear and quadratic rates should NOT yield a DIFFERENT turn rate FROM EACH OTHER!
[15:25] <BBT_> oh, so da vinci's mona lisa isn't his work?
[15:25] <+fuh-zz> No, he simply put effort into it.
[15:25] <BBT_> are you really that retarded?
Bard
Posts: 4263
Joined: Tue Jan 24, 2006 8:00 am
Location: Within your command center, enacting fatal attacks upon your conscripts
Contact:

Post by Bard »

jbansk wrote:QUOTE (jbansk @ Jun 20 2010, 10:51 AM) the linear and quadratic rates should NOT yield a DIFFERENT turn rate FROM EACH OTHER!
Unless you drop the sensitivity so low that the curve no longer matches, which is what you're doing. The turn rate is not appreciably different at default sensitivity levels.

You're right, the limitations are code-based but all 10-year-old games that aren't flight sims have the same limitation because when games that old were written most people were still using serial ports for joysticks and drivers came on floppy disks. Without a ground-up rewrite, certain levels of functionality resembling more modern games are not an option with regards to joysticks.

While you have a very salient point with regards to it being different at certain setting levels that's rather like saying "the allegiance window is a different size when I don't run fullscreen and change my resolution to 640x480".

It sounds like what you want is polynomial stick calibration and you're making up for the lack of it by fiddling with start and end rates on linear and quadratic which is never going to give you a satisfying result because by design linear and quadratic settings behave differently under default settings. Going outside of that will give you disparate results proportionate to your distance from the default.

If you like, i can probably dig up the source file that handles this, but I'm not sure what good it would do you.
ImageImageImageImageImage
Image Omnia Mutantur, Nihil Interit.
Imago
Posts: 1440
Joined: Tue Sep 23, 2003 7:00 am
Location: Minneapolis, MN
Contact:

Post by Imago »

I've made a change to the source, in a major spot in the client, the limits the updates per second. His Vertical sync setting needs to be known.
Image

These bugs haven't been fixed yet because don't have any developers interested in fixing them up. --Tigereye
Imago's stupid-sensor is supersensitive. --RealPandemonium
The art is managing the flow of the drama to achieve the desired results. --Big_Beta_Tester
joeld wrote:But we’ve been amazed at the level to which some of the Allegiance fans have remained hard-core.
Imago
Posts: 1440
Joined: Tue Sep 23, 2003 7:00 am
Location: Minneapolis, MN
Contact:

Post by Imago »

Image

These bugs haven't been fixed yet because don't have any developers interested in fixing them up. --Tigereye
Imago's stupid-sensor is supersensitive. --RealPandemonium
The art is managing the flow of the drama to achieve the desired results. --Big_Beta_Tester
joeld wrote:But we’ve been amazed at the level to which some of the Allegiance fans have remained hard-core.
jbansk
Posts: 589
Joined: Fri Dec 11, 2009 8:57 pm

Post by jbansk »

Imago, I downloaded the "lite" version and will test it right now.

I've locked my graphics fps at 60 VSYNC. Using fraps, I'm recording at 60 fps too.

I'll let you know the results on the latest build. Thanks for looking at this, I was beginning to wonder if I'm losing my marbles. :)

UPDATE:

I tried the lite version Build 10.06.18 and got these results.

Default calibration of joystick (Raw axis value 512 in maximum deflection)

Quadratic Rate = 60 degrees per second, time to complete 360 degree turn 6:00, number fraps frames 361
Linear Rate = 60 degrees per second, time to complete 360 degree turn 6:00, number fraps frames 361

Calibration of joystick (Raw axis value Doubled to 1024 in maximum deflection)

Quadratic Rate = 11.900 degrees per second, time to complete 360 degree turn 30:15, number fraps frames 1815
Linear Rate = 26.799 degrees per second, time to complete 360 degree turn 13:26, number fraps frames 807

Because there is a difference in the resultant turn rate, we can conclude that the linear and quadratic lines are not scaling to the axis values dictated by calibration. Somehow the mice are not affected. Any sensitivity adjustment to mice still yeilds a maximum ship turn rate.

Thanks for your patience on this.


btw, Line 9789 in WinTrek.cpp (r526) has the wrong date. :)
Last edited by jbansk on Sun Jun 20, 2010 6:10 pm, edited 1 time in total.
[15:25] <BBT_> oh, so da vinci's mona lisa isn't his work?
[15:25] <+fuh-zz> No, he simply put effort into it.
[15:25] <BBT_> are you really that retarded?
finnbryant
Posts: 360
Joined: Sat Feb 17, 2007 11:18 am
Location: England

Post by finnbryant »

Hi, I think I have an explanation for this, it is correct behaviour.

From what's been said, I believe the way the joystick sensitivity is lowered is by lying about the max raw value produced by the joystick.

Allegiance will always place the max turn rate at the max raw value, further, the linear and quadratic systems intersect at this point (and their other intersection is always 0).

By lying about the max raw value, you change where the max turn rate occurs and therefore where the point of intersection is.

For example:

Normal sensitivity:


Lowered sensitivity:


(line is purple for first image cos red and blue are in same place)

So the real max raw value is 500, when windows knows this, the turn rates join up at the max point just fine, but when you lie about the max raw value, telling windows its 1000, then the turn rates join up at 1000, not 500, so when turning with linear you will see a greater turn rate than with quadratic.


This is not a bug. Really, you are just using a really crap way of reducing the sensitivity, not your fault of course, blame whoever didn't build in a better system into windows or allegiance.

You could ask for a better system to be added to alleg, but youll need to find someone willing to do the work.

EDIT: actually, its not that bad, you shouldnt really care if they line up or not, just use whichever system you prefer, and set the "sensitivity" however you want, and everything is fine. If you want max turn rate as well, perhaps you need a new control system? (polynomial control?) or a control system with a slider rather than just 2 options, allowing you to change the "bentness" of the curve. Again, you'd need to find someone willing to do it or do it yourself.
Last edited by finnbryant on Sun Jun 20, 2010 6:28 pm, edited 1 time in total.
jbansk
Posts: 589
Joined: Fri Dec 11, 2009 8:57 pm

Post by jbansk »

Scratchee,

You hit the nail right on the head.

The problem is that I want both the max turn rate and the proper quadratic curve for the given scale. By changing the scale (lying), I lose max rate and proper curve.

So, essentually anyone who alters their joystick sensitivity (axis values) does so at the loss of turn rate and proper linear / quadratic curves. I consider that a "bug" ;)

How do mice get around this problem?
Last edited by jbansk on Sun Jun 20, 2010 7:16 pm, edited 1 time in total.
[15:25] <BBT_> oh, so da vinci's mona lisa isn't his work?
[15:25] <+fuh-zz> No, he simply put effort into it.
[15:25] <BBT_> are you really that retarded?
finnbryant
Posts: 360
Joined: Sat Feb 17, 2007 11:18 am
Location: England

Post by finnbryant »

basically, you can have exactly that, part of a quadratic curve looks identical to the whole thing, except smaller, the only thing is that if you want the max turn rate to be a known quantity (e.g. half), you will have to experiment to find where half is (or look up the algorithm, i cant help there im afraid)

for example, if you want max turn rate = half, in my example it would probably be about 800-850.


I *could* be wrong here, but I'm pretty sure I'm not...
Last edited by finnbryant on Sun Jun 20, 2010 7:13 pm, edited 1 time in total.
jbansk
Posts: 589
Joined: Fri Dec 11, 2009 8:57 pm

Post by jbansk »

I see the only solution to this "problem" is to be able to alter the Quadratic curve. That would have the affect of both reducing the sensitivity while keeping the maximum ship turn rate.

I would be very interested to know if this affects the X52 users. Do they sacrifice ship turn rate when reducing sensitivity? Any X52 user want to test it?
Last edited by jbansk on Sun Jun 20, 2010 8:08 pm, edited 1 time in total.
[15:25] <BBT_> oh, so da vinci's mona lisa isn't his work?
[15:25] <+fuh-zz> No, he simply put effort into it.
[15:25] <BBT_> are you really that retarded?
Koln
Posts: 2769
Joined: Sun Mar 01, 2009 11:26 am
Location: Granada, Spain

Post by Koln »

jbansk wrote:QUOTE (jbansk @ Jun 20 2010, 05:17 PM) If it's so easy, tell me if the quadratic and linear formulas take into consideration a calibration which yields an axis scale which differs from a controllers default axis values.

I await your educated answer KOLN
You need someone who knows about joysticks to answer that question, not a mathematician.

Also I'd love to work on an answer but i'd rather study for my exams on Electromagnetism and quatum physics for next week.

Anyway seems like someone answered it already.
Image
Image ACS grad since 2nd Feb. 2010
Post Reply