1. 15th of October, 2019: SMD is currently under maintenance, the site may go down while we are working on it. Apologies for the inconvenience.
    2. We've removed some functionality from SMD in preparation for a migration to new forum software.

    Control Customization and Joystick Support

    Discussion in 'Suggestions' started by Auriga_Nexus, May 20, 2015.

    1. Auriga_Nexus

      Auriga_Nexus Befriender of Worlds

      Joined:
      Dec 23, 2014
      Messages:
      110
      Ok so as always, I understand Starmade is an alpha game. Things have yet to be refined to the point where they need to be to make the game truly enjoyable and intuitive. Not to say it hasn't come a long way, but there's always room for improvements, that's why we have these forums, yeah? So if I see a problem with how the game works now I will not hesitate to bring it up. And right now, I see a very, VERY big problem with one of the most critical elements in any space-flight game - the control scheme.

      A lot of people are stick jockeys, myself included - they wanna get into the cockpit of a starfighter and go flying around the asteroid fields like friggin Tom Cruise in a Variable Fighter a la Macross. Unfortunately, even though we have rudimentary joystick support, the fact remains is that the game treats the joystick like a mouse - you move the cursor which in turn moves the ship, but that is neither realistic nor accurate.

      So a short list of changes that need to happen for joysticks to become a viable control interface with which to play the game:

      1: Change the way forward-facing weapons aim. I believe this has already been covered in another post, but basically using the mouse cursor to aim precisely is something that only works in mouse flight mode, and so we need to have a better alternative for joystick use.

      2: Make it to where joystick and mouse can be used interchangeably. Basically, even those who use joysticks to fly will probably want mouse control for walking around as an astronaut. It's easier and more intuitive than trying to control both with the stick. I'm personally for having the game have two completely separate control schemes, each with their own input device(s) and button and axis settings.

      3: Make joystick control 100% customizable. Seriously, this will make or break a game for me. For some reasons a lot of space games will use X (joystick L/R) as the yaw axis and Z (joystick twist/rudder pedals) as the roll axis. This makes no. goddamn. sense. When you fly a plane, you tilt left/right on the joystick or turn left/right on the yoke to bank, and use your rudder to control the yaw. That's how it has been ever since the days of the Red Baron in World War I, and that's the way it should be, and any space flight game that mixes those up will catch an earful from me, ESPECIALLY if I have to resort to modding my joystick driver or the game itself to change it. So firstly, don't fall for that trap. Secondly, allow customization so that people can come up with their own control scheme that works for them. Make the default settings intuitive and make the control settings GUI clear and user friendly. Also make sure that there are plenty of configurable axis to assign controls to and that each axis has their own configurable sensitivity and dead-zone settings.

      Also, when it comes to cameras, the controls should be the same no matter which direction you are looking out of; however, what axis does what should be relative to the direction you are facing and not the ship's direction. This would make it much easier to precisely control your ship's movement while looking out of, say, a camera just above your docking port in order to line it up with the station's docking ring. This will become even more crucial once we do away with rail docking beams and institute the magnetic docking rule, since we will need to be able to line up close to where we want to dock to. Remember the scene in Interstellar where they had to dock the Ranger spacecraft to the ring-shaped deep space explorer ship while it was spinning out of control? Remember they had to fly under it, match its spin, then maneuver precisely enough for the docking arm to enter the Ranger's docking port? I want THAT level of control for ships in Starmade.
       
      • Agree Agree x 3
    2. CaptainTaz

      Joined:
      Aug 8, 2013
      Messages:
      403
      They need to also add an (optional) acceleration rate controller to the game, so that it's easier to control your ship speed. It would also work great for those of us (Like me) who have a flight simulator joystick that has an accelerator slider.
       
    3. Valiant70

      Valiant70 That crazy cyborg

      Joined:
      Oct 27, 2013
      Messages:
      2,189
      A good way to do this is to be able to set a "target speed" either with keys or a throttle slider. The ship then attempts to reach that speed in the direction you're currently facing and will gradually straighten itself out to that direction with its thrusters. I used to play a game that did this and it worked like a charm with or without a joystick but was more enjoyable with one. It puts a realistic twist on Star Wars style controls, striking what I consider an ideal balance. In that game you could also hit a key to shut off the automatic thruster control, although you could only control the ship by thrusting forward with afterburners.

      I would bet Starmade's directional thrust controls combined with a similar system would give players the freedom and flexibility we all want for this game. These features would all be tools in the belts of a pilot. In addition, this would make the thrust rework better by providing more options yet.
       
      • Like Like x 1
    4. Auriga_Nexus

      Auriga_Nexus Befriender of Worlds

      Joined:
      Dec 23, 2014
      Messages:
      110
      There's a similar concept in a space-flight game has been a Steam game called Evochron Mercenary. In that game (which IMHO is the best example of Newtonian physics in a spaceflight sim thus far) your joystick movements basically corresponded to directional thrusters, and you had an "inertial dampener system" that would automatically fire these thrusters to zero out your ships movement to maintain a specific speed and direction. So if you were headed in one direction and you made a turn without touching the throttle your ship would fire the thrusters to rotate, fire the opposing thrusters to stop your rotation when you eased up on the stick, and all the while fire the main engines until your direction of travel matched your bearing i.e. direction you are facing. The cool part was the realism factor - the faster you were moving the less effective the IDS was because the more thrust would be spent correcting your trajectory.

      Now for Starmade I can see throttle sliders working by basically maintaining a set speed. So my throttle is at zero, I push it forward to 50 % and now my ship accelerates until it reaches 50% of server speed. Once it reaches the set speed, it only applies the thrust necessary to offset the friction coefficient - so by default, once you are traveling at a set you have set you will only be using 5% of your thrusters. Not only does it allow for longer non-jump trips without requiring you to constantly hold the W key, but it also lets you maintain a set pace without using too much energy, which would be important if your ship does not have cap stable thrusters. It becomes even more important if we ever implement fueled engines or reactors as you could travel further and burn less fuel.
       
      • Agree Agree x 2
    5. Valiant70

      Valiant70 That crazy cyborg

      Joined:
      Oct 27, 2013
      Messages:
      2,189
      That actually sounds exactly the same.
       
    6. captainairspeed

      captainairspeed CEO of ATC and Registered Button Pusher

      Joined:
      Sep 15, 2013
      Messages:
      45
      also seems that the sensitivity option is bugged always reset back to 1.0 when ever you change it and gives some strange error msg as a reason why
       
    7. jayman38

      jayman38 Precentor-Primus, pro-tempore

      Joined:
      Jul 13, 2014
      Messages:
      2,514
      The Accelerator slider is simply another axis that should be fully customize-able, just like the directional axes.

      There are generally up to 8 axis sliders that should be available at a minimum for any "flight"-type game:
      yaw, roll, pitch, speed/engine power, flaps, visual/VR yaw, visual/VR pitch, and miscellaneous. Personally, I would like to see multiple power axes for multiple engine groups, but since we only have one in Starmade, one power axis is all we need at this time.

      We need to be able to attribute any purpose to any axis, define the rate and acceleration rate of each axis, balance, and deadzone.

      So for example, if you want to be able to twist your joystick and have each "tick" geometrically double the rate of pitch? The player should be able to set that.

      Realistically, the hatswitch (if you have one) should be able to handle VR yaw and pitch, and be an adequate, if slow, replacement for the mouse.

      If Starmade still uses the LWJGL library, they can access Joystick stuff through the org.lwjgl.glfw package. (Javadoc homepage) Namely, the GLFWJoystickCallback class. Details on GLFW joystick stuff is here. If they don't use LWJGL, maybe they can implement JGLFW, if only to access the joystick input classes. Failing all that, if they haven't put a lot of thought into it, and haven't decided on any particular library, Schine might want to implement either JavaJoystick or JXInput to keep it simple.

      I haven't looked into the limitations of JavaJoystick, but JXInput shows support on their webpage for 6 axes plus 2 sliders, for a total of 8 axes. Normal hatswitches are not normally an axis, and are instead supported as a separate on-off set of switches. And then on top of all that, JXInput supports over 200 buttons.
       
    8. DrTarDIS

      DrTarDIS Eldrich Timelord

      Joined:
      Jan 16, 2014
      Messages:
      1,017
      First off: If you think space flight should be anything like atmospheric flight, you're off your rocker.
      I agree mostly with the cameras and flight controls, things ARE wonky there.

      I use a PS3 sixaxis for combat and pleasure flight with starmade. It gives me "THAT level of control for ships in Starmade." You should try it (MotioninJoy). I think your complaints on which axis is which control are a little lazy. I have no issues setting my controller rotation axis to ship rotation. No issues with pitch or yaw regardless of which stick i use for it, no issues setting controller tilt for vertical thrust. No issues setting the other joystick to the horizontal and linear thrusts... Really seems to me like the hardware or wetware is your problem, not the software.
       
    Loading...