tsunamayo / Starship-EVO

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

[New build - DEFAULT] 24w28a: Void Pearls #5865

Open tsunamayo opened 1 month ago

tsunamayo commented 1 month ago

This build adds resources management for warping. In survival the player will need to collects "Void Pearl" and place them in a special containers to be build as addon on warp core.

Features Added:

There are two limitations to be aware:

This means that how much warp fuel a ship is able to carry is a ship design decision, a higher storage being achieved at the expense of lower stats elsewhere for a given power amount.

As for the lore justification, Void Pearl are unstable in the fabric of space. While harnessed properly they make warp jumps possible, if not stored during a warp withing the Warp Storage containment field they would reduce the ship to atoms.

A few more things to know:

=> TODO: it might be painful to place each pearl manually for very large ship, so I will add a system so warp cores can connect to inventory and fetch pearls on their own.

SNAG-0876

Other improvements:

Hotfixes:

5864 Box delete can break game

5861 Pedestal linked to a joystick teleport player to the wrong place.

https://github.com/tsunamayo/Starship-EVO/assets/6604318/2ed52852-0f65-4342-899f-6d5b4937c74f

Timtee commented 1 month ago

I am mildly curious by the way Tsuna- These void pearls... They are only used within Survival mode yes? (if so- good, cause i dun wanna have to deal with em in creative anyways.)

ProPeach commented 1 month ago

The pearls are so pretty! They look great in the Storage Addon too, I really like that you can see them.

One thing with regards to #5863, you mention it's intentional due to the Capacitors no longer affecting the Warp Core which is fair. But we also can't place Capacitors on Shield Generators or Reactors, is that also intentional? Capacitors are really important for shield balancing with the Generators

tsunamayo commented 1 month ago

@Timtee yes it should be only for survival.

tsunamayo commented 1 month ago

@ProPeach yeah no it is not normal, I will fix that!

Crimson-Artist commented 1 month ago

You added a event gate trigger for warp charging but why not Lightcruise charging? Ive been asking for it for years.

Also Its kinda contradictory to prevent players from warping if void pearls are in any inventory but then acknowledge that you need a system to transfer in pearls from a storage unit. That is unless you were thinking of adding a dedicated void pearl storage block similar to cargo blocks.

Horkas commented 1 month ago

There needs to be a radar players can add to their ships to help players ping and find these pearls among other items of interest. Could be a mid game upgrade.

COMICLER commented 1 month ago

I really like the pearls, I'm glad that we have our first "volatile" material, two questions: 1) will the pearls actually tear your ship apart in the future, because that would be awesome. 2) is it possible to make them spawn in craters only, giving the impression that they landed on the planet?

TIKIRobo commented 1 month ago

=> TODO: it might be painful to place each pearl manually for very large ship, so I will add a system so warp cores can connect to inventory and fetch pearls on their own.

to add on to this, maybe AI crew could help here? in the final version instead of having pipes move pearls crew could move the pearls from their special containers to the warp cores?

For now though i think pipes or something similar would work best as I feel crew would require a lot more work

asanagisae commented 1 month ago

It doesn't look like the warp storage uses up any power.

Note that only the warp core changes how much power is used by this ship:

https://github.com/tsunamayo/Starship-EVO/assets/10069469/07bc37da-77d5-46d0-b26d-97604f30983b

It stays at 45 e/s even after adding the warp storage and inserting a warp pearl. This sounds different from your patch notes, which suggest having additional warp storage would incur an energy drain.

tsunamayo commented 1 month ago

@Crimson-Artist I have added the lightcruise charge. I am not sure to understand your comment about the warp storage, to have dedicated or not wont change the overall picture. A transfer system compatible with the standard inventory is needed only so that player that have to gather 50+ pearls each time can use a small gatherer ship with a collector, and then dump them automatically in their (large) mothership, so that they dont have to do it manually. It is really low priority for now, as player wont build very large ship in survival.

Crimson-Artist commented 1 month ago

I have added the lightcruise charge.

You have? What block is it an event gate trigger for? The only one I can think of is the lightcruise engine itself but It doesn't allow me to use the link tool on it. The event gate trigger ive been asking for is one that sends a logic signal when we hold down the "L" key to charge up our lightcruise engines. We only have one for when we have entered lightcruise. I want that lightcruise charge event gate trigger so I can add pre-lightcruise animations like popping out the lightcruise engines from a hidden compartment while the actual engines are charging. when I enter lightcruise I can have other special animations/effects happen such as turning on rear facing Spotlights to emulate a engine trail while I zoom around.

I am not sure to understand your comment about the warp storage, to have dedicated or not wont change the overall picture. A transfer system compatible with the standard inventory is needed only so that player that have to gather 50+ pearls each time can use a small gatherer ship with a collector, and then dump them automatically in their (large) mothership, so that they dont have to do it manually. It is really low priority for now, as player wont build very large ship in survival.

This is what you wrote first: "A ship cannot warp with Void Pearls inside any storage container, essentially forcing the player store them in the dedicated Warp Storage."

Then you wrote: "=> TODO: it might be painful to place each pearl manually for very large ship, so I will add a system so warp cores can connect to inventory and fetch pearls on their own."

Which is it? Are we barred from warping if we put void pearl in anything other than the void pearl storage or can we store spare pearls in regular cargo and still warp? If we store spares in regular cargo then doesn't that mean we won't be able to warp?

ProPeach commented 1 month ago

@Crimson-Artist I think what Tsuna is suggesting is that you can use a small, non warp capable ship to collect the pearls then use a connector to transfer them through the inventory system to the warp core storage on the main mothership. The limitation on warping with the pearls in the inventory of it won't matter in that case, because nothing has to warp to deposit the pearls into the motherships warp cores. Then the mothership can warp away carrying the small craft once the pearls are in the correct storage bricks.

Crimson-Artist commented 1 month ago

@Crimson-Artist I think what Tsuna is suggesting is that you can use a small, non warp capable ship to collect the pearls then use a connector to transfer them through the inventory system to the warp core storage. The limitation on warping with the pearls in the inventory of it won't matter in that case, because nothing has to warp to deposit the pearls into the motherships warp cores. Then the mothership can warp away carrying the small craft once the pearls are in the correct storage bricks.

So we get around the warp limitation by not physically keeping spare void pearls on the mothership but instead use a separate entity? sounds like a loophole but ok

ProPeach commented 1 month ago

No, once the small ship is docked it transfers the pearls to the motherships warp addon bricks which are rated to contain the pearls during warp. The pearls are only ever in the small ships cargo containers when it is gathering so doesn't need to warp, or in the motherships warp addons when they are used to warp. There is no time in this scenario where it breaks the rules set in this patch, which only apply when a ship warps

Although yes there is currently a loophole when it comes to docked/maglocked entities

asanagisae commented 1 month ago

By the time you initiate warp, all the void pearls have to be inside warp storage. But before then, you can make use of item collectors and small scout craft to transfer void pearls faster than you could by hand - at least that's the eventual goal.

I wonder if the game will check for void pearls in item stands or in crew pockets, then apply some dire consequences.... šŸ˜†


Also, +1 on the request for the event gate recognizing when you begin to hold "L" for light cruise charging (separate for the event that only returns true when you're actively in light cruise)

Crimson-Artist commented 1 month ago

No, once the small ship is docked it transfers the pearls to the motherships warp addon bricks which are rated to contain the pearls during warp. The pearls are only ever in the small ships cargo containers when it is gathering so doesn't need to warp, or in the motherships warp addons when they are used to warp. There is no time in this scenario where it breaks the rules set in this patch, which only apply when a ship warps

This creates a problem with logistics. If we need to remove spent pearls and replace them with fresh ones and warp fuel is calculated based on factors such as ship weight and pearl size then some level of stockpiling is needed. It looks like we are going to be punished for having more pearls then needed via extra power usage so having the exact amount will become an exponentially larger problem the larger our ships become. Depending on how rare void pearls ultimately become (right now they are super common and I don't expect them to be as things progress) deleting unneeded pearls could be very costly. sending out a small ship with the express purpose of acquiring a specific amount of pearls, no more no less, will be extremely tedious and run contrary to how resource gathering works with other materials which favors "gather as much as you can store"

asanagisae commented 1 month ago

The logistics of capital ships and fleet management is an interesting problem to solve. In a multiplayer server, one player shouldn't easily warp in with a super star destroyer when everyone else just has millennium falcons. However, you should be able to work towards it, and you will definitely have an advantage for doing so. It's a time and effort sink. The rewards are thrill and dominance.

Nothing stops you from having a giant mothership stuck in one specific star system and ignoring void pearls entirely. Perhaps you'll send smaller ships to nearby systems to harvest resources and bring them back. Perhaps you'll buy supplies from other players. It'll be a very well-defended star system. šŸ˜† You just have to choose that system carefully before you begin building your massive ships.

Alternatively, if we can fly our 500m+ space ship to a space station, dock with it, sell ores for money, sell empty void pearls directly from our warp containers, and buy new void pearls to top up our mothership for a jump or two, I think the main issue (of spending time gathering and managing void pearls) will go away for players who want to focus on other things. We just need to tweak the NPC stations to allow docking for bigger ships, adjust the kiosks to allow trading of goods (with or without the docking connector block), and slowly increase the goods available at each NPC station over time.

tsunamayo commented 1 month ago

@Crimson-Artist So I have added lightcruise charge on the spaceship computer it to 24w28b following your remark, I will upload the build soon.

For the storage bit, I am talking about improving the transfer: Right now: You need to place pearl manually inside warp core. What I want: simply add the ability for the warp core to request pearls from connected inventory. => that way you could collect pearl from a collector and have them pushed to warp core. Or for large ship do it on a smaller craft, and then dock and dump them. No manual transfer needed.

In both case you can store void pearl inside normal storage units, but it will prevent you from warping. This is not changing. I hope it clears up my plan.

tsunamayo commented 1 month ago

Sorry I have read the rest, yes @ProPeach was right. For very large ship we will see how it goes. First I want to see how big really you are gonna build. Like said in the other thread a 7000T, 300m long ship will require 140 pearls for 10 jumps. Also I will have them for sell at station or with traders.

tsunamayo commented 1 month ago

So after thinking about more about the size problem:

It think the best would be to have an auto-merge function built-in the warp core. For example you add a 0.5m pearl into a 1m grid storage, it then would fill 0.125% of a new 1m pearl. Add another one, and instead of taking up a new slot it would fill the existing up to 0.25%. This way you are not at a disadvantage by building larger grid warp core, and the pearl size displayed is the real one. Likewise a 1m pearl into a 0.5 grid scale storage would fill several slots and spawn several pearls. It will be a bit weird at first, but that is just the most convenient I think.

Crimson-Artist commented 1 month ago

@tsunamayo Thank you for adding the event gate!

Regardless of the system stockpiling of void pearls will still be needed. under this system gathering and storing them will be more centralized. Building a space station for specifically for storing spare void pearls might be beneficial. Mass transfers of pearls will need to be done in large specially designed pearl freighters that have tons of void pearl storage canisters. Do you think you can build your transfer system so that it can be done through docking connectors/shipyards? this way we can set up warp refueling stations where we return with our ships, top off our warp cores with fresh pearls and leave.

You talked about stations selling void pearls. Maybe take a look at my suggestion a while back for a trade system using kiosks https://github.com/tsunamayo/Starship-EVO/issues/5684

tsunamayo commented 1 month ago

@Crimson-Artist So the transfert system should already be compatible with connectors.