Simulate Twin Stick mechanics on mouse?

I’m looking to create a top down/isometric shooter that functions as a twin stick, even for mouse. By that, I mean the character rotates simply based on which direction you move the mouse, not based on a cursor that moves freely anywhere in the view. But I’m fairly new and I can’t seem to find any tutorials that have player mechanics like this.

Could you elaborate on this a bit more? The mouse moves in screen space. How does it translate into pawn rotation? If I wiggle the mouse left / right, do I get to spin around:


Or if I move the mouse along the green:

Should the character match that direction?

I believe he means that if he moves the mouse to his right, slide right, it turns the character clockwise, and vice-versa to the left. Your first pic.

1 Like

I’m sensing (hoping for) something more funky.

The result I’m imagining is when the character is aiming down moving mouse to the left will make it turn right?

There’s sort of a couple ways I’ve been thinking about it and I’m not sure which would be a better experience.

Method A: The character simply would rotate left/right if you wiggle your mouse left/right, but it’d be essentially instant, since the system is just recognizing mouse direction (someone on discord suggested axis changes? Not sure if that’s right. But your second example is correct, the player would match the direction. I do wonder if this would be jarring though and I’m not sure you’d get the best precision of aiming this way?

Method B: I sort of imagine that your mouse is invisible and resets to the center of the view (where the character is) whenever you aren’t moving the mouse. But when you move your mouse, you sort of pull an invisible line from your character out up to a certain radius around the player, which I think would give finer rotation controls than just relying on raw mouse direction.

Basically my end goal is to create a twin stick shooter that could work crossplatfom. For controller players having a freely moving cursor anywhere in the view isn’t ideal. And I’d like to balance the gameplay around controller players, so KBM players don’t have a distinct advantage. The player should only have a radial cursor around their player and they’ll have to guesstimate their aim for targets in the distance. Hopefully explaining the intent helps with the controls I’m trying to achieve. Now that I say all this, I reminded myself of billiard games and wonder if something like that would be what I’m trying to achieve?

1 Like

If the character is aiming down and you move your mouse to the left, it would look left (this applies to both the methods I proposed)