Analog Stick State-of-the-World

efroemlingefroemling Posts: 45Member
Hey folks,
Just got my OUYA yesterday (an early backer edition) and wanted to inquire about the controller.
I've had no problems with lag or anything but the analog sticks are exhibiting some problems consistent with comments I've seen in other threads; namely they seem to have large independent dead-zones for both axes.  I can be holding straight right and then tilt up or down 10-20 degrees and the character continues to move straight right.
You can see the effect in the following video where I move my thumb in a slow circle using both the PS3 controller and the OUYA one.  In the PS3 case the character moves in a circle but the OUYA one winds up looking more like a slightly rounded square due to one or the other axis seeming to be in a dead-zone for a disproportionate amount of time.

Another effect I'm seeing is that analog values when the stick is held all the way to the edge are inconsistent and sometimes substantially smaller than other controllers.  The effect of this in my game is that an OUYA-controlled character gets outrun by one controlled by a PS3, XBox360, or Logitech controller, especially at certain diagonal angles.

...So OUYA folks, I'm curious if you can provide any info as to whether this situation has or will be changing in hardware or (hopefully) software before launch..  I can try to add band-aids to my game to compensate for things in their current state, but I don't want to do that if there'll be changes coming down the pipe.  Thanks for any info.
«13456

Comments

  • SpoonThumbSpoonThumb Posts: 422Member
    I've also noticed this. I've not tested it myself especially scientifically, but you should be able output the direction vector, then slowly rotating the stick around. If you get a whole bunch of values at (1,0) for example then suddenly find the values jump, that's a good sign the controller is snapping the input to the cardinal axes when they get close

  • vgambitvgambit Posts: 2Member
    Can you comment on the triggers as well? I've been working on a prototype that depends on reliable values from all analog sources, not just the sticks. 
  • efroemlingefroemling Posts: 45Member
    edited April 2013
    vgambit:  here's the stream of events I get from pressing a trigger in over the course of a second and then releasing it over the course of a second:
    For me there's a bit of jitter on the right trigger and values are a bit sparse between 0.7 and 1.0 but it looks reasonable overall:

    right trigger:
    V/BS      ( 1832): Time=4489529 Historical=no AXIS=18 Value=0.1662623
    V/BS      ( 1832): Time=4489546 Historical=no AXIS=18 Value=0.0
    V/BS      ( 1832): Time=4489563 Historical=no AXIS=18 Value=0.15991455
    V/BS      ( 1832): Time=4489581 Historical=no AXIS=18 Value=0.0
    V/BS      ( 1832): Time=4489596 Historical=no AXIS=18 Value=0.20959793
    V/BS      ( 1832): Time=4489613 Historical=no AXIS=18 Value=0.16064698
    V/BS      ( 1832): Time=4489630 Historical=1/1 AXIS=18 Value=0.20434882
    V/BS      ( 1832): Time=4489630 Historical=no AXIS=18 Value=0.2482948
    V/BS      ( 1832): Time=4489681 Historical=no AXIS=18 Value=0.2869917
    V/BS      ( 1832): Time=4489745 Historical=no AXIS=18 Value=0.34375525
    V/BS      ( 1832): Time=4489778 Historical=1/1 AXIS=18 Value=0.2755169
    V/BS      ( 1832): Time=4489779 Historical=no AXIS=18 Value=0.3328908
    V/BS      ( 1832): Time=4489812 Historical=1/1 AXIS=18 Value=0.29358357
    V/BS      ( 1832): Time=4489813 Historical=no AXIS=18 Value=0.33875027
    V/BS      ( 1832): Time=4489862 Historical=no AXIS=18 Value=0.3912413
    V/BS      ( 1832): Time=4489879 Historical=no AXIS=18 Value=0.3391165
    V/BS      ( 1832): Time=4489896 Historical=no AXIS=18 Value=0.38587016
    V/BS      ( 1832): Time=4489929 Historical=no AXIS=18 Value=0.43970397
    V/BS      ( 1832): Time=4489947 Historical=no AXIS=18 Value=0.37805754
    V/BS      ( 1832): Time=4489965 Historical=no AXIS=18 Value=0.417731
    V/BS      ( 1832): Time=4490012 Historical=no AXIS=18 Value=0.46350804
    V/BS      ( 1832): Time=4490029 Historical=no AXIS=18 Value=0.40601206
    V/BS      ( 1832): Time=4490079 Historical=no AXIS=18 Value=0.48462653
    V/BS      ( 1832): Time=4490095 Historical=no AXIS=18 Value=0.43176928
    V/BS      ( 1832): Time=4490112 Historical=no AXIS=18 Value=0.4754711
    V/BS      ( 1832): Time=4490145 Historical=no AXIS=18 Value=0.5211261
    V/BS      ( 1832): Time=4490163 Historical=no AXIS=18 Value=0.46839094
    V/BS      ( 1832): Time=4490179 Historical=no AXIS=18 Value=0.5174639
    V/BS      ( 1832): Time=4490212 Historical=no AXIS=18 Value=0.5659266
    V/BS      ( 1832): Time=4490262 Historical=no AXIS=18 Value=0.6145113
    V/BS      ( 1832): Time=4490295 Historical=1/1 AXIS=18 Value=0.56775767
    V/BS      ( 1832): Time=4490296 Historical=no AXIS=18 Value=0.6076753
    V/BS      ( 1832): Time=4490345 Historical=no AXIS=18 Value=0.6645609
    V/BS      ( 1832): Time=4490395 Historical=1/1 AXIS=18 Value=0.71131456
    V/BS      ( 1832): Time=4490396 Historical=no AXIS=18 Value=1.0
    V/BS      ( 1832): Time=4490413 Historical=no AXIS=18 Value=0.6563821
    V/BS      ( 1832): Time=4490430 Historical=1/1 AXIS=18 Value=0.703624
    V/BS      ( 1832): Time=4490430 Historical=no AXIS=18 Value=1.0
    V/BS      ( 1832): Time=4490463 Historical=no AXIS=18 Value=0.7076524
    V/BS      ( 1832): Time=4490479 Historical=no AXIS=18 Value=1.0
    V/BS      ( 1832): Time=4490495 Historical=no AXIS=18 Value=0.717052
    V/BS      ( 1832): Time=4490528 Historical=1/1 AXIS=18 Value=1.0
    V/BS      ( 1832): Time=4490529 Historical=no AXIS=18 Value=0.70472264
    V/BS      ( 1832): Time=4490546 Historical=no AXIS=18 Value=1.0
    V/BS      ( 1832): Time=4492197 Historical=no AXIS=18 Value=0.6743267
    V/BS      ( 1832): Time=4492216 Historical=no AXIS=18 Value=0.6215915
    V/BS      ( 1832): Time=4492297 Historical=no AXIS=18 Value=0.56092167
    V/BS      ( 1832): Time=4492364 Historical=no AXIS=18 Value=0.47803465
    V/BS      ( 1832): Time=4492431 Historical=no AXIS=18 Value=0.4229801
    V/BS      ( 1832): Time=4492466 Historical=no AXIS=18 Value=0.46509498
    V/BS      ( 1832): Time=4492496 Historical=no AXIS=18 Value=0.37915617
    V/BS      ( 1832): Time=4492516 Historical=no AXIS=18 Value=0.3391165
    V/BS      ( 1832): Time=4492579 Historical=no AXIS=18 Value=0.26037994
    V/BS      ( 1832): Time=4492648 Historical=no AXIS=18 Value=0.20361638
    V/BS      ( 1832): Time=4492682 Historical=no AXIS=18 Value=0.26746014
    V/BS      ( 1832): Time=4492698 Historical=no AXIS=18 Value=0.21448082
    V/BS      ( 1832): Time=4492714 Historical=no AXIS=18 Value=0.0

    left trigger:
    V/BS      ( 1832): Time=4522664 Historical=no AXIS=17 Value=0.18420692
    V/BS      ( 1832): Time=4522680 Historical=no AXIS=17 Value=0.25830472
    V/BS      ( 1832): Time=4522715 Historical=no AXIS=17 Value=0.3668269
    V/BS      ( 1832): Time=4522747 Historical=no AXIS=17 Value=0.31970704
    V/BS      ( 1832): Time=4522763 Historical=no AXIS=17 Value=0.3847715
    V/BS      ( 1832): Time=4522800 Historical=1/1 AXIS=17 Value=0.34619668
    V/BS      ( 1832): Time=4522802 Historical=no AXIS=17 Value=0.399176
    V/BS      ( 1832): Time=4522817 Historical=1/1 AXIS=17 Value=0.34363317
    V/BS      ( 1832): Time=4522817 Historical=no AXIS=17 Value=0.39331654
    V/BS      ( 1832): Time=4522867 Historical=1/1 AXIS=17 Value=0.3544976
    V/BS      ( 1832): Time=4522868 Historical=no AXIS=17 Value=0.39380485
    V/BS      ( 1832): Time=4522897 Historical=no AXIS=17 Value=0.3470512
    V/BS      ( 1832): Time=4522931 Historical=no AXIS=17 Value=0.4378729
    V/BS      ( 1832): Time=4522964 Historical=no AXIS=17 Value=0.3961242
    V/BS      ( 1832): Time=4522997 Historical=no AXIS=17 Value=0.441413
    V/BS      ( 1832): Time=4523063 Historical=no AXIS=17 Value=0.49280536
    V/BS      ( 1832): Time=4523114 Historical=no AXIS=17 Value=0.5686122
    V/BS      ( 1832): Time=4523183 Historical=no AXIS=17 Value=0.51612115
    V/BS      ( 1832): Time=4523217 Historical=no AXIS=17 Value=0.59497976
    V/BS      ( 1832): Time=4523264 Historical=no AXIS=17 Value=0.654551
    V/BS      ( 1832): Time=4523348 Historical=1/1 AXIS=17 Value=0.6914168
    V/BS      ( 1832): Time=4523349 Historical=no AXIS=17 Value=0.6507668
    V/BS      ( 1832): Time=4523379 Historical=no AXIS=17 Value=0.69788665
    V/BS      ( 1832): Time=4523414 Historical=no AXIS=17 Value=0.7387808
    V/BS      ( 1832): Time=4523430 Historical=no AXIS=17 Value=0.6931258
    V/BS      ( 1832): Time=4523447 Historical=no AXIS=17 Value=0.7658808
    V/BS      ( 1832): Time=4523499 Historical=no AXIS=17 Value=0.808484
    V/BS      ( 1832): Time=4523547 Historical=no AXIS=17 Value=0.84473944
    V/BS      ( 1832): Time=4523581 Historical=no AXIS=17 Value=0.7943236
    V/BS      ( 1832): Time=4523615 Historical=no AXIS=17 Value=0.8330205
    V/BS      ( 1832): Time=4523647 Historical=no AXIS=17 Value=1.0
    V/BS      ( 1832): Time=4523666 Historical=no AXIS=17 Value=0.84217596
    V/BS      ( 1832): Time=4523681 Historical=no AXIS=17 Value=1.0
    V/BS      ( 1832): Time=4525265 Historical=no AXIS=17 Value=0.86720073
    V/BS      ( 1832): Time=4525280 Historical=no AXIS=17 Value=0.7931029
    V/BS      ( 1832): Time=4525313 Historical=no AXIS=17 Value=0.835462
    V/BS      ( 1832): Time=4525328 Historical=no AXIS=17 Value=0.7789425
    V/BS      ( 1832): Time=4525533 Historical=no AXIS=17 Value=0.7332876
    V/BS      ( 1832): Time=4525596 Historical=no AXIS=17 Value=0.6633402
    V/BS      ( 1832): Time=4525630 Historical=no AXIS=17 Value=0.70215917
    V/BS      ( 1832): Time=4525682 Historical=no AXIS=17 Value=0.6634623
    V/BS      ( 1832): Time=4525696 Historical=no AXIS=17 Value=0.619028
    V/BS      ( 1832): Time=4525702 Historical=no AXIS=17 Value=0.5680018
    V/BS      ( 1832): Time=4525715 Historical=no AXIS=17 Value=0.60608834
    V/BS      ( 1832): Time=4525765 Historical=no AXIS=17 Value=0.5616541
    V/BS      ( 1832): Time=4525798 Historical=no AXIS=17 Value=0.62183565
    V/BS      ( 1832): Time=4525864 Historical=no AXIS=17 Value=0.5667811
    V/BS      ( 1832): Time=4525915 Historical=no AXIS=17 Value=0.51734185
    V/BS      ( 1832): Time=4525948 Historical=no AXIS=17 Value=0.4602121
    V/BS      ( 1832): Time=4525980 Historical=no AXIS=17 Value=0.5218586
    V/BS      ( 1832): Time=4526030 Historical=no AXIS=17 Value=0.45154497
    V/BS      ( 1832): Time=4526082 Historical=no AXIS=17 Value=0.4094301
    V/BS      ( 1832): Time=4526113 Historical=no AXIS=17 Value=0.36218813
    V/BS      ( 1832): Time=4526149 Historical=no AXIS=17 Value=0.40222782
    V/BS      ( 1832): Time=4526181 Historical=no AXIS=17 Value=0.33765164
    V/BS      ( 1832): Time=4526215 Historical=no AXIS=17 Value=0.39942014
    V/BS      ( 1832): Time=4526247 Historical=no AXIS=17 Value=0.35999084
    V/BS      ( 1832): Time=4526347 Historical=no AXIS=17 Value=0.31189442
    V/BS      ( 1832): Time=4526399 Historical=no AXIS=17 Value=0.25610742
    V/BS      ( 1832): Time=4526435 Historical=no AXIS=17 Value=0.3031052
    V/BS      ( 1832): Time=4526450 Historical=1/1 AXIS=17 Value=0.25012589
    V/BS      ( 1832): Time=4526450 Historical=no AXIS=17 Value=0.30347142
    V/BS      ( 1832): Time=4526464 Historical=no AXIS=17 Value=0.23584345
    V/BS      ( 1832): Time=4526482 Historical=no AXIS=17 Value=0.2758831
    V/BS      ( 1832): Time=4526547 Historical=no AXIS=17 Value=0.20910963
    V/BS      ( 1832): Time=4526582 Historical=no AXIS=17 Value=0.0

    Post edited by efroemling on
  • efroemlingefroemling Posts: 45Member
    edited April 2013
    To put some numbers behind my 2 problems from above:

    Here is the event stream I get for an analog stick when starting from neutral, moving it fully left over the course of a second, moving it fully right over the course of a second, and then back to neutral over the course of a second.

    You can see from the data the giant dead-zone from about -0.3 to 0.3.
    Almost more problematic is that when held to the the right, the left stick maxes out at 0.78 instead of 1.0

    I'm also seeing random events come in sometimes when the controller is sitting untouched:
    V/BS      ( 1832): Time=3006097 Historical=1/1 AXIS=0 Value=-1.0
    V/BS      ( 1832): Time=3006098 Historical=no AXIS=0 Value=0.058823586
    V/BS      ( 1832): Time=3006099 Historical=1/1 AXIS=11 Value=-1.0
    V/BS      ( 1832): Time=3006099 Historical=no AXIS=11 Value=-0.019607782

    Just hoping to raise the alarm being as this is a backer unit; not a dev console...  I don't even mind if I've got an early wonky controller or whatever; just hoping this has been or will be addressed for the real launch, as this has a huge perceptual affect on gameplay at the moment. Let me know if I can provide more info.

    OUYA left analog LR axis
    V/BS      ( 1832): Time=2892579 Historical=no AXIS=0 Value=-0.28230715 <- neutral to left
    V/BS      ( 1832): Time=2892763 Historical=no AXIS=0 Value=-0.3610437
    V/BS      ( 1832): Time=2893031 Historical=no AXIS=0 Value=-0.44625008
    V/BS      ( 1832): Time=2893179 Historical=no AXIS=0 Value=-0.6982376
    V/BS      ( 1832): Time=2893250 Historical=no AXIS=0 Value=-0.7794461
    V/BS      ( 1832): Time=2893363 Historical=no AXIS=0 Value=-0.8589151
    V/BS      ( 1832): Time=2893383 Historical=no AXIS=0 Value=-1.0
    V/BS      ( 1832): Time=2893395 Historical=no AXIS=0 Value=-0.8741436
    V/BS      ( 1832): Time=2893413 Historical=no AXIS=0 Value=-1.0
    V/BS      ( 1832): Time=2893462 Historical=no AXIS=0 Value=-0.87478447
    V/BS      ( 1832): Time=2893481 Historical=no AXIS=0 Value=-1.0
    V/BS      ( 1832): Time=2893747 Historical=1/1 AXIS=0 Value=-0.87438774
    V/BS      ( 1832): Time=2893748 Historical=no AXIS=0 Value=-1.0
    V/BS      ( 1832): Time=2894063 Historical=1/1 AXIS=0 Value=-0.87405205
    V/BS      ( 1832): Time=2894063 Historical=no AXIS=0 Value=-1.0
    V/BS      ( 1832): Time=2894195 Historical=no AXIS=0 Value=-0.81994355  <- from left to right
    V/BS      ( 1832): Time=2894295 Historical=no AXIS=0 Value=-0.7053788
    V/BS      ( 1832): Time=2894328 Historical=1/1 AXIS=0 Value=-0.4806134
    V/BS      ( 1832): Time=2894331 Historical=no AXIS=0 Value=-0.69140154
    V/BS      ( 1832): Time=2894362 Historical=no AXIS=0 Value=-0.4944381
    V/BS      ( 1832): Time=2894445 Historical=no AXIS=0 Value=-0.41084915
    V/BS      ( 1832): Time=2894562 Historical=no AXIS=0 Value=-0.31374073
    V/BS      ( 1832): Time=2894746 Historical=no AXIS=0 Value=-1.5258789E-5
    V/BS      ( 1832): Time=2895445 Historical=no AXIS=0 Value=0.3057145
    V/BS      ( 1832): Time=2895712 Historical=no AXIS=0 Value=0.3954376
    V/BS      ( 1832): Time=2895879 Historical=no AXIS=0 Value=0.47682917
    V/BS      ( 1832): Time=2895928 Historical=no AXIS=0 Value=0.7095598
    V/BS      ( 1832): Time=2896029 Historical=no AXIS=0 Value=0.78414583
    V/BS      ( 1832): Time=2897495 Historical=no AXIS=0 Value=0.70653844 <- from right to neutral
    V/BS      ( 1832): Time=2897513 Historical=no AXIS=0 Value=0.481529
    V/BS      ( 1832): Time=2897662 Historical=no AXIS=0 Value=0.40578318
    V/BS      ( 1832): Time=2897829 Historical=no AXIS=0 Value=0.30559242
    V/BS      ( 1832): Time=2897963 Historical=no AXIS=0 Value=-1.5258789E-5

    OUYA right analog LR axis:
    V/BS      ( 1832): Time=3374664 Historical=no AXIS=11 Value=-0.26576638  <- from neutral to left
    V/BS      ( 1832): Time=3374733 Historical=no AXIS=11 Value=-0.36153203
    V/BS      ( 1832): Time=3374965 Historical=no AXIS=11 Value=-0.40914017
    V/BS      ( 1832): Time=3374998 Historical=no AXIS=11 Value=-0.45644313
    V/BS      ( 1832): Time=3375151 Historical=no AXIS=11 Value=-0.79555964
    V/BS      ( 1832): Time=3375298 Historical=no AXIS=11 Value=-1.0
    V/BS      ( 1832): Time=3376246 Historical=no AXIS=11 Value=-0.85513085  <- from left to right
    V/BS      ( 1832): Time=3376316 Historical=1/1 AXIS=11 Value=-0.49681848
    V/BS      ( 1832): Time=3376318 Historical=no AXIS=11 Value=-0.802945
    V/BS      ( 1832): Time=3376330 Historical=no AXIS=11 Value=-0.49791712
    V/BS      ( 1832): Time=3376448 Historical=no AXIS=11 Value=-0.41478598
    V/BS      ( 1832): Time=3376564 Historical=no AXIS=11 Value=-0.3393759
    V/BS      ( 1832): Time=3376714 Historical=no AXIS=11 Value=-1.5258789E-5
    V/BS      ( 1832): Time=3377448 Historical=no AXIS=11 Value=0.28731215
    V/BS      ( 1832): Time=3377697 Historical=no AXIS=11 Value=0.36076903
    V/BS      ( 1832): Time=3377948 Historical=no AXIS=11 Value=0.44173348
    V/BS      ( 1832): Time=3378049 Historical=no AXIS=11 Value=0.81005573
    V/BS      ( 1832): Time=3378164 Historical=no AXIS=11 Value=1.0
    V/BS      ( 1832): Time=3379296 Historical=no AXIS=11 Value=0.8660563   <- from right to neutral
    V/BS      ( 1832): Time=3379365 Historical=no AXIS=11 Value=0.49077594
    V/BS      ( 1832): Time=3379497 Historical=no AXIS=11 Value=0.4125582
    V/BS      ( 1832): Time=3379614 Historical=no AXIS=11 Value=0.32011902
    V/BS      ( 1832): Time=3379814 Historical=no AXIS=11 Value=-1.5258789E-5

    for comparison, an XBox360 left analog LR axis:
    V/BS      ( 1832): Time=3733096 Historical=no AXIS=0 Value=-0.16292058  <- from neutral to left
    V/BS      ( 1832): Time=3733162 Historical=no AXIS=0 Value=-0.19722286
    V/BS      ( 1832): Time=3733197 Historical=no AXIS=0 Value=-0.23494317
    V/BS      ( 1832): Time=3733363 Historical=no AXIS=0 Value=-0.31041428
    V/BS      ( 1832): Time=3733414 Historical=no AXIS=0 Value=-0.35500115
    V/BS      ( 1832): Time=3733432 Historical=no AXIS=0 Value=-0.38930342
    V/BS      ( 1832): Time=3733463 Historical=no AXIS=0 Value=-0.42705426
    V/BS      ( 1832): Time=3733496 Historical=no AXIS=0 Value=-0.46135652
    V/BS      ( 1832): Time=3733532 Historical=no AXIS=0 Value=-0.5059434
    V/BS      ( 1832): Time=3733565 Historical=no AXIS=0 Value=-0.5505608
    V/BS      ( 1832): Time=3733579 Historical=no AXIS=0 Value=-0.5951476
    V/BS      ( 1832): Time=3733647 Historical=no AXIS=0 Value=-0.6363165
    V/BS      ( 1832): Time=3733747 Historical=no AXIS=0 Value=-0.6809033
    V/BS      ( 1832): Time=3733767 Historical=no AXIS=0 Value=-0.7220722
    V/BS      ( 1832): Time=3733815 Historical=no AXIS=0 Value=-0.763241
    V/BS      ( 1832): Time=3733831 Historical=no AXIS=0 Value=-0.8009613
    V/BS      ( 1832): Time=3733897 Historical=no AXIS=0 Value=-0.8695659
    V/BS      ( 1832): Time=3733950 Historical=no AXIS=0 Value=-0.9073167
    V/BS      ( 1832): Time=3733980 Historical=1/1 AXIS=0 Value=-0.94848555
    V/BS      ( 1832): Time=3733981 Historical=no AXIS=0 Value=-0.97250324
    V/BS      ( 1832): Time=3733996 Historical=no AXIS=0 Value=-0.9964904
    V/BS      ( 1832): Time=3734015 Historical=no AXIS=0 Value=-1.0
    V/BS      ( 1832): Time=3734882 Historical=1/1 AXIS=0 Value=-0.9519036   <- from left to right
    V/BS      ( 1832): Time=3734882 Historical=no AXIS=0 Value=-0.9176013
    V/BS      ( 1832): Time=3734897 Historical=no AXIS=0 Value=-0.8695659
    V/BS      ( 1832): Time=3734950 Historical=no AXIS=0 Value=-0.8352636
    V/BS      ( 1832): Time=3735014 Historical=no AXIS=0 Value=-0.79409474
    V/BS      ( 1832): Time=3735063 Historical=no AXIS=0 Value=-0.7152056
    V/BS      ( 1832): Time=3735082 Historical=no AXIS=0 Value=-0.6568856
    V/BS      ( 1832): Time=3735098 Historical=1/1 AXIS=0 Value=-0.59169906
    V/BS      ( 1832): Time=3735099 Historical=no AXIS=0 Value=-0.5539788
    V/BS      ( 1832): Time=3735113 Historical=no AXIS=0 Value=-0.51280993
    V/BS      ( 1832): Time=3735147 Historical=no AXIS=0 Value=-0.4716411
    V/BS      ( 1832): Time=3735199 Historical=no AXIS=0 Value=-0.42705426
    V/BS      ( 1832): Time=3735213 Historical=no AXIS=0 Value=-0.38930342
    V/BS      ( 1832): Time=3735232 Historical=no AXIS=0 Value=-0.33101395
    V/BS      ( 1832): Time=3735247 Historical=no AXIS=0 Value=-0.28297856
    V/BS      ( 1832): Time=3735265 Historical=1/1 AXIS=0 Value=-0.23152514
    V/BS      ( 1832): Time=3735265 Historical=no AXIS=0 Value=-0.18007171
    V/BS      ( 1832): Time=3735296 Historical=no AXIS=0 Value=-0.13545434
    V/BS      ( 1832): Time=3735329 Historical=no AXIS=0 Value=-0.090867475
    V/BS      ( 1832): Time=3735365 Historical=no AXIS=0 Value=-0.053147174
    V/BS      ( 1832): Time=3735399 Historical=1/1 AXIS=0 Value=-0.025680933
    V/BS      ( 1832): Time=3735400 Historical=no AXIS=0 Value=-0.0051117726
    V/BS      ( 1832): Time=3735431 Historical=no AXIS=0 Value=0.04292363
    V/BS      ( 1832): Time=3735497 Historical=no AXIS=0 Value=0.08409247
    V/BS      ( 1832): Time=3735564 Historical=no AXIS=0 Value=0.11839475
    V/BS      ( 1832): Time=3735631 Historical=no AXIS=0 Value=0.15956359
    V/BS      ( 1832): Time=3735646 Historical=no AXIS=0 Value=0.1972839
    V/BS      ( 1832): Time=3735665 Historical=no AXIS=0 Value=0.27275503
    V/BS      ( 1832): Time=3735693 Historical=no AXIS=0 Value=0.334493
    V/BS      ( 1832): Time=3735717 Historical=1/1 AXIS=0 Value=0.37224385
    V/BS      ( 1832): Time=3735718 Historical=no AXIS=0 Value=0.4408484
    V/BS      ( 1832): Time=3735880 Historical=no AXIS=0 Value=0.4888838
    V/BS      ( 1832): Time=3735914 Historical=no AXIS=0 Value=0.5334707
    V/BS      ( 1832): Time=3735981 Historical=no AXIS=0 Value=0.5677729
    V/BS      ( 1832): Time=3736063 Historical=no AXIS=0 Value=0.6020752
    V/BS      ( 1832): Time=3736098 Historical=no AXIS=0 Value=0.6466621
    V/BS      ( 1832): Time=3736134 Historical=no AXIS=0 Value=0.6878309
    V/BS      ( 1832): Time=3736146 Historical=no AXIS=0 Value=0.73241776
    V/BS      ( 1832): Time=3736180 Historical=no AXIS=0 Value=0.7701686
    V/BS      ( 1832): Time=3736214 Historical=no AXIS=0 Value=0.8147555
    V/BS      ( 1832): Time=3736247 Historical=no AXIS=0 Value=0.8559243
    V/BS      ( 1832): Time=3736265 Historical=no AXIS=0 Value=0.9073777
    V/BS      ( 1832): Time=3736281 Historical=no AXIS=0 Value=0.9622797
    V/BS      ( 1832): Time=3736298 Historical=1/1 AXIS=0 Value=0.9759823
    V/BS      ( 1832): Time=3736299 Historical=no AXIS=0 Value=1.0
    V/BS      ( 1832): Time=3737282 Historical=1/1 AXIS=0 Value=0.9656977  <- from right to neutral
    V/BS      ( 1832): Time=3737315 Historical=no AXIS=0 Value=0.9073777
    V/BS      ( 1832): Time=3737329 Historical=no AXIS=0 Value=0.8627909
    V/BS      ( 1832): Time=3737381 Historical=no AXIS=0 Value=0.821622
    V/BS      ( 1832): Time=3737397 Historical=no AXIS=0 Value=0.7873198
    V/BS      ( 1832): Time=3737415 Historical=no AXIS=0 Value=0.73928434
    V/BS      ( 1832): Time=3737463 Historical=no AXIS=0 Value=0.7015641
    V/BS      ( 1832): Time=3737480 Historical=no AXIS=0 Value=0.6603952
    V/BS      ( 1832): Time=3737530 Historical=no AXIS=0 Value=0.6089418
    V/BS      ( 1832): Time=3737548 Historical=no AXIS=0 Value=0.5677729
    V/BS      ( 1832): Time=3737579 Historical=no AXIS=0 Value=0.5163195
    V/BS      ( 1832): Time=3737616 Historical=no AXIS=0 Value=0.47515067
    V/BS      ( 1832): Time=3737664 Historical=no AXIS=0 Value=0.4134127
    V/BS      ( 1832): Time=3737681 Historical=no AXIS=0 Value=0.3791104
    V/BS      ( 1832): Time=3737747 Historical=no AXIS=0 Value=0.29677272
    V/BS      ( 1832): Time=3737763 Historical=no AXIS=0 Value=0.23845273
    V/BS      ( 1832): Time=3737799 Historical=no AXIS=0 Value=0.1972839
    V/BS      ( 1832): Time=3737847 Historical=no AXIS=0 Value=0.15956359
    V/BS      ( 1832): Time=3737999 Historical=no AXIS=0 Value=0.11839475
    V/BS      ( 1832): Time=3738047 Historical=no AXIS=0 Value=0.08409247
    V/BS      ( 1832): Time=3738114 Historical=no AXIS=0 Value=0.04979019


    Post edited by efroemling on
  • SpoonThumbSpoonThumb Posts: 422Member
    edited April 2013
    Ah, ok, what I was more getting at was if you push the analogue stick all the way to one side, then rotate it around 360 degrees (like you show on the video)

    If you do this and take the angle between the vector produced by the x/y values the analogue stick returns and the vector (0,0), then the graph of the angles should look like this:

    image

    but it apparently looks like this:

    image

    Or to put it another way, if you draw a line for the 2D vector produced by the stick rotation after every tick, whilst slowly rotating it, it'd look something like this:

    image

    Now, I've not had time to test this but when I was testing my game a couple of months ago, and I was testing my stick movement, I plotted the vectors the sticks were producing as lines and got something looking like the image above.

    It would also explain why your OUYA controller makes your player walk in a square shape with rounded corners, rather than in a circle

    Post edited by SpoonThumb on
  • efroemlingefroemling Posts: 45Member
    edited April 2013
    Yeah I think both of our data-sets line up, with the white missing areas in your bottom figure lining up with the -0.3..0.3 axial dead zones I'm seeing.

    As an update to my second issue (analog joystick magnitudes maxing out significantly less than 1 at some angles) I've been able to somewhat work around this by keeping a fuzzy list of max magnitudes the hardware is returning indexed by angle (atan2(xmag,ymag) bucketed into 10 degree increments or so) and normalizing values against that..  It's not perfect but at least my character can walk at full speed in all directions again.

    Post edited by efroemling on
  • vgambitvgambit Posts: 2Member
    efroemling, thanks. Are you able to run those tests again with an Xbox 360 controller?
  • bluecollarartbluecollarart Posts: 75Member
    Wow, great work guys. This seems like a very serious problem - I hope some other devs can chime in with their findings, it's important to know whether this problem is consistent across all controllers, or whether the problem is slightly different from pad to pad. If it's consistent, at least you can use efroemling's max magnitude fix for that specific issue.
  • Killa_MaakiKilla_Maaki Posts: 504Member
    About these issues.... I heard on the recent AMA from OUYA that this issue was due to a manufacturing error (apparently there was glue seeping out and screwing up the potentiometers). Apparently this has been fixed now.
    You didn't remember the plot of the Doctor Who movie because there was none; Just a bunch of plot holes strung together.
  • DreamwriterDreamwriter Posts: 768Member

    Well, someone who just got theirs complains about it:  http://www.zeitscribe.net/2013/05/ouya-awesome-mediocre-sucks-and.html

    "I already mentioned this when I talked about the analog sticks. Physically they feel nice but in-game there's something wrong in all the games I've tried. They don't actually seem to be analog sticks but 8 direction arrow keys instead. Playing a game with the analog sticks feels close to PC gaming with arrow keys.

    This becomes very apparent when playing games where you control a space ship, tank or whatever from a top-down perspective. While on other consoles you've got used to a nearly infinite directions you can choose.

     I really hope that this isn't a hardware issue and the games simply have not implemented this correctly."

  • efroemlingefroemling Posts: 45Member
    edited May 2013
    Ok here's an interesting update:

    I wanted to visualize the analog stick readings so I made a quick modified version of the ApiDemos app to do so.. you can grab it here if you want to try your own controller.

    It simply plots analog readings as dots so you can wag the stick around to 'paint' the extents.

    Here's an XBox360 controller:
    image

    Looks pretty much like you'd expect.

    Here's a PS3 controller:
    image

    Looks good too.  interestingly the coordinates map to a square instead of a circle even though both controllers have a circular range of motion.

    ...and here's the OUYA controller:
    image

    w.  t.   f.

    Here you can see exactly where the problems I was describing above stem from.
    There's the big dead zones around the axes and the values on the edges rarely reach 1.0.  (you can see at 45 degree angles you're gonna get about 0.6-0.7 magnitude max).  What I didn't notice before was the strange grid pattern.  The analog stick actually seems relatively accurate within each 'cell' of the grid; it's just the fact that there's gigantic empty strips between all of them that's problematic.

    Can anyone else give my test app a whirl and confirm or deny that you're seeing the same kind of readings on your OUYA?   Or can any OUYA folks comment on what might be causing this?  Does this look like a symptom of the aforementioned glue leakage, or did someone get some math wrong somewhere?
    Post edited by efroemling on
  • Killa_MaakiKilla_Maaki Posts: 504Member
    [snip]
    Is that on the newer retail models or on the dev kit? The dev kit of course still suffers from the issue.

    I'm not sure if this is *exactly* the same case, but they said this specifically:

    "The sticky directional stick was a result of some glue seeping out during manufacturing -- found it and fixed immediately."

    So it sounds like the same thing to me - that the thumbstick tends to 'stick' along certain directions, and if I'm right it should be fixed in the final retail model.
    You didn't remember the plot of the Doctor Who movie because there was none; Just a bunch of plot holes strung together.
  • efroemlingefroemling Posts: 45Member
    edited May 2013
    Is that on the newer retail models or on the dev kit? The dev kit of course still suffers from the issue.


    This is a backer unit; not a dev kit.   Hopefully this is the glue issue.  Just making a ruckus so folks are aware in case it isn't.
    Post edited by efroemling on
  • SpoonThumbSpoonThumb Posts: 422Member
    edited May 2013
    OUYA Devkit controller on Devkit console:

    image

    PS3 controller on Devkit console:

    image


    Edit: This definitely is not a "glue" problem, as my devkit controller analogue sticks have never been sticky or had a problem with their movement. Could be anything from the circuit board under the stick not picking things up correctly, to a bug in the maths causing things to go wrong in the controller API, to anything in between

    Post edited by SpoonThumb on
  • ParadigmSWParadigmSW Posts: 9Member
    That's disappointing to be sure.

    On the other hand I'd guess it's to do with the way the OUYA OS handles the information from the internal potentiometers, instead of a hardware problem (no component I can think of produces patterns like that, which leads me to believe the software is treating groups of values as discrete on purpose).
  • sanzengsanzeng Posts: 13Member
    This is maybe a driver issue of OUYA controller .

    OUYA's system programmer should read this article.

    http://www.third-helix.com/2013/04/doing-thumbstick-dead-zones-right/

  • DreamwriterDreamwriter Posts: 768Member
    That article isnt really related to this problem at all...
  • sanzengsanzeng Posts: 13Member
    How about connecting OUYA controller to PC?
    Is it same result?
  • PeasantDavePeasantDave Posts: 17Member
    @efroemling Do you have one of the March 28 "release party" controllers or an actual backer controller? It's been implied that something was fixed in early April (thus causing the shipping delay).
    Ouya game postponed... but I did release a tabletop RPG! LightWeightRPG.com
  • stolkstolk Posts: 119Member
    About these issues.... I heard on the recent AMA from OUYA that this issue was due to a manufacturing error (apparently there was glue seeping out and screwing up the potentiometers). Apparently this has been fixed now.
    Glue seeping into potentiometers would cause a more random behaviour, and not the exhibited preference for 90,180,270,0 angles. This seems to be a sw or firmware thing where snapping is done where it should not have been done.
  • stolkstolk Posts: 119Member
    Ok here's an interesting update:
    ...
    Wow... excellent investigative work, efroemling.
    Also quite startling to see the difference between 360 and ps3.
    360 maps to circle, ps3 to almost a square.

    The devkit controllers are definitely dreadful.
    Not just in absolute readings, but also in jumping about with extreme jitter for no apparent reason.
    QA dropped the ball on this one big time.
    Maybe this is the real reason for the june launch delay?
  • efroemlingefroemling Posts: 45Member
    @efroemling Do you have one of the March 28 "release party" controllers or an actual backer controller? It's been implied that something was fixed in early April (thus causing the shipping delay).
    I'm not positive as I snagged mine on ebay in mid-april.  Is there any way I can tell by looking at the hardware?  Also is there anyone who's recently received theirs who can run the test to see if things have improved?  It would be great if this is fixable via a firmware update or something..
  • Killa_MaakiKilla_Maaki Posts: 504Member
    Looking at the plot.. bad hardware, especially what's being used (potentiometers) shouldn't cause such a well-defined grid of lost values (I'd expect it to look more random and jittery).
    Looks here like it's probably screwed up math when reading the stick values, so fingers crossed this should be fixable with a firmware update.
    Please, can anyone from the OUYA dev team chime in on this?
    You didn't remember the plot of the Doctor Who movie because there was none; Just a bunch of plot holes strung together.
  • stolkstolk Posts: 119Member
    edited May 2013
    Here's my plot (devkit device, from $800 pre-orders),
    What strikes me is that only once I was able to hit an extreme (what looks like (1,1) or (1,-1) not sure if up is pos or neg.)

    image
    Post edited by stolk on
  • sanzengsanzeng Posts: 13Member
    It must be an firmware (software) issue.
    But, If the firmware is in the EEPROM inside the controller, it may be difficult to fix by network update.
  • sanzengsanzeng Posts: 13Member
    Killa_Maaki said:
    Please, can anyone from the OUYA dev team chime in on this?

    I have sent a report of this thread to official support of OUYA.
  • DreamwriterDreamwriter Posts: 768Member
    So did I since this directly affects my game - twin stick shooter without true 360 degree controls = :(
  • bmfrostybmfrosty Posts: 6Member
    I'm not positive as I snagged mine on ebay in mid-april.  Is there any way I can tell by looking at the hardware?  Also is there anyone who's recently received theirs who can run the test to see if things have improved?  It would be great if this is fixable via a firmware update or something..
    Mine should arrive soon - I have a tracking number, but no tracking updates.  I'll give this a try once I have a unit in hand.  Hopefully soon.  Hopefully this is something that can be fixed with a semi-easy firmware update.
  • AdmanAdman Posts: 37Member
    I'm only chiming in to add anecdotal evidence that I've seen this behavior as well.

    My game uses the left analog stick to walk around, and it's pretty important that the characters be able to walk in specific angles and straight lines.  The Ouya controller really doesn't feel like it accepts all angles of input, but "locks on" to specific angles.

    My experience matches with what the pictures seem to indicate.
  • OrikuOriku Posts: 263Member
    I got trigger happy and made a new thread.

    Here's the left analog stick of my dev controller:
    image

    Here's the left analog stick of the retail:
    image
Sign In or Register to comment.