Dual Joysticks - Reliable?

PhoticsPhotics Member Posts: 4,172
edited November -1 in Working with GS (Mac)
I'm still battling with the controls in my iPhone game. It's not as smooth as I think it should be.

Here's one thing I noticed... if you use the joystick angle and set your actor to rotate that angle, it gets confused past 180 degrees. (Constrain to that angle works much better.)

The more problematic issue is that the controllers get stuck. On the iPhone, they don't respond to touch properly. Sometimes you'll touch them and they won't move. (And sometimes after that, they'll move if you hold the touch long enough for the game to pick it up.)

It's a catch-22. If I use the accelerometer, the movement is a little wonky. If I use the dual-joysticks, it doesn't always work. I was wondering if it was something I was doing wrong. I checked the five touches and I checked my joysticks. The settings seem right. Am I pushing GameSalad too hard? Is this because I have a moving background?

I'm frustrated now. I started out very excited about all the games I could make, but now I'm hitting issues I can't solve. I'm wondering if this is simply a performance / collision detection issue, that might be solved in a future version of GameSalad.

Comments

  • PhoticsPhotics Member Posts: 4,172
    Also... keeping track of five touch points is really tedious. Heh, but then I read about the iPad. Is this thing going to have 11 touch points? Why so many? I only have 10 fingers.

    http://www.businessinsider.com/ipad-games-are-going-to-be-crazy-awesome-2010-3

    While that might be great for some game ideas, wow, isn't it going to make it harder to make on-screen controllers with GameSalad?
  • quantumsheepquantumsheep Member Posts: 8,188
    You're thinking too selfishly! ;)

    11 is too many inputs for one person, sure. But imagine two player games where you might need four input controls for movement for each player, plus a fire button each, and suddenly you only have 1 touch left!

    You get the idea ;)

    Dr. Sam Beckett never returned home...
    Twitter: https://twitter.com/Quantum_Sheep
    Web: https://quantumsheep.itch.io

  • CodeMonkeyCodeMonkey Head Chef, Member, PRO Posts: 1,803
    @Photics,
    Where do the 5 touch actors reset their position to? Previous incarnations on my dual joystick template were resetting the positions of the touch# actors to a spot where they were accidentally getting hit by the controllers.

    @QS, That's the referee's touch button. He uses it to throw in the foosball ball. :p
  • PhoticsPhotics Member Posts: 4,172
    They're supposed to go to -100 for X & Y, but I don't think that's happening. I was wondering if I should use constrain attribute, instead of change attribute. Yet, wouldn't that hurt performance? I thought that adding 10 constrains (two for each touch point, and possibly 5 rules) would be bad.

    It does give me a good test idea. The touch points are set to invisible, but I should turn them on to see what's happening. When I did that last, the touch points weren't going back to where they were supposed to be. Maybe that's what's wrong.

    Quantumsheep... that's an interesting way to look at it... but are two people going to huddle around an iPad? That could make for an interesting game... but would it be popular enough? I imagine iPad users will be like rich people who read the Wall Street Journal and the New York Times. Is daddy going to share his new toy with his children?
  • PhoticsPhotics Member Posts: 4,172
    OK, I ran the test. Basically, it starts out great. But as the game goes on... and more and more enemies appear... and more and more touch points get involved as your fingers move... the controllers get messed up.

    For example, the number 1 showed on the turret controller, the number 2 showed on the thrust controller. Eventually a number 3 showed up. It was well behaved at first, but then it decided to stay on the screen. I touched the screen with more fingers to bring up additional touch points... yup... 3, 4 and 5 all stayed on the screen.

    When the touching stops, it's suppose to change the touch point to -100 for X & Y. The touch points often ignoring the Change Attribute part. I tried using a constrain instead, when the self joystick attribute was set to zero, but that rendered my controllers inoperable.

    Is this an iPhone hardware/software thing? Why does it need to respond to all five touch points? I only have two controllers, so the other three are just hogging resources.

    I was thinking of workarounds for this... like adding a timer, but then that might mess things up if the touch point is reactivated right away.

    So for now, it seems that on-screen joystick controls are not reliable. Maybe a future update will fix this. I think it's a performance issue.
Sign In or Register to comment.