Keyboard woes

My main takeaway from this Alpha, and my biggest challenge with DarkMaus development right now, is how to fix my keyboard controls.  I have the player facing the cursor, with WASD moving relative to the cursor, and the camera with a generally fixed orientation.  When the player is facing up-ish on the screen this works pretty well, you can effortlessly run in any direction (aim + W) or strafe around an enemy (aim + A or D).  Your movement and aiming are independent which is actually more powerful than the gamepad controls even.

However, whenever you are facing down on the screen, the A and D are flipped from the directions on your screen, and it all goes to hell.  I would love to rotate the camera to keep you aligned with the up direction on the screen, but in 2d top-down that is nauseating.  Third person 3d games like the Witcher 2 get away with this because things closer to you in the world don’t move very much when you rotate the camera, so you have something to focus your eyes on.  In 2d top-down, it’s like looking down a vortex.

The primary constraint here is that the keyboard is no good for precise directional movement.  You get a full on or off with 45 degree increments, moving in any other angle requires a very tiring tapping pattern – NE, N, NE, NE N etc.

I looked around at what other top-down games do.  Most of them put the player on a grid and use world space WASD movement.  This was something I wanted to avoid from early on in DarkMaus development.  Creating the world on a grid would have made it much less organic and much more predictable.

Other games like League of Legends abandon separate aiming and movement and simplify everything to clicking where you want to go.  This doesn’t really work for the type of high-intensity combat I’m trying to create in DarkMaus where you need a lot of control over your player’s movement.  It also makes dodging in and out of range very tiresome, as you have to move the mouse rapidly back and forth.

So where to from here?  Ship a gamepad with every copy of the game?  Maybe next time.  I have some ideas of things to try but I’m haven’t found the solution yet.

4 comments

  1. Luckyjack says:

    I’ve given your problem some thought.
    Is it possible to have the input dependent on the vertical position of the cursor relative to your character.
    As an example, placing the cursor in the center of the screen while your character is at the center-bottom and pressing “A” will make your toon strafe left until it reaches the center left of the screen. At which point your toon will either remain stationary or move to the left of the screen. moving the cursor to the center bottom and pressing “D” will move the toon right across the screen.
    It would probably be fiddly to learn and I’ve no idea how you would go about coding it, but I think it would end up being more intuitive than your current system.

  2. eden says:

    Just wanted to say, keep up the good work! Looking awesome!

  3. Klingklong says:

    Hi, just found about this project. Looks awesome, but I have just one question: did I understand right, that this game will only work with keyboard + mouse controls? If so, read further, but if it does have a gamepad support in plans, no need to read further. 😉

    As a fellow game developer and an avid all around gamer, I really wish DarkMaus would have a pad support, as you’d alienate a LOT of potential players without it. Even in PC-ecosystem certain type of games are mostly played with a pad nowadays. I don’t know anyone, who don’t own a pad for a PC in the year 2015.

    Good example is Hotline Miami: it shipped with mouse + keyboard controls only (apparently they had a controller support in the first version, but it was too buggy then), but MANY people requested it. So, after they added a working pad-support, it really started to sell a lot and made the porting for other platforms easier. My point being: in this day and age I don’t think it’s wise to limit your game’s potential like that. I truly believe this game would work fantastically with a gamepad. Please, pretty please, add a pad support. 🙂

    • DanielW says:

      Oh don’t worry I support controllers (or at least 360 controllers). In fact the game is much better on a controller, and that’s how I prefer it. The keyboard controls are where the problem is.

Leave a Reply

Your email address will not be published. Required fields are marked *