Pages

Saturday, October 30, 2010

The Curse of Controllers

Yes, I did mean October 2010

In my last post I was optimistic about meeting the self-imposed deadline of October 31. At the time I was way ahead of schedule and things were going well. But one thing led to another and about a week later work got in the way – big time. At one point I was hopeful of catching up, but that just wasn’t to be. The good news is that my code is working well with libgdx and I’m more than happy that I made the decision to use it. The bad news is that I’ve been struggling with the controls.

The Problem with Controllers

To cut a long story short, in the last few days I’ve been trying to get to grips with the controls. I’ve been discovering that it’s one thing to have a game that can be easily controlled with keyboard and mouse, and quite another thing to make it controllable on a tiny touchscreen.

Here’s what the game looks like on my Nexus One. The two circular objects at the bottom left and top right of the screen are virtual joysticks. The one at the bottom left controls movement and the one at the top right controls firing. They might not look elegant, but they’re good enough to test out the controls.

device

When I play the browser version of Very Angry Robots, or the standalone PC version, I find it fairly easy to move around without hitting the walls. But I find it a struggle to control it on the phone, and all too often I’ll find myself bumping into a wall. It’s frustrating, leading me to think that either I could have implemented the controls a bit better, or that I’m going to have to make some sort of compromise such as stopping the walls from being deadly, or restricting the player’s movement to 4 directions only. For what it’s worth, my experience with other Android games has been similar. I recently bought Evac HD, from Hexage. It’s a cracking good game, but I still run into difficulty controlling it once in a while.

Help Wanted

To really test it, I need your help. If you have an Android phone running Android 2.1 or better then please download the controller test and let me know what you think. Can you control the character without bumping into the walls? Are you able to fire accurately? And more importantly, do you have any constructive advice as to what can be done to improve it? For example, should walls no longer be deadly? If you can also tell me what phone you are using that would be even better.

To download the controller test, click on this link, or scan the QR code below into your Android phone. Remember that it needs Android 2.1 or later, and you’ll need to change your settings to allow the installation of non-market applications.

Generated chart

4 comments:

  1. Tried it on a Nexus One with 2.2.1. Here're my comments:

    - Make the lower left control an analog control instead of some sort of a d-pad. That means that you move in all directions, not just 0°, 45°, 90° etc.
    - While you are at it, make the speed dependent on the distance from the control pads center. I found myself constantly crashing into walls due to being to fast.
    - The upper right controller should fire constantly if i have my finger down. Might want to balance that with your game play, e.g. chose a proper firing interval.
    - Apply point (1) to the upper right control pad as well.

    my 2 cents,
    Mario

    ReplyDelete
  2. Thanks Mario. I'd tried an analogue control and found it quite hard to use, but it was all or nothing because I hadn't thought to make the speed proportional to the distance from the centre. That's an excellent idea and I'll give it a try.

    The upper right controller is already analogue, but aiming is difficult, probably because I'm spending so much time concentrating on avoiding the walls! I like the idea of autofire - I think I'll do it.

    An alternative, suggested by my wife, is to use the accelerometer to control direction and touch the screen where you want to fire. That sounds plausible, but I guess it depends on the sensitivity of the accelerometer.

    Thanks for the advice. It's good to hear that it's not just me that keeps crashing into walls. I very much like your suggestion of the proportional controller and I'm going to give it a try.

    Ultimately, I suspect that the final game may have more than one control method.

    --- Rod

    ReplyDelete
  3. Here's a link to an improved version that applies Mario's comments. It's still a little rough and ready, but it's a heck of a lot easier to control.

    Oh, and I also threw in some particle effects.

    http://dl.dropbox.com/u/1930531/very_angry_robots/VeryAngryRobotsM1_1.apk

    ReplyDelete
  4. Works a lot better for me. Particles look awesome as well :)

    ReplyDelete