tsunamayo / Starship-EVO

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

[Suggestion] More Event Gate Options #5317

Open piotmetans opened 11 months ago

piotmetans commented 11 months ago

Hello! The event gate has been such great fun to work with, but after a good while of using it I've come up with a few more options that I think would take it up another notch. Most of these options are exclusive to the spaceship (or hovercraft) computer.

1. Ship Speed

Let's say I am building a speedy little fighter, but need to move precisely for landing in tight areas. Nimble fighters can be troublesome to move precisely with all engines powered. Instead of having all engines powered at all times, I could have several event gates gradually turn on ship systems as needed based on the speed of the ship. A fighter designed this way could maintain its nimbleness at higher speeds, but will still be very easy to control in tight spots.

Another interesting idea: the ship could dynamically adjust where its power is allocated based on ship speed, so that it's using more power for shields/weapons and less for engines while at low speeds (and vice versa).

2. Is Rolling (left/right)

Theoretically, you could cause turret positions to change based on the direction the ship is rolling. Depending on the geometry of the ship, this could offer additional turret range that wouldn't be possible otherwise.

Another use case: place some spotlights on the outer parts of the ship, and activate them based on roll direction. This could simulate engines causing the ship to roll. Ships that have VTOL thrusters could make them rotate based on roll direction as well.

3. Is Strafing (directional)

Ideally, I'd like another drop-down to pop up once the 'Is Strafing' option is selected. The drop-down would then offer all 6 directions as potential options.

Alternatively (or additionally), instead of listening to the active input from the pilot, I think an output simply based on the direction the ship is moving would also be a great asset.

4. Is Accelerating/Decelerating

Ship decelerating could activate air brakes or reverse thruster animations

5. Is in Gravity Well

Overlapping gravity wells can be very cumbersome when moving around inside a ship that is either on a planet or station, because you end up having stacking gravity. If the stacking gravity is a feature you'd like to maintain, the ability to automatically turn off a gravity well would be super nice to have. Additionally, there are probably a lot of neat animations we could make with this.

~~

A big use case that I've seen many members of the community trying to solve would be actual pilot controls that respond based on ship activity. This one really encapsulates many of these suggestions into one use case:

https://github.com/tsunamayo/Starship-EVO/assets/660015/f59ead7d-38f2-459a-8094-8ca13c5d246a

~~

One final suggestion I'd like to offer for logic as a whole: Lower the mass values of logic gates Personally, I don't see much value in logic gates being 25kg. The idea that spaceship equipment required to perform simple 'or' calculations have half the weight of an entire spaceship computer is a bit silly. I often find myself using a lot of logic gates for small ships just to make landing gear animations, but the ship winds up being more cumbersome than it should be given the way it's designed aside from the crazy mass added from just the logic gates.

Keep up the great work man, it's been a blast building in your game!

Crimson-Artist commented 11 months ago

Was preparing to make one of these for just one event gate trigger. Mind if I add it here?

I wanted a "[Signal] On Lightcruise Charge" trigger added to Spaceship Computers.

Basically right now we only have a trigger for when we are in lightcruise and none for when we are preparing to go to lightcruise. Having a separate option will allow us to trigger prelaunch animations like popping out the Lightcruise engines before we speed off into lightcruise.

ProPeach commented 11 months ago

I would LOVE to see these implemented, especially the ones pertaining to ship movement for pitch/roll/yaw/strafe etc. I've tried to get those kinds of signals out of a ship via a slaved turret which follows the mouse movement - it works, but breaks the moment you enter freelook as that's no longer where the ship is pointing etc. These suggested events would solve that issue cleanly!

https://github.com/tsunamayo/Starship-EVO/assets/27857711/f27a2397-e04c-4281-9ee1-5256d6684ade

Honestly the Event Gate is one one the most powerful tools for customising and breathing life into ships, I adore it. It'd be awesome to see it utilised for all kinds of ship triggers, like shield % or hull % etc.

Also agree on the mass of logic bricks. It's amazing how much they add up on a small hover bike/fighter!

piotmetans commented 11 months ago

Pitch and yaw are great additions too, agreed. I hadn't mentioned them initially because we can sort of fake it with this turret tech, but you're right about the freelook thing, I hadn't considered that.

Was preparing to make one of these for just one event gate trigger. Mind if I add it here?

Perfect place for it, can never have too many cool suggestions.

ProPeach commented 11 months ago

The only challenge I can see for the pitch/yawing Events is they might need some kind of configurable deadzone. In the clip I posted that's achieved by measuring when the slaved turret exceeds 3 degrees in either axis, I'm not sure if it'd be better to have an angular velocity based value instead for this Event.

Majikmonster commented 11 months ago

There are so many event gate triggers I'd love to see in the game, and some I'm surprised weren't already there.

Shield charging, shield fully charged, shield taking damage, shield down, ship power overdrawn, weapon charging/cooling, landing (on pad), takeoff (from pad), docked/undocked (for docking ports and connectors), teleporter in use, medbay in use, inventory fill % (of anything with an inventory), assembler in use, blast door/trap door open/close, etc. (some of these may have been added since last I checked).

najlitarvan commented 10 months ago

yes, this would be very nice