Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New hyperdrive algorithms and internal hyperfuel tanks #6026

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

sturnclaw
Copy link
Member

Redesigns the hyperdrive fuel use and duration-per-distance-travelled equations to implement the redesign we've discussed and accepted.

This PR also converts hyperdrives to use an internal fuel reservoir rather than pulling directly from the cargo bay, and allows transferring fuel between the main tank and the hyperdrive reservoir. This enables fractional fuel usage in jumps - no longer will jumps of differing lengths use the same amount of fuel!

image

As part of this effort, about 50% of the capabilities of the planned fuel management UI were implemented; the fuel management will be left at this level until we get further time (after the upcoming release) to implement the full management interface.

image

This PR fully implements all five sizes of hyperdrives in both military and civilian variants. Values have been assigned that "should" give decent jump ranges across the ship masses of that size, but a rigorous balance pass has not been done in interest of time.

Military drives have not been tested yet, but should function fine - I'd welcome any and all testers willing to give this branch a spin!

Fixes #5914.
Fixes #6025.

- The new hyperdrive algorithm is designed for fractional fuel use and to provide more nuanced gameplay instead of always choosing the closest system to hyperjump to.
- New in this algorithm, it is now more fuel efficient to make a single long jump than many shorter jumps, even when travelling the same distance.
- Overall, maximum hyperspace range increases slightly for heavily-laden ships, and travel duration reduces from 2-3 weeks at maximum range to approximately 1 week for a maximum range jump.
- Updated both civilian and military hyperdrives to match new ship slot sizes.
- HullConfig no longer provides default slots for most types; it's assumed the ship pipeline has matured enough that ships will have manually-authored slots for all types.
- Sensor slots are left automatically-defined until a further pass on sensor gameplay has been done.
- Added validation messages for ships missing common slot types.
- If a ship starts without atmospheric shielding, the atmo_shield_cap property will be unset.
- Instead of pulling hyperspace fuel from the cargo hold, pull it from the hyperdrive's internal tank.
- This allows for fractional fuel usage in hyperspace jumps, resolving a longstanding pain point with attempting to optimize hyperspace jumps.
- It's also a stepping stone towards further ship gameplay mechanics.
- Add transfer widget in 03-econ-trade to move fuel between main tank and hyperdrive tank.
- Fuel purchase interface in lobby buys directly to hyperdrive; it no longer purchases to the cargo hold.
- Spare hyperfuel in cargo hold must be purchased through the commodity screen.
- Updates to the sector map to render fuel as a fractional value.
- Now correctly reads fuel from the hyperdrive's internal tankage, in addition to excess fuel in cargo hold.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Hyperdrives don't match ship hyperdrive slot scaling Hyperfuel ussage can be avoided.
1 participant