Jump engine mechanics - Angel-125/Blueshift GitHub Wiki
๐ Jump Engine Mechanics โ Overview (WIP)
๐ง Core Concept
๐ Jump Drives generate short-lived wormholes that instantaneously transport a vessel across space.
They are portable, high-efficiency FTL systems that balance low Graviolium cost with strict operational constraints.
Unlike Warp Drives, which allow continuous travel, or Gates, which are fixed, Jump Drives offer burst-point FTL with risks and tradeoffs.
๐น๏ธ Gameplay Mechanics
Jump Drives operate based on a set of core physical and navigational rules that make jump planning both strategic and cinematic.
-
๐ก Linear Jump ("Jumpline")
๐ When performing a jump, the vessel travels along a straight line โ called the Jumpline โ up to its maximum jump range.
โ Obstacles WILL block travel, and drift effects apply.
๐งญ Vessels retain their velocity vector after performing the jump- except when grabbed by a Jump Beacon. -
๐ Orbital Jump
๐ This is also linear travel, but the vessel ends up in a stable orbit of the targeted celestial body if it is in range.
โ Obstacles WILL block travel, and drift effects apply.
๐ Conservation of gravity must be observed when performing a jump. This will affect the destination orbit.
๐ง The vessel's velocity vector will be adjusted to achieve the stable orbit.
๐ฐ Cost is increased to make a stable orbit compared to Linear Travel.
- To enable Orbital Jump, simply target a celestial body. To enable Linear Jump, don't select a target.
- If linear travel intersects the SOI of a planet or moon, and jumping to planets and moons isn't allowed, then the jump won't activate.
- If the vessel targets a planet or moon, and jumping to planets and moons isn't allowed, then the jump won't activate.
- Targeting a Jump Beacon is always allowed.
-
๐๏ธ Adjustable Jump Range
A slider (1โ100%) lets the player adjust jump distance, allowing for partial-range jumps.- Lower percentage = lower ElectricCharge and Graviolium cost
- Useful for precision insertions or conserving fuel
-
๐งฒ Jump Beacon Integration
If a Jump Beacon is located within a 20โ30ยฐ cone along the Jumpline and is within maximum jump range, then the vessel will lock to and arrive at the beaconโs location, overriding manual target and/or distance input. -
๐งญ Velocity Conservation
During Linear Travel, a ship conserves its velocity vector relative to the source star โ maintaining momentum and direction โ except when jumping to a Jump Beacon, where the vessel does an orbital rendezvous with the Jump Beacon like what happens with Jump Gates. -
๐ Blind Jumps
If the vessel loses its selected celestial body or Jump Beacon during engine warmup, or the target becomes occluded, then the ship will make a random jump, called a Blind Jump - up to its maximum jump range.- Velocity is conserved during the jump.
- There's an increased chance of a mis-jump when performing a blind jump.
- The ship can still be snared by a Jump Beacon if the blind jump would leave the ship within range.
-
๐ Gravity Consideration (Open Question)
๐ง This mechanic is under evaluation and may depend on player feedback or difficulty settings. ๐ง
For Orbital Travel, should gravity be conserved?
This would affect:- Arrival speed near massive bodies
- Post-jump orbital shape and correction burns
- Engines are rated for their maximum gravity level.
- The gravity at the current location, plus the gravity at the destination, must match the engine's rating.
- Ex: The ship is in a heavy gravity well, and is rated for 1g. It jumps where the gravity is at 0.9g, so its destination orbit must have a gravity level of 0.1g.
- Put another way, the further away from the current star that the ship jumps away from, the closer to the star the ship can reach.
๐ฎ Gameplay Impact
| Feature | Gameplay Effect |
|---|---|
| โก Fast Travel | Instant transit between stars โ no slow buildup like warp |
| โฝ Efficient Cost | ~275 Graviolium/ton/ly โ cheaper than Warp, balanced by limitations |
| ๐ Charge-Up Time | Requires several seconds of uninterrupted power-up before jumping |
| โ Can Be Interrupted | Jump fails if engines are damaged or disrupted during charge-up |
| ๐ฐ๏ธ Cannot Target Moons/Planets | Must arrive in high stellar orbit and spiral down |
| ๐ Accuracy Degrades with Distance | Long-range jumps suffer from vector drift (Galactica-style) |
| ๐งญ Beacons or Astrogators Improve Accuracy | Precision tools reduce drift and improve jump targeting |
| ๐งฒ Line-of-Sight Required | Must have clear trajectory to destination โ cannot jump from occluded or buried positions |
| โณ Cooldown After Jump | Prevents immediate re-jump; encourages commitment to destinations |
| ๐จโ๐ Crew Skill Matters | Jump-capable ships benefit from trained navigators (Scientists) or special crew traits |
๐ฅ Mis-Jump Mechanics
Under certain risky conditions โ such as planetary targeting, occluded jumps, or high jump drift โ the Jump Drive system may experience a mis-jump. This is a form of controlled failure, adding tension and consequence to aggressive jump usage.
โ ๏ธ Trigger Conditions
Mis-jumps can occur when:
- The vessel performs a jump with a high
jumpRiskMultiplier - Jumping to a planet or moon without a beacon
- Jumping through occlusion or gravitational interference
- Jumping while damaged or overcharged
- Performing a blind jump guarantees a mis-jump
๐ฃ Possible Mis-Jump Effects
| Type | Description |
|---|---|
| โ Jump Failure | The jump aborts at the last moment; ElectricCharge is lost, and cooldown still applies |
| ๐ Arrival Offset | The vessel arrives far from the target โ sometimes thousands of kilometers off |
| โก System Damage | The jump engine or nearby parts take heat, damage, or temporary failure |
| ๐ง Graviolium Discharge | A portion of Graviolium is lost due to unstable discharge or containment breach |
| ๐ฒ Randomized Drift | Overrides standard drift with a large offset in a random direction (even backward) |
๐ Warning Messages (Optional UI Feedback)
"โ ๏ธ Jump Field Instability Detected โ Attempting Correction...""โ ๏ธ Mis-jump Risk Exceeds Safe Threshold!""โผ๏ธ Jump Solution Degraded โ Emergency Vector Calculated"
๐ ๏ธ Mitigation Tools
- ๐ฐ๏ธ Jump Beacons: Lock vector, eliminate drift and reduce risk
- ๐ง Astrogation Computers: Lower the
jumpRiskMultiplier - ๐ฉโ๐ Trained Crew: May apply a passive bonus to reduce failure probability
- ๐ฆ Abort Window: If implemented, allow the player to cancel the jump during charge-up
๐ Lore Hook
"Phase instability grows with every variable you fail to control.
The deeper the gravity well, the darker the outcome if you miscalculate.
Most ships reappear. Some... don't."
๐ Jump Drive in Context
| FTL Method | Grav Cost/ton/ly | Portability | Precision | Setup |
|---|---|---|---|---|
| Warp Drive | 1750 | โ Mobile | โ High | โ๏ธ Complex |
| Jump Drive | 275 | โ Mobile | โ ๏ธ Variable (drift) | ๐ Charge-up |
| Player-Built Gate | 300 | โ Fixed* | โ High | ๐งฑ Manual deployment |
| Alien Gate | 250 | โ Fixed* | โ High | ๐งญ Must be discovered |
- Technically mobile, but not easily
๐ง Strategic Role
Jump Drives are ideal for:
- Frontier expeditions to uncharted stars
- Emergency jumps to retreat or escape
- Bridge ships that support beacon placement
They are not ideal for:
- Combat repositioning
- Precise orbital insertion
- Rapid multi-hop navigation
๐ Lore Hook: โRide the Resonanceโ
The jump drive forms wormholes โ momentarily, unpredictably.
For a few seconds, your ship becomes a whisper in a storm of mass and momentum.
Thatโs why you never jump blindโฆ unless youโre ready to miss the target by a star system.
โ Locked-In Balance Features for Jump Tech
| Mechanic | Summary |
|---|---|
| โณ Cooldown based on cost | Prevents chain-jumping; enforces pacing between jumps |
| ๐งฒ Line-of-sight required | Blocks "blind jumps" from inside atmospheres or behind massive bodies |
| โ ๏ธ Charge-up can be interrupted | Adds risk in combat or high-turbulence zones โ jump prep is fragile |
| ๐งฌ Requires skilled crew or Astrogator | Encourages crew specialization and tech progression |
| ๐ Cannot jump directly to moons/planets | Jumps target stellar orbits only โ requires post-jump maneuvering |
| ๐ Jump drift (Galactica-style) | Long-range jumps cause accuracy loss โ may miss target by km or AU |
๐ Note for Single-Star Systems
In installations where only one star exists (e.g., the stock Kerbolar system), Jump Drives will adapt their behavior to remain useful:
- In-system stellar orbit jumps are enabled
- Jump Beacons can be deployed to create anchor points
- Planetary orbit jumps are allowed, but may introduce drift or risk penalties
This fallback mode ensures Jump Drives remain viable even before interstellar exploration is unlocked.
๐ Lore: Field Instability and Phase Reversion
Jump engines rely on creating a brief resonance inversion across the vessel's mass geometry.
The farther the jump, the harder it is to maintain waveform coherence across the jump bubble.Even minor deviations in field stability result in vector drift โ often measured in kilometers or more.
While navigational computers attempt compensation, only quantum-linked Astrogators or Jump Beacons can guarantee precise arrival.
๐ง Jump Engine Models
| Feature | โ๏ธ S1/Mk2 "Rigel" Jump Engine | ๐ง S2 "Altair" Jump Engine | ๐ S3/Mk3 "Deneb" Jump Engine | ๐ง MW-5 โProtostarโ Jump Engine |
|---|---|---|---|---|
| ๐ง Tech Tree Node | Miniature Jump Tech | Miniature Jump Tech | Jump Technologies | Gravity Wave Applications |
| โก Charge Time | ๐ข Slowest | โณ Slower | โก Fastest | ๐ข Very slow (even with ample power) |
| ๐ ElectricCharge Requirement | ๐ Very Low | ๐๐ Low | ๐๐๐ High | โ ๏ธ Extreme |
| ๐ Jump Range | ๐ Very Short | ๐ Short | ๐ Long | ๐ Short to Medium (inefficient field geometry) |
| ๐ Cooldown Duration | ๐ Very Short | ๐ Short | ๐ Long | ๐ Longest |
| ๐งญ Min Jump Distance | ๐ Extremely short | ๐ Very small | โ Cannot jump short distances | โ Cannot jump under 30% range (field instability) |
| ๐ชจ Gravity Tolerance | ๐ชจ High (works near planets) | ๐ชจ High | ๐ซ Lower (needs high orbit) | ๐ชจ Surprisingly High (designed before proper field theory) |
| ๐ฏ Drift Without Beacon | ๐ฏ Low | ๐ฏ Low | ๐ก High | ๐ซ High โ must be stabilized with beacon or Astrogator |
| ๐ฅ Failure Severity | โ ๏ธ Minimal | โ ๏ธ Manageable | ๐ฃ Dangerous | ๐ฃ๐ฅ Extremely dangerous โ may damage ship or glitch jump vector |
| ๐ฐ๏ธ Planetary Orbit Jumps | โ Allowed | โ Allowed | โ Not allowed | โ Not allowed |
๐ Jump Engine Class Lore
-
โ๏ธ S1/Mk2 "Rigel" Jump Engine
The smallest and safest jump drive available. Designed for short tactical hops and probes.
Low power requirements and extremely forgiving โ but very limited in range and capacity. -
๐ง S2 "Altair" Jump Engine
A general-purpose system for system-wide navigation. Offers solid performance without excessive risk.
Can be integrated into mid-sized vessels and benefits from Jump Beacon support. -
๐ S3/Mk3 "Deneb" Jump Engine
Heavy-duty interstellar jump core. Offers unmatched range and charge rate,
but suffers in planetary environments and is highly dependent on support infrastructure.
Misuse can lead to catastrophic mis-jumps. Requires high orbit and proper field stabilization. -
๐ง MW-5 โProtostarโ Jump Engine One of the only early models that workedโฆ barely. It survived just long enough to get real data. Other prototypes? Disintegrated or disappeared.
Before quantum field compression was understood, jump engineers tried to brute-force mass into alternate states.
Consumes Graviolium inefficiently, requiring over 1.5ร the cost of modern S3-class engines.
Prone to mis-jumps.
Large (5m diameter, 15m long), massive (32t), and bulky.
โ๏ธ 1. Charge-Up System
- The jump engine requires ElectricCharge & Graviolium to activate.
- ElectricCharge is generated by Fusion Reactors.
- The engine absorbs ElectricCharge over time until the required cost is met.
- Once charged, the engine expends the required Graviolium and rapidly discharges ElectricCharge into it to create the wormhole.
- Charging is visible in the UI and supports cinematic FX buildup.
๐ 2. Dynamic Jump Cost Formula
Graviolium jump cost is dynamically calculated based on:
// csharp
totalCost = baseCost
+ (vesselMass ร massMultiplier)
+ (jumpDistance ร distanceMultiplier)
+ (gravityModifier ร gravityStrength ร gravityPenaltyMultiplier)
| Component | Description |
|---|---|
baseCost |
Baseline cost for any jump |
vesselMass |
Total mass of the vessel (in tons) |
jumpDistance |
Distance from origin to destination (in meters) |
gravityModifier |
Penalty based on position inside SOI (0.0 at edge, 1.0 near center) |
gravityStrength |
Local gravity strength (computed as GM / rยฒ) |
gravityPenaltyMultiplier |
Tuning constant to scale gravitational penalties |
โ๏ธ Graviolium Reaction Visual FX
Jump engines culminate in a dramatic Graviolium discharge event that visually marks the formation of the wormhole.
This is the moment when massive amounts of stored ElectricCharge are funneled into the Graviolium core, triggering the jump.
๐ฅ Visual & Audio Effects Ideas:
- Energy surge: Electric arcs dance around the drive coil during charge-up
- Field collapse: Sudden implosion or warping distortion just before the jump
- Flashpoint: A sharp visual flash or ripple when the wormhole opens
- Discharge wave: Shockwave, blue plasma arc, or blackhole-like shimmer
- Sound FX: Deep pulse or oscillating hum that builds with charge, then snaps or booms
๐ก Optional Variants:
- Higher-mass vessels = larger discharge effect
- Failed jump = unstable burst of Graviolium plasma or partial flicker
- AI-enhanced ships = cleaner, symmetrical vortex formation
๐ Lore Hook:
"Graviolium is inert until catalyzed by high-frequency power harmonics.
At the critical moment, the field collapses, and spacetime folds inward,
leaving behind only a brief ripple โ and a long silence."
๐ฎ Gameplay Summary โ Factors affecting GravityWave cost
| Factor | Effect on Cost |
|---|---|
| ๐ Heavier ship | Increases cost โ more mass requires more energy to generate a stable wormhole |
| ๐ Longer jump distance | Increases cost โ forming a wormhole across greater distances demands more power |
| ๐งฒ Deeper in a gravity well (closer to a celestial body) | Increases cost โ strong gravitational curvature disrupts wormhole formation |
| ๐ช Stronger gravity body (like Eve or the Sun) | Increases cost โ high-gravity environments amplify the gravitational interference |
| ๐ Near SOI edge or in deep space | Decreases cost โ optimal conditions for clean and stable wormhole creation |
| ๐ฐ๏ธ At SOI edge of small body (e.g. Minmus) | Super cheap โ ideal conditions for jump staging and interstellar transit hubs |
๐งฒ 3. Gravity Modifier
- Calculated based on proximity to the celestial bodyโs center.
- Uses a quadratic falloff:
gravityModifier = 1.0 - (distanceFromCenter / SOIRadius)ยฒ
| SOI Position | Jump Efficiency | Gravity Modifier |
|---|---|---|
| Center of SOI | 0% (worst) | 1.0 |
| Middle of SOI | ~75% | ~0.25 |
| Edge of SOI | 100% (best) | 0.0 |
โ ๏ธ 4. Jump Risk Zone
If jump efficiency < 40%, the following risks may occur:
- Jump misalignment (appearing off-target)
- System damage (overheat, energy loss)
- Jump failure (cancellation, partial refund)
Thresholds are configurable per engine or global setting.
โณ 5. Cooldown Mechanic
- After a successful jump, the engine enters a cooldown period.
- Cooldown duration scales with the cost:
- cooldownTime = gravioliumCost ร cooldownMultiplier
This prevents immediate repeat jumps and supports strategic retreat timing.
๐ก 6. Jump Efficiency Sensor
The GRAVMAX Negative Gravioli Detector has upgraded functionality:
- Displays Jump Efficiency %
- Gives a qualitative readiness state: Excellent, Good, Suboptimal, Poor
Uses shared logic from the WBIJumpDriveUtilities class.
Mitigating the Jump Risks & Restrictions
Crew, Jump Beacons, specialized computer systems, and more can help reduce the risks and restrictions placed on jump engines. The Jump Beacon and computer system parts are available in Advanced Jump Tech.
โ๏ธ Combined Gameplay Flow
| Configuration | Jump Performance |
|---|---|
| โ No beacon, no computer | High drift, long cooldown, must have clear line of sight, cannot jump to moons/planets |
| ๐ง Astrogator only | Moderate drift reduction, reduced cooldown, still requires line of sight, planetary targeting not allowed |
| ๐ฐ๏ธ Beacon only | Eliminates drift, precise arrival, still limited by cooldown and line of sight unless override is installed |
| ๐ฐ๏ธ Beacon + ๐ง Computer | High-precision jumps, reduced cooldown, supports fleet-scale logistics and efficient long-range ops |
| ๐ Targeting Override Array | Allows planetary/moon targeting, but introduces increased jump drift and/or misjump risk |
| ๐ฐ๏ธ Beacon + ๐ Override | Precision planetary targeting with no drift penalty โ beacon eliminates misjump risk |
| ๐ฐ๏ธ Beacon + ๐ง Computer + ๐ฉโ๐ Trained Crew | Optimal performance โ no drift, minimal cooldown, bypass occlusion (if supported), full planetary precision |
๐ฐ๏ธ Jump Beacons โ Drift Elimination & Target Stabilization
Jump Beacons serve as anchor points in space that completely eliminate jump drift and improve jump precision.
They are manually deployed in orbit and must be powered to be effective. The part is 5m in diameter, 20m long, and masses 50t.
Effects:
- โ Eliminates jump drift
- โ Allows jumps to planets & moons
- โ Enables blind jumps (optional)- the ship performing a blind jump may veer towards the Jump Beacon if within range.
- ๐ Requires ElectricCharge and Graviolium to maintain lock
- โ Must be placed and activated in advance
- โ Must be calibrated at destination in advance
๐ง Computer Systems โ Jump Risks & Restrictions Reduction via Guidance
Specialized computer parts (like Quantum Astrogators or Navigational Cores) improve jump performance.
Effects:
- ๐งฉ Configurable โ Select the desired effect from the list of options.
- ๐ฝ Optionally jump drift by a percentage (e.g. 50%)
- โ Optionally improves jump range through superior navigation calculations.
- โ Optionally allows jumping from occluded positions
- ๐งฉ Modular โ stack multiple assist modules for additive benefit
- โ Jump Beacons cancel the drift penalty if the vessel jumps into range of an active beacon.
- โ Beacons restore full jump accuracy, even when targeting moons or planets.
๐งฉ Jump Recovery Optimizer
Effects:
- โณ Reduces cooldown between jumps
๐ Targeting Override Array
๐ฎ Gameplay Effect:
- โ Allows jumps to moons and planetary surfaces
- โ ๏ธ Introduces positional drift penalty or increased misjump chance
- ๐ง Best used when Jump Beacons aren't available at the target.
- ๐ซ Does not reduce cooldown or eliminate drift on its own
๐ง Lore:
Normally, jump drives avoid planetary gravity wells due to high field instability.
The Targeting Override Array forcefully synchronizes a jump solution to a planetary body โ but at the cost of precision.
When used without proper compensation, the results can be catastrophic.
Skilled pilots and field beacons are strongly recommended.
โ๏ธ Suggested Mechanics (Optional for Implementation)
If allowsOccludedJump = true, consider applying the following mechanics in your jump engine code:
- ๐ Drift Penalty:
Add a percentage increase todriftRadius:driftRadius *= 1.5; // 50% greater inaccuracy
๐ฃ Jump Risk Multiplier (if you implement failure logic)
Increase the chance of:
- โ Jump failure
- โก Energy backlash
- ๐ Arrival offset far outside the intended target zone
๐ Warning Messages
Display contextual warnings when attempting risky planetary jumps:
"Warning: Jump Lock Degraded โ Navigational Drift Expected.""Caution: Planetary Jump Lock Compromised. Engage Beacons or Risk Misjump."
๐ง Module Configuration:
MODULE
{
name = WBIJumpAssistModule
driftReductionPercent = 0
cooldownModifier = 0.75 // Reduces cooldown by 25%
allowsOccludedJump = false
}