Download

Need Conceptual Help - Everspace / Air Rivals Style Control Interface

Hiyo! I’m kind of slowly moving along my journey of learning logic programming using UE4. I’ve been working through various projects to try to teach myself programming, from a simple point and click to the 1925802958th Slender clone that’s ever been made. Now I feel like I’ve reached a point where I can try to develop my own original game from scratch - own assets, own programming, starting just from a blank slate, nothing else. And of course, within the first week of that, I’ve hit a roadblock. What I’m trying to do is develop a control scheme that has similarities to Everspace or Air Rivals. (For context - here’s a video showing the general control scheme: https://youtu.be/7On9wuNJsjU?t=1m38s, text explanation below. )

So - this is what I want to do, but I can’t get anything to work consistently, so I’m trying to understand this conceptually. My thought it once I figure out the workflow I ought to be able to figure out the blueprint with enough time. What I’m trying to do is take the player’s movement in 2D screen space and apply that to a 3D slope. Depending on the location of the mouse cursor on the screen, the player’s character will angle and adjust propulsion based on the difference from the center of the screen. So if I stick a mouse cursor in the top left, my character will bank hard left and pull up. If I stick a mouse cursor in the right quarter of the screen, my character with lightly bank towards the cursor. So on and so forth.

What I’m trying to figure out is how to exactly implement this, and/or what the most efficient way to do this is. I’ve gotten a couple variations “working” (i.e. they work in the sense of mouse input = directional player output, but it’s not consistent and isn’t working with limits) but nothing has come to fruition. With this in mind I’d like to pick the brains of any programming geniuses out there to see if you have any thoughts on a potential workflow to set this up. Any help would be greatly appreciated. Cheers! :smiley: