tsunamayo / Starship-EVO

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

[New build - EXPERIMENTAL] 21w30a: Event Gate #4075

Open tsunamayo opened 3 years ago

tsunamayo commented 3 years ago

The new Event Gate is added to the game. It opens a new and exciting world of possibilities on the logic side. Now logic can be triggered when "events" happens in the game. For example: link a seat to the Event Gate. You can now trigger logic when any player sit down.

Some Features:

Dont hesitate to suggest any event you would like to listen!

List of events

Still to do:

tsunamayo commented 3 years ago

Build is up! I think it is a great new feature for all logic lover. It will also be instrumental in the station that are being built. Still a few things to do like replacing hotkey and query with this brick and adding the other systems. If you have a better name suggestion please shoot.

TIKIRobo commented 3 years ago

I think that event gate is the perfect name! and i agree this will really improve logic

ProPeach commented 3 years ago

We're going to have so much fun with this gate! I like the name too Not strictly to do with the Event Gate, but would it be possible to turn on/off a turret computer with a switch? So that you can turn off a turret computer and the turret returns to rest position and retracts into the hull, then turn it back on and deploy using the Event Gate to determine if it has a target.

To clarify on your System Values bullet point, would this be able to read things like heat and energy usage and then produce a pulse based on their percentage? That'd be incredible!

PopkaAkula commented 3 years ago

I think it would be cool if event gates could also detect pitch, roll, and yaw of the craft so we can have it react to movement.

CurioInventorium commented 3 years ago

Really excited to try out the Event Gate, but why remove the Query gate? A lot of my ABBA mechanisms use Query gates connected to a rotation or rail to trigger at the right moment. Or is that what the listen to system values ToDo is for? I guess I answered my own question 😝

ProPeach commented 3 years ago

@CurioInventorium sounds like the Event Gate will include both the Hotkey and Query Gates functions, so it's possible your Queries will be seamlessly replaced with Events in your builds

TIKIRobo commented 3 years ago

https://user-images.githubusercontent.com/56371294/127700369-1fcea6a5-cbe0-4dc2-be9b-4bf3d228b6a2.mp4

a fun little bug

it seems that inverting the event gate when its linked into another logic circuit makes it visually "take" the logic connections of the gate its attached to

CurioInventorium commented 3 years ago

@CurioInventorium sounds like the Event Gate will include both the Hotkey and Query Gates functions, so it's possible your Queries will be seamlessly replaced with Events in your builds

It's definitely reading like that :) Hopefully blueprints will get migrated smoothly

Although at the moment I'm finding that docking connectors aren't holding their tags or seem to spawning in anymore when I click on the respawn button. Honestly I'd like to experiment and test these new additions but things don't seem to be behaving in a logical fashion at the moment.

cloudrambler commented 3 years ago

I would like the query gate to detect collisions of specified blocks. The reason is to build self adjusting landing gear. For example the foot would drive down until its pad collides with the ground. Then instead of pushing the ship up, it would stop that part of the mechanism.

CurioInventorium commented 3 years ago

I'm liking how I can spawn engine and thruster sub-modules onto a core ship module. Like, I can get in the ship and have the usual 'you don't have engines or thrusters' message. But when I spawn the submodules I can fly normally. Until the modules randomly de-spawn for some reason, then I'm just drifting. It makes me wonder if during combat individual sub-modules could get destroyed (or have hit points). That way in battles larger ships could be disabled by having their engine sub-modules taken out. Apologies if this is already the direction been taken.

TIKIRobo commented 3 years ago

I just thought up a couple of event gate events, warp charge, lightcruise charge and boost, this way we could make a charging animation or for the boost have some extra thrusters turn on it make it even faster

Also it might be a good idea to make a discussion thread about events

KINGrimson commented 3 years ago

i think we need a event for leaving a docked position, trying to make a sytem of a slide out hangar but i cant get the slide out to work when leaving docking, entering works perfectly, leaving i cant,

Kaiser-Indrasil commented 3 years ago

It's a piece of feedback not directly addressing the Event Gate (which is an amazing addition btw) but I would also love if we could have foldable turrets. As in, if we could connect sequencers to the turret-controlled azimuth and elevation rotators/hinges and as such, override their behaviour.

talrey commented 3 years ago

I've had time now to properly test the Event Gate (and the RGB Gate) and they're really exciting!

However, a point recently came up in Discord discussion that I think is worth mentioning: if the Event Gate replaces Query and Hotkey Gates, it'll be a lot harder to tell what a circuit is doing visually. Ship control logic will look like a grid of Event Gates with no variation (unless we paint them or use stickers).

While I'm all for reducing the number of logic gates in the game in the name of making the system more useable, are you worried that this might be too much functionality to put in one gate? Or that this could make it harder to understand a circuit visually?

In my opinion, we should either keep them separate or at least re-add the ability to "name" logic gates from the Wheel Menu as a way of "commenting our code". I'm interested in hearing your thoughts on this!

Kaiser-Indrasil commented 3 years ago

To expand on Talrey's point, I think it would be incredibly useful if we could rename all of our Gates and have these names display on the player's HUD when they look at them - like this, but the Gate's name would display instead of "Activate Spaceship"

image

tsunamayo commented 3 years ago

I would like the query gate to detect collisions of specified blocks. The reason is to build self adjusting landing gear. For example the foot would drive down until its pad collides with the ground. Then instead of pushing the ship up, it would stop that part of the mechanism.

I will want to make true children physics like damper to do stuff like that.

tsunamayo commented 3 years ago

We're going to have so much fun with this gate! I like the name too Not strictly to do with the Event Gate, but would it be possible to turn on/off a turret computer with a switch? So that you can turn off a turret computer and the turret returns to rest position and retracts into the hull, then turn it back on and deploy using the Event Gate to determine if it has a target.

To clarify on your System Values bullet point, would this be able to read things like heat and energy usage and then produce a pulse based on their percentage? That'd be incredible!

Yes I want to allow for power usage stats. There is no heat usage per system though. Indeed turret switching off will seems like a natural feature as most system can turn off...

tsunamayo commented 3 years ago

I'm liking how I can spawn engine and thruster sub-modules onto a core ship module. Like, I can get in the ship and have the usual 'you don't have engines or thrusters' message. But when I spawn the submodules I can fly normally. Until the modules randomly de-spawn for some reason, then I'm just drifting. It makes me wonder if during combat individual sub-modules could get destroyed (or have hit points). That way in battles larger ships could be disabled by having their engine sub-modules taken out. Apologies if this is already the direction been taken.

So submodule are not made for that all, at the moment it is to add variety to station spawn. What it is you are trying to achieve with it?

tsunamayo commented 3 years ago

I've had time now to properly test the Event Gate (and the RGB Gate) and they're really exciting!

However, a point recently came up in Discord discussion that I think is worth mentioning: if the Event Gate replaces Query and Hotkey Gates, it'll be a lot harder to tell what a circuit is doing visually. Ship control logic will look like a grid of Event Gates with no variation (unless we paint them or use stickers).

While I'm all for reducing the number of logic gates in the game in the name of making the system more useable, are you worried that this might be too much functionality to put in one gate? Or that this could make it harder to understand a circuit visually?

In my opinion, we should either keep them separate or at least re-add the ability to "name" logic gates from the Wheel Menu as a way of "commenting our code". I'm interested in hearing your thoughts on this!

So query for sure as to go as the event will be able to read integer or decimal value and put some condition just like the query. As for the hotkey, well you will plug the yoke to the event and pick which hotkey you want to listen. It is really just too similar to warrant a dedicated gate. For sure I want to add back the naming thing. Also I could overwrite the gate icon to use the one from the system it is listening to. I will see when I can do that.

ProPeach commented 3 years ago

Yes I want to allow for power usage stats. There is no heat usage per system though. Indeed turret switching off will seems like a natural feature as most system can turn off...

Sounds great! In regards to the heat usage percentage, I was thinking that it'd be an event you could select when you link the gate to the Ship Core rather than just one system. So it could read the current heat level of the whole ship

tsunamayo commented 3 years ago

Yes for sure I will give plenty of value when connected to a core like heat...

piotmetans commented 3 years ago

I can see a plethora of fun possibilities with this gate for sure! I've already been using it in a few situations and can't wait for system functionality with them.

I think it would be cool if event gates could also detect pitch, roll, and yaw of the craft so we can have it react to movement.

So much this. I've been wanting to introduce control surfaces to a few of my builds and having them react automatically to ship movement could make flying feel more interactive.

Additionally, I'd love to see an "on boost" trigger. It'd be perfect for engine animations like this:

https://user-images.githubusercontent.com/660015/128344535-8de90e40-54cf-4de1-8d49-ae1db4c6f031.mp4

CurioInventorium commented 3 years ago

I'm liking how I can spawn engine and thruster sub-modules onto a core ship module. Like, I can get in the ship and have the usual 'you don't have engines or thrusters' message. But when I spawn the submodules I can fly normally. Until the modules randomly de-spawn for some reason, then I'm just drifting. It makes me wonder if during combat individual sub-modules could get destroyed (or have hit points). That way in battles larger ships could be disabled by having their engine sub-modules taken out. Apologies if this is already the direction been taken.

So submodule are not made for that all, at the moment it is to add variety to station spawn. What it is you are trying to achieve with it?

@tsunamayo I like to explore all possible uses for things you're introducing and one of them is making procedural ships. Apart from the submodules randomly de-spawning, I can successfully spawn in a ship where the wings and engines are submodules. The spawned AI even flies off with the ship (although how far they'll get once the submodules de-spawn I've no idea). If I created a few varieties of engine and wing sections, I could potential spawn the same core ship body multiple time, yet it would appear with different submodules each time.

It seems a shame that you're adding in this ability to have variety on stations, but not see the possibility for doing the same for ships. You could have random built ships similar to how ships are generated in No Mans Sky.

Uncle-Ulty commented 3 years ago

well, I think someone else already gave that idea. But an event related to the ship input commands would be cool. For each movement command (left, right, forward, backward, and roll E and Q, would have a different event output. With these, we could add some rudder, horizontal stabilizer, aileron, flaps effects. The same for forwarding and backward (slowdown) animation.

tsunamayo commented 3 years ago

@CurioInventorium You can use that on ship already. It is not a ship vs station things, it is a user spawn vs game spawned one. The fact that submodules unspawn themselves on save is a protection so you can work on your design. Otherwise it would be a nightmare to work on them.

tsunamayo commented 3 years ago

The same for forwarding and backward (slowdown) animation. I dont understand that - if you could explain me more!

tsunamayo commented 3 years ago

@talrey so next update will have the event gate switch texture depending on what it is listening.

tsunamayo commented 3 years ago

@piotmetans really cool looking thruster! I have just added the isBoosting event to spaceship computer.