Quick progress reports discussion thread - March 2016

#41

Ok, here’s a youtube link: https://www.youtube.com/watch?v=kQv-0cWvRe0&feature=youtu.be

But that Youtube compression is terrible :frowning:

Here’s last Friday’s Stack: :wink:

https://vimeo.com/160517108

7 Likes
#42

thanks… yeah i know, but somehow all videos from vimeo are broken on me.

#43

Regarding the control scheme as per the corvette issue, my opinion would be to implement a control scheme toggle. The current scheme works fine for smaller craft, but as Flavien noted the larger corvette would benefit much more from a virtual joystick scheme. However, I don’t think it’s right to say the interceptor and bomber get the current scheme and the corvette gets a completely different one, I say simply create both and allow the user to toggle between them. At the very least simply set which scheme each ships defaults to.

#44

My personal opinion for large ships would be having movement relative to cursor position. I.e, if you hold the mouse far to the right, the ship will turn as fast as it can towards the right, if you hold it somewhere between the middle and the far right it will turn a bit slower (I’d presume the turn rate would be the percentage of the total speed depending on how far the cursor is from the edge if the screen vs center). Then just having an offset circle in the middle where sidemovement is 0 and you just fly plainly straight ahead I guess. I’d love to hear other people suggestions as well.

#45

I think that’s a viable option for capital ships, but not relevant for corvette and smaller. Or maybe it could be, I just want to make sure the difference between the capital ships and regular ships is consistent.

#46

Let’s rephrase the question then: how do you think the corvette should be operated through the mouse ?

#47

Hmm maybe intensity of the turn depending on cursor position. But the question is, how will the weapons targeting system work?

#48

The potential problem I see with the proposed schema (if I understood it correctly) is the difficulty to aim accurately. If the ship moves when the cursor is even slightly off center, it’s hard to fly straight, so you’d need a “deadzone” around the center where the ship does not turn. However, then you have to make relatively large movement with the mouse (around the deadzone) to make adjustments.

That being said, I don’t thing the current control schema would work so well either (as was stated). Perhaps a hybrid schema, where within the “deadzone” the ship would fly like the current ships (following the cursor) and give more accurate aiming. Then outside of the “deadzone” you’d have the virtual joystick schema. By changing the “deadzone” size you could even switch between the two different schema (set size to 0 or inf).

It’s probably not relevant yet, but would joystick etc. support require a different control schema anyway or would the current one work? Or is it just about adding some interface for different controllers?

2 Likes
#49

My 2 cents similar to MrAsura’s proposal:
Why not have an area in the middle of the screen where the current target aim is show with a crosshair, this crosshair is not fixed to the middle of the screen but moves inside the circle, the ship alway tries to recenter the crosshair by adjusting its direction.

This way a slow ship would be easy to control and aim with (in theory).

3 Likes
#50

Continuing the discussion from Quick Progress Reports - Engineering:

In flight simulators, I always treat the mouse like a joystick, giving me pitch and roll control. The farther the mouse is from a center point, the greater the turn rate requested. So I’m supporting the second scheme that you’re describing. I consider it a no-brainer.

There’s no center dead zone needed. Tune the response curve on each axis as needed. Low sensitivity in the center for fine aiming, and progressively greater sensitivity away from the center until you reach the limit of command authority at some wrist-comfortable point.

For ships that can’t maneuver in real time (i.e. capitals), have a navigation mode that uses the same scheme but that orients a ghost, wireframe or even a simple box to indicate the ship. Orient that ghost, then exit navigation. The ship will try to match the commanded orientation. You already do this sort of thing with the mouse wheel when setting a target speed for the ship. The ship’s speed doesn’t change in real time, so you set a goal and let the ship work on achieving it.

1 Like
#51

I’m a fan of the v-joy, but a small dead zone is more than acceptable. As an alleg player, I can tell you that the v-joy can definately handle fast ships as well as slow ones.

#52

looks better then SC and ED

1 Like
#53

Oh, and I would assume that the game would allow players to decide if they want an absolute (orient exactly that way) or relative (orient a bit more in that direction) system. That is, the current system is absolute, while a joystick is traditionally relative. On top of that, leave players the option to control the responsiveness of each as well as the ability to easily select one or the other mode. If I’m flying, I may want relative controls, while if I’m in the process of lining up a shot I may want absolute. Some players may have the ability to switch between the two during an engagement. Holding down or tapping a modal key could easily provide that.

From there, players can configure things as they prefer.

#54

I agree with @JB47394: mouse position determining your ship movement is really the best option. Could even be considered for the interceptors or other “agile” ships to keep the same ergonomy.

#55

I would also suggest vJoy. And let the users set the sensitivity curves. Just like a stick.

BTW.

Addressing this issue now is EXACTLY the right time to do it.

#56

This is exactly how I’d want all my non-capitals controlled: have a pointer moved with the mouse, and the ship always does its best to point toward that direction.
It would allow for both fast and precise control, and would still work for a slower corvette. For the corvette in particular, a on/off toggle for mouse control could be useful, allowing to do other things like moving the camera, giving orders to the turret or target non-facing enemies…

If you go for two different (or more) different control schemes, please try to have it selectable by ship. Some people will want to control their interceptor like a corvette. Others will want to control their corvette like an interceptor.

Personally, I would certainly hate having to control any ship with the system JB describes (the few experiences I had with it were universally bad), but I’d want it an option for him and other who prefer it.

1 Like
#57

How do you command a reversal of the ship’s direction?

And I can’t stand the absolute pointing system because I’m repeatedly dragging my mouse for large movements (inspiring my question above). That’s why I’d also want it user-selectable. People have very specific preferences in this area, and no one system will please everyone. Unless we’re talking VR or AR systems, which are a very different animal. There may be a one-size fits all approach in that space.


Edit: Hmmm. What if there was a mode where the ship tried to point where the mouse pointed - until you point at a strip around the edge of the screen. Then you get a constant rate turn for as long as you leave it there.

Playing with that a little more, have a variable rate turn depending on how far into the strip you go. Tune the strip width as needed or preferred. I think the strip would have to be visually indicated in some subtle way. The alternative is to let each player train to get a feel for where that strip is. If not a strip, then there’s a center circle that is the tracking area, and leaving that circular area throws the ship into a constant rate turn.

I mention this because it answers the question of how a ship swaps ends (or does any other hard turns) without having to keep dragging the mouse around. If my field of view is 90 degrees and I want to do a 180, I have to drag my mouse over at least four times because each mouse drag only gets me a 45 degree turn.


More Editing: Base the turn rate in the strip on the speed at which the mouse is moving. So if I’m moving my mouse slowly towards the edge of the screen, I get a slow continuation of that motion when my mouse enters the strip (and runs out of screen real estate). If I slap my mouse over to the edge of the screen, then I want the maximum available turn rate. Once I see what I’m interested in come into view, I just point at it and I’ve snapped around onto a new target. Alternately, once I see whatever I’m trying to thrust relative to.


Gah. More. This is really just the system used in top-down games where the screen can be panned around a large area by bumping the mouse into the edge of the screen. Perhaps tweaked a bit for the more frenetic environment of space combat.

1 Like
#58

That is left to the system that controls speed. Which he didn’t include. It could be the one we have currently with W/S and set speed and reverse key or something similar.
But yeah. Maybe you want to point out that in that case you have to turn your direction pointer backwards too … hmm.

How can you reach the edge if your camera centre is the absolute heading point?

Also I think this has been done …, somewhere in another game. Can someone help pull up more examples? This isn’t the first time this problem has been solved.

#59

I’m confused. Maybe I don’t play enough games.

There’s going to be a delay between the mouse and the turning radius of each ship. It’s not going to be like an fps, where I can snap my view immediately to my target.

What’s the difference between this, and the standard vjoy with the mouse axis inverted so that up is up and left and right are yaw?

If you keep the mouse cursor on the target, the ship will naturally turn toward the target. If the user has control of the sensitivity curves, they can customize the feel to what they like.

How is this different than the current solution?

I would also envision ALL strafe (fwd, bkwd, left, right, up, dn) to be a separate issue than panning. With forward strafe (thrust) much stronger than the others.

#60

The pointer reaches the edge, not the camera center.

You’d move the pointer to a location on the screen and the ship would react to point at it. If you don’t move the mouse, it stays on that location in the world view, effectively coming to camera center as the ship rotates.

I was actually thinking that this was how the prototype works now, but it doesn’t. I just hopped in and was reminded that if I move X pixels with the mouse, I get f(X) degrees of rotation. My problem with that is that hard maneuvers require me to pick up my mouse and plant it again for another sweep, which I really don’t like.

I prefer what people are calling a virtual joystick because I can keep a hard turn going and I can also fine tune my heading easily. But I’d be interested in trying the strip variation just to see how it works.

Note that it would be critical to have a pointer on the screen. The pointer is used to indicate where I want to point, in an absolute sense. “I want to point at that nebula.” So I move the mouse onto the nebula and then I can take my hand off the mouse. The pointer will stay on the nebula as the ship swings around to face it.

This matches the EyeX eye tracking stuff. If you want to turn to something, you just look at it. I believe that if you look at the edge of the screen, the camera will turn in that direction until you see whatever you were after. You look at the whatever when it comes into view and the EyeX stuff centers the camera on it.

The prototype and a virtual joystick don’t use a mouse cursor. There’s nothing that the player can use to indicate a target direction or object. That’s why the prototype uses the keyboard to target the object under the reticle (and a virtual joystick would do so as well). What I’m talking about would involve a mouse pointer. Or a roving reticle. Whatever you want to call it.

It would also be handy for firing turreted weapons. Hold a key to say that you’re not maneuvering towards the pointer, but are firing towards the pointer. But the pointer is always up and the player is always aware of its location.