tsunamayo / Starship-EVO

Welcome to Starship EVO bug tracking repo !
112 stars 17 forks source link

[New build - DEFAULT] 22w05a: Spaceship Targeting Overhaul #4533

Open tsunamayo opened 2 years ago

tsunamayo commented 2 years ago

This update introduces a refactoring of Spaceship flight targeting logic and interactions. This is a big update with a lot of changes including new keybinds so read below!

IMPORTANT: It is recommended to do the following keybinds change: => set Secondary Fire at MMB (as default spaceship Free look is now at RMB), it is more natural this way.

The aims was to improve space combat and the spaceship interaction experience. The new selection might be a bit slower but will be much more confortable and easier to use during battle.

Hotfixes:

699 Can activate command while spaceship is entered.

4160 Tracking widget lagging

4476 #4309 #4303 Landing issues with low FPS.

tsunamayo commented 2 years ago

Build is up! In experimental for now as I want to see if there is any major bug. I also need to tweak a little thing on the landing procedure as it can cause some issue for the tutorial. Also the player Hp bar is black... It will take some time to get re-used to the control but I think it is much better! Thanks!

TwoNiner29 commented 2 years ago

Hey tsuna I think the new update is cool, however, there are a few issues I've come across. firstly the new free look doesnt work very well because you cannot press buttons and switches anymore while piloting the ship. Also I feel that having it mapped to right mouse button is quite strange, I think most of us would prefer to reserve that key for secondary fire. my suggestion is to allow the player to choose if they want free look to be hold or toggle (personally I prefer toggle)

next the targeting cycle doesnt seem to target the closest thing to your reticle, but rather cycles through all targets in range.

lastly the E menu, I like it in some aspects becuase it allows us to do more with less keys, however it does feel clunkier than the old system.

also tiny question, how does the docking work? does it assign you a random pad based on the size of your ship? ( I hope a 100m ship wont be assigned a 20m docking pad)

I think the subsystem targeting system is fantastic

BigBadKangaroo commented 2 years ago

Hey tsuna I think the new update is cool, however, there are a few issues I've come across. firstly the new free look doesnt work very well because you cannot press buttons and switches anymore while piloting the ship. Also I feel that having it mapped to right mouse button is quite strange, I think most of us would prefer to reserve that key for secondary fire. my suggestion is to allow the player to choose if they want free look to be hold or toggle (personally I prefer toggle)

I agree with that; right mouse button feels odd. I set it to mouse 5. It works better that way for me but the old style felt more comfortable. Also toggle as an option would be great!

Regarding the targeting: is there a way to switch back to the ship/station you targeted before so you don't have to cycle through every ship in the area before getting back to the one you want to target? Selecting a landingpad is a bit odd aswell, because I don't really get a good overview of which landingpad I selected. I'm missing some HUD elements that make it more obvious which one I selected.

Edit: Maybe middle mouse button could make a return so we can select a specific target, but we can cycle through the targets with the new keys? The one system doesn't have to kill the other, maybe they can life together as friends? :D

silvernull commented 2 years ago

Not very intuitive. Huge problem is currently that you cannot interact with cockpit buttons when in unlocked view. Probably due to the #699 fix Plus it removes secondary fire ability for ships since it is forcefully bound to right click, which it shouldn't be, it should be mapped to lock view (default TAB) as it was previously.

And the R and F menus are clunky to use since

  1. you cannot fly your ship when in the F menu and
  2. the R menu cycling is slower to use as it cycles through every available entity

What I suggest is having a keybind (I recommend Alt as default) where you are both in locked view AND you can click on UI elements (without moving the ship around or the camera).

tsunamayo commented 2 years ago

Yeah I will improve the targeting, allow a cycle back (SHIFT-R would make sense as SHIFT is also working for rotating, but SHIFT is boost speed for now). I will also start to cycle on target close to the center. Then you should be able to select stuff around when in free look, so it is a bug.

The fact that you cannot fly your ship in the menu is not a big deal for me. The menu wont be a thing you will use much during combat. And with the old menu you could not steer your ship too, but it might have been a bit faster. It is not a big deal, elite dangerous menu are much beefier and you cant pilot your ship too. Middle mouse was way clunkier, especially with that control scheme... A lot a beginner complained about this. I think we just have to get used to it a little bit, many spacesim are doing menu like that.... Many people requested the hold key (and hold RMB) for free look, so you can have a quick peek during combat... So I am waiting for more feedback. I am honestly no longer a fan of Secondary fire, with all the hotkey + hotkey group it seems a bit un-necessary...

Cheers

tsunamayo commented 2 years ago

@BigBadKangaroo There should be a yellow widget showing you the pad. I will make it brighter!

Kaiser-Indrasil commented 2 years ago

@tsunamayo I liked the free look toggle way more than having to hold the button, especially since in FPP I would also like to push some buttons on my cockpit in the free look mode, so having to press a button while holding another button and moving a camera is a bit too clunky. Maybe there could be an option tucked away in the gameplay options?

Also, for the R targeting, I like the premise, but I have some suggestions. Right now, it just cycles through all the targets. But it could instead target the closest entity and if pressed in quick enough succession (less than 2s), it would proceed to the next closest target, and so on. And when it ran out of targets (targeted the farthest target), it would come back to the closest target. But, if the player pressed the R key later than in 2 seconds, the system would again lock onto the closest target, switching entities or staying on the same entity if needed. That's how it worked in Freespace 2 which IMHO had the UX in the space fighter sim genre, even by today's standards.

Also, the MMB. I think it could work in conjunction with the R key targeting, but opposed to cycling through targets (or selecting the closest target as per my suggestion), it could target entities in reticle. To further improve the UX, it could act not as a cursor, but more like a brush, having a targeting radius around the reticle, so that we wouldn't have to aim so damn precisely to lock onto targets (as it is on the main branch).

Oh, and I absolutely love the subsystem targeting! And the fact that the turrets lock onto the subsystems themselves and we no longer are dependent on the exact spot targeting (that white dot on the target that told the turrets what to aim at), is such an improvement!

Kaiser-Indrasil commented 2 years ago

@tsunamayo Oh, and being able to scroll through the F menu with the mouse scroll wheel would be very intuitive!

Kaiser-Indrasil commented 2 years ago

@tsunamayo Removing heat death and having the sub-systems throttle when the ship faces overheating, is a very good change, but I'm not so sure about removing the heat bar. If the ship still relies on the heat level, it would be really handy to have a readout of the heat level, ideally with a percentage.

Uncle-Ulty commented 2 years ago

I'm stuck in Surge's ship, I can't exit its yoke, someone help me

image image

Servomotor commented 2 years ago

@tsunamayo The current implementation of Free Look does not allow for players to interact with the ships systems.

For example In the build linked below, I created it so that the player could click on buttons in front of them for various systems. Currently, if they are piloting the ship, they can not interact with these buttons. The system as you have it implemented now, pretty much makes buttons on dashboards/cockpits useless. Everything now has to be bound to keys and we only have 1-4 for that.

https://steamcommunity.com/workshop/filedetails/?id=2741806620

The buttons seen in the picture are secondary uses. The keybinds 1-4 control Light Cruise, Thruster bank 1, Thruster bank 2 and shield generators, so right now the player cant access any of the buttons on the dash. 20220205081937_1

Servomotor commented 2 years ago

@Uncle-Ulty I am stuck in my ship too, lol.

But in the process of trying to figure this out...pressing 'R' makes some cool random chirp noises :)

Uncle-Ulty commented 2 years ago

When I press R the ship starts to curse calling me noob in a language I don't understand, XD

tbh I don't see anything when I press R, even with an enemy in front of me.

Servomotor commented 2 years ago

R is for cycling though enemies.

As far as exiting. You have to hit F then W to move up to "exit spaceship control" then F again to exit the yoke

ProPeach commented 2 years ago

@Uncle-Ulty @Servomotor, exiting a ship now you have to hit F and then use the arrow keys to navigate on the menu to exit ship, then hold down F. Seems like a few too many steps to me personally.

Really appreciating the improvements to the deadzone Tsuna, ships feel far more precise to control now!

Sub-system targeting is brilliant 👍

Small nitpick, but a lot of the sound effects in the game are very sharp, especially the SFX to select a new target. They can be a little uncomfortable to hear

The fact that you cannot fly your ship in the menu is not a big deal for me. The menu wont be a thing you will use much during combat. And with the old menu you could not steer your ship too, but it might have been a bit faster. It is not a big deal, elite dangerous menu are much beefier and you cant pilot your ship too.

I'm confused about this part, the default way of steering a ship is by using the mouse, and we now use the keys to navigate the new menu so you can easily do both at the same time - it seems odd to lock out the use of the mouse to fly especially when you don't need to use it to navigate the menu anymore.

Did the target lead indicator get removed? It's not appearing for me when I target a hostile. Also, the red circle icon for when the target goes off screen should be larger, or perhaps a different shape like an arrow to differentiate it from other neutral targets.

I disagree with the removal of the heat bar for ships, if the ship is penalised when it hits 100% instead of killed (which is a great change!), we should still have a tool to track that.

As others have pointed out, you can no longer push buttons in freelook. I was a big fan of tab for freelook too, but maybe you want to use tab for an afterburner style temporary boost instead of the current boost mode? Not sure the change makes sense as now tab does nothing.

I am honestly no longer a fan of Secondary fire, with all the hotkey + hotkey group it seems a bit un-necessary...

I hope you'll consider moving freelook back to tab and secondary fire to RMB. Secondary fire is a stable of space games, you have lasers on primary and rockets on secondary - obviously no rockets at the moment, but we already have two different weapon types to choose from. Having to cycle through a hotkey group just to use a secondary weapon is too clunky in my opinion.

Uncle-Ulty commented 2 years ago

I know how to exit, but this option isn't working on some ships. I reported it as a bug already.

This bug only happens when the seat is connected to the yoke.

daOyster commented 2 years ago

I'm going to have to disagree with you Tsuna. Right click for free look instead of a secondary fire button feels weird and is not intuitive compared to most games out there that use right click for other things. Most space games I've played have free look bound to a keyboard key like Z or Alt and instead since it's not used as much as a the secondary fire key that is usually bound to right click in space games. I saw you were considering removing the secondary fire in favor of using the fire groups, but I think that's a bad call since it's removing options from how the player wants to setup their ship. Having two weapons you want quick access to is pretty common and having to switch fire groups to use either or is going to feel clunky compared to what we currently can do.

SovietSponge commented 2 years ago

I like most changes made even if they're still rather clunky to use, the idea is solid but I have some complaints mainly based around freelook, i have alternate keybinds to steer my ship as i rather enjoy just toggling freelook on and flying like that, it's nice being able to just look around my cockpit and press things without having to hold a button to look around so maybe an option to make it a toggle or another key, one to hold for freelook, one to toggle freelook. On top of that it's horrible not being able to press buttons and switches while in freelook, cockpits no longer feel useful. Also having to go through a menu to exit a shit is hella annoying.

tsunamayo commented 2 years ago

@Servomotor I already said that the Free Look cant interact was a bug that I will address. @ProPeach well for rockets I think you could simply fire them with 1-2-3-4 hotkey (set as Fire on press, not as fire group).

For exiting, yes it is longer, but for now I guess people are trying ships for like 1 min and going to the next. When we have a real career you will stay in your ship for extended period of time, so it should not be a big deal. E is the activate key, it is close to the Move WASD keys so it is a perfect candidate for the menu. That being said I can code something that will allow you to exit directly if you rebinded Menu to another key.

@Kaiser-Indrasil Yes that targeting logic was what I wanted to do, something smarter and that only reset if you dont cycle through them after a while. Also I want the reticle mode only in free look, so you can pinpoint target (one more reason to only have hold to look).

@SovietSponge That is one valid reason to have free look, albeit I guess it is ultra-specific, not a lot of people will be doing this.

=> I would like to hear your own use of Free look, why is important to have it? I dont think holding RMB and clicking on E to interact is too hard to do, but you will see for yourself once I fix the bug.

tsunamayo commented 2 years ago

Okay guys so I did some of the fixes:

Honestly I think the free look now is better to interact with ship buttons! For the whole menu experience I was definitely slow at first but now I guess my brain is rewired and I am super fast, including for exiting.

Anyway I will do a build soonish with the fix. Target logic is gonna take a bit more time though.

=> also I would like to hear what kind of weapons system you are mapping to Primary and Secondary.

tsunamayo commented 2 years ago

I'm going to have to disagree with you Tsuna. Right click for free look instead of a secondary fire button feels weird and is not intuitive compared to most games out there that use right click for other things. Most space games I've played have free look bound to a keyboard key like Z or Alt and instead since it's not used as much as a the secondary fire key that is usually bound to right click in space games. I saw you were considering removing the secondary fire in favor of using the fire groups, but I think that's a bad call since it's removing options from how the player wants to setup their ship. Having two weapons you want quick access to is pretty common and having to switch fire groups to use either or is going to feel clunky compared to what we currently can do.

Hi, could you tell me which games in particular? I want to check their other keybind too. Spacesim unfortunately are not like FPS with standard controls, and on top of that I have plenty of other specific requirements. Also I would like to hear what kind of weapons system you are mapping to Primary and Secondary, and whether being able to fire them at different time is really making sense. I really do feel hold RMB to free look is more intuitive, much faster and useful in combat, and honestly also more convenient to toggle a few buttons in cockpit view after having tried out a little bit. Once I add the reticle target select I think it will make even more sense. I think you guys ought to test it a bit more, of course everytime we change something it is hard to like at first once you get used to it. But that is early access is for.

Also as I think it make sense to use SHIFT-R to cycle target as SHIFT-R is also cycle through rotation, I will likely need a different keybind for boost.

ProPeach commented 2 years ago

=> I would like to hear your own use of Free look, why is important to have it?

I use freelook for checking out my ship or surroundings in 3rd person in long pans, or quickly looking to one side as I fly (to check a point of interest, or check on my target etc). Also for pressing buttons/looking at passing objects in 1st person

=> also I would like to hear what kind of weapons system you are mapping to Primary and Secondary.

For this, usually two weapons that I want to use at different times (but also sometimes together). Say I have a beam weapon that I can fire at all ranges, but a gatling weapon that I only want to use up close because their spread is so wide. Even when I'm up close firing the gatling I still want to be firing the beam at the same time so I hold both mouse buttons to give them everything I've got!

Other examples are range barrel lasers that I fire only when confident I can hit, and gatlings for getting in close.

In the future, I can see myself mapping weapons that use ammo differently to weapons that just use energy. I'll fire all the time with the energy weapons, but only fire those with limited ammo when I'm sure I'll hit (did this in Elite with lasers and multi-cannon to conserve ammo). This is especially useful when combined with different damage against shields, there might not be much point in wasting ammo on a shield if the weapon isn't very effective against them. Better to save it for when you can damage hull as that won't recharge, and the weapon likely does more hull damage anyway

Uncle-Ulty commented 2 years ago

I'd love to have a way to zoom with scroll. This way the mouse buttons would make total sense to use, for instance, long-range weapons.

Uncle-Ulty commented 2 years ago

The free camera on RMB makes total sense when you are piloting a ship with turrets. The RMB makes it faster and more intuitive to move the camera around and shot with your turret

Kaiser-Indrasil commented 2 years ago

@tsunamayo Many people stick buttons and switches to control different things on their cockpit and don't even bother to bind them to hotkeys. It's a big part of roleplay fantasy they want to partake in.

Moreover, if you happen to sit at a yoke and use a screen hooked up to a camera, you cannot hold F to escape the camera, because it always opens the pilot menu. That way, you first exit the yoke, and only then exit the camera screen, which is uncomfortable and unintuitive to use.

In Elite Dangerous you use both the LMB and RMB to fire guns or use tools like scanning or hacking. No space sim game I've played like E:D, Star Citizen, Freespace 2, Avorion, Space Engineers and so on, used RMB as a free look button. Instead, almost all of them use it for secondary fire.

Besides, Starship EVO already has weapons which benefit from having primary and secondary fire buttons. Beams deal more damage to shields and lasers deal more damage to armour. That way, if you want to optimise the damage output on your ship, you build as many lasers and beams as you can heat- and energy-permitting, and shoot one of them at a time. With RMB it's much more controllable than constantly switching fire groups.

Besides, beams and lasers have two different target leads, and if we add lasers with add-ons which modify the projectile's speed, taking away the secondary fire would really hurt the player experience.

tsunamayo commented 2 years ago

@Kaiser-Indrasil okay so what those other games are using for free look? Can you look around and pin-point a target, or interact with your cockpit inside? Tab was really not great... I think RMB is just so much better than tab. Now one thing I must clarify is that I dont think using fighter-style will be viable for survival, I expect people stick mostly to turrets as it fits larger ships. So I prefer to design for medium scale ships and survival and then accommodate for figther ect.

@ProPeach well that seems that fire groups could solve the same problems, arguably sometime better, like you only need to press a single fire button when you want to fire with both weapons.

=> did you guys tried RMB to look a bit? How is it to interact? Cheers

tsunamayo commented 2 years ago

@Kaiser-Indrasil So now when you entered a yoke it will exit all command entered up to the yoke. thx

tsunamayo commented 2 years ago

Okay so from the Empyrion wiki it seems we have two keybinds

Hold to Look Around(in 3rd Person or in Cockpit) | Left Alt | Wheel (Zoom in/out) Secondary Fire (eg. Sniper Zoom) | - | RMB

But holding MMB to look and then scrolling at the same time feels a bit weird to me. Also I have now idea if secondary fire applies to only handheld or also ships. I have no idea on how their targeting system works too (this is why I am always bugging you with this, I cant simply just read the wiki most of the time).

Kaiser-Indrasil commented 2 years ago

@tsunamayo I think the only 2 other games that I know of that let you access individual buttons and panels on your cockpit during flight, are Microsoft Flight Simulator and Star Citizen. MFS doesn't have targetting, so let's focus on SC. Over there, you hardly ever access the TPP since all the controls and HUD elements are in the FPP, so cockpit UX is very important. You access every cockpit and context menu element by holding the F key. To choose an individual option, you release the F key. That would collide with the pilot's context menu though (I have it mapped to F, and E is for the clockwise roll).

I think MMB for the freecam works well in a scenario where we use F for interaction and R for targetting. Again, I would only suggest a toggleable option in the game's settings to let a player choose whether they want to Hold the button for the freecam or to Toggle it.

In Freespace, targetting entities that are ahead of the ship is solved a little differently. In the center field of the HUD you can see 2 arcs that flank the crosshairs on the left and right. They determine the circle of forward targetting. When you click the Y key, it targets an entity which is closest to the crosshairs. If you click it again within 2s, it proceeds to target the next target closest to the crosshairs. It helps in situations where there are multiple targets overlapping each other.

It's just a food for thought though, as your present system of targetting the target closest to the crosshairs in the freecam works fine.

obraz

tsunamayo commented 2 years ago

@Kaiser-Indrasil Thanks for the details, I could also get a cycling for the Free look targeting if necessary. I will add another keybind for toggle free look, and will put at empty by default.

Kaiser-Indrasil commented 2 years ago

@tsunamayo This patch cycle has been really satisfying for me. Initial push followed up by a few feedback loops and straight push to Main. Thanks for being so open!