Jump to content

[1.12.x] Contract Pack: Constellations


IO

Recommended Posts

Posted (edited)

Create and maintain neatly looking satellite and relay constellations.

VX7xD9e.png

Description

Gives you gameplay reason to create cool looking satellite constellations. Includes:

  • Contracts for setting up relays and relay constellations for different celestial bodies. Requires reaching the body first, but allows reusing an existing vessel as the relay (for lesser reward). Required antennae strength is automatically calculated.
  • Satellite contract (replaces stock) with a new, custom system for orbit generation. Contracts are split into low, medium, synchronous and high orbits (also polar and kolynia). Contracts notes also include required deltaV for a given orbit (I always find it annoying that I have to either guess, or bring out the calculator).
  • Kerbal Positioning System contracts: create GPS-like constellation in multiple stages.
  • Contracts for placing Mun relay in quasi-L4/L5 point.
  • Contracts for placing SENTINEL telescope in quasi-L3/L4/L5 point of a given celestial body (intended to replace stock SENTINEL).
  • Contracts for station-keeping (WIP): you will be periodically asked to fix position of your satellites in a given constellation (or just verify them if they're within margins) for a small reward.
  • Player is rewarded for precision with a small bonus. Can you match the orbit with <100m precision? How about <1m?

Contracts that require you to place your craft in a specific position (and not only orbit) unlocks after you perform a rendezvous.

Compatible mods

  • Kopernicus - although the pack is mainly aimed at the stock Kerbol system and its extension, it should work even with some more unorthodox replacement/rescales.
  • NearFutureElectrical and NearFutureSolar parts can be used when a contract requires power generators.

How it works

There's no way to specify an exact position/mean anomaly in the Contract Configurator, only an orbit, so I had to invent one. I wanted the process to be as frictionless as possible to the player, so blindly trying to match mean anomaly was out of the question.

That's why I decided to reuse stock rendezvous system.

eQ2sHcn.png

Contracts will spawn a marker that you can rendezvous with the same way you rendezvous with a real vessel. That's because it is a sort of a dummy vessel:

B92fLH7.png

just without any visible or physical part.

I recommend to rendezvous with the marker as close as possible first and then match the required orbit. This way the constellation will stay synced the longest.

Dependencies

Contract Configurator v2.10.0.0 (relatively recent version, I had to add a few things to make this pack work)

Module Manager

Download

spacedock

CKAN

github source

FAQ

Spoiler

Q: Contract says my antenna is too weak, but I'm pretty sure it strong enough.

A: Check "range modifier" in your difficulty settings, it weakens your antennas without without showing the change in VAB. Also strength calculations inside VAB are bugged. Since there isn't any in-game feedback for antenna strength, I recommend using mods like Antenna Helper.

Q: I got contract for the same relay twice.

A: Shouldn't happen unless you used the console to force complete the contract. This unfortunately doesn't really work, as the follow up contracts often depend on the vessel from the original contract. Force complete skips the code that saves the vessel, so as far as this contract pack is concerned: the vessel doesn't exist/was destroyed.

Changelog

Spoiler

version 0.8

  • Replaced TRANSMIT antenna requirement with EITHER antenna for all satellite contracts

version 0.7

  • Added station-keeping contracts for generic relay and sentinel contracts
  • Added support for Squad's v2 antennae (by Tutul) (supposed to be in the prev version. but I failed at git)
  • Requires Contract Configurator v2.10.0.0

version 0.6

  • Relaxed requirements for followUp relays
  • Fixed some CC warnings
  • Increased number of simultaneous sat contracts from 2 to 3
  • Updated the marker part and hopefully fixed its occasional drift
  • Changed required antenna type from TRANSMIT to either TRANSMIT or RELAY for satellite contracts
  • Added support for Squad's v2 antennae (by Tutul)

version 0.5

  • New contract: replace old (moon or planet) relay with a stronger one. Should apply to early-career relays.
  • Lowered tech and antenna strenght requirements for KSO relay contracts (around RA-15).
  • New contract: replace old KSO relays with RA-100-tier ones (effectively the same tech and strenght requirements as the original KSO relays contract)
  • Changed contract group names to be more consistent
  • Lowered tech requirement for the generic polar satellite contract
  • Fixed required antenna power in the generic satellite contracts
  • Fixed requirements for the generic satellite contracts for non-stock Kerbin

version 0.4

  • Added rescaled agent logos
  • Added an alternative KSO relay contract for non-stock Kerbins, adjusted KSO relay follow up to work with both versions
  • Added generic satellite constellation contract that becomes available after all non-generic are completed
  • Minor balance changes
  • Fixed incorrect inclination in both Lagrange point contracts

MIT License

Edited by IO
update
Link to comment
Share on other sites

3 hours ago, bacontornado said:

Looking forward to trying this out later! Since it replaces stock satellite contracts, is this compatible with Clever Sats? 

Thanks! There should be no problem in having both installed. Contract Configurator allows pack creators to disable given stock contract type (which both I and clever sats do for stock satellites), but there should be a Contract Configurator tab it in the difficulty settings, where you can override what to enable or to disable. If you want, you can have all three: stock, clever sat and constellations active simultaneously. Similarly, you can disable them at any point and it won't break anything.

Link to comment
Share on other sites

  • 2 weeks later...

The only thing that doesnt work for rescaled system is that stock kerbin is required for the geostationary contract. I've edited for myself and simply put in the SMA of my 3.5 rescale system. Had to figure that one out manually.  

Link to comment
Share on other sites

Posted (edited)
25 minutes ago, dave1904 said:

The only thing that doesnt work for rescaled system is that stock kerbin is required for the geostationary contract. I've edited for myself and simply put in the SMA of my 3.5 rescale system. Had to figure that one out manually.  

I didn't make it generic because I wanted the relay to be exactly above the KSC. I have no idea how to achieve it without hardcoding the orbit. I probably could make a generic version, for non-stock Kerbins, where the player is free to pick the position of the first relay. Will look into it!

Edited by IO
Link to comment
Share on other sites

Posted (edited)

Hi, i'm having my first L4 Relay contract:

The moon of the contract have a 9° inclination, but the contract want a 0° orbit.

Since the contract want the Relay to stay a full day under 1000 km from the target, the condition can only be satisfied close to AN or DN.

Is it intended to works this way, with the relay close to L4 only 2 times for orbit?  Or it's a bug, since the Relay is not actually in a L4 Orbit as intended?

 

0WnjN2I.png

Edited by urturino
Link to comment
Share on other sites

Posted (edited)
10 hours ago, urturino said:

Hi, i'm having my first L4 Relay contract:

The moon of the contract have a 9° inclination, but the contract want a 0° orbit.

Since the contract want the Relay to stay a full day under 1000 km from the target, the condition can only be satisfied close to AN or DN.

Is it intended to works this way, with the relay close to L4 only 2 times for orbit?  Or it's a bug, since the Relay is not actually in a L4 Orbit as intended?

 

0WnjN2I.png

It's a bug, should be a quick fix.

EDIT: updated, should be fixed now

Edited by IO
Link to comment
Share on other sites

26 minutes ago, urturino said:

Bug or i'm doing something wrong?

Kind of both. It has to be a "transmit" or "direct" antenna, not a relay antenna. The fact that it show an OK in the VAB is a Contract Configurator bug. TBH the way it is now is pretty unnatural to the player and I was thinking of changing it to "transmit or relay" for the satellite contracts. I'll probably make a Pull Request to Contract Configurator first though.

The other thing I should probably mention in the OP (that also tripped me in some other contract packs) is: the range modifier applies to contract parameters e.g. if a contracts wants a 100G antenna, but you have range modifier set to 0.8, you need combined 125G. Maybe I should make a Pull Request to fix that too.

Anyway, please do keep the feedback coming.

Link to comment
Share on other sites

10 hours ago, IO said:

Kind of both. It has to be a "transmit" or "direct" antenna, not a relay antenna. The fact that it show an OK in the VAB is a Contract Configurator bug. TBH the way it is now is pretty unnatural to the player and I was thinking of changing it to "transmit or relay" for the satellite contracts. I'll probably make a Pull Request to Contract Configurator first though.

The other thing I should probably mention in the OP (that also tripped me in some other contract packs) is: the range modifier applies to contract parameters e.g. if a contracts wants a 100G antenna, but you have range modifier set to 0.8, you need combined 125G. Maybe I should make a Pull Request to fix that too.

Anyway, please do keep the feedback coming.

OK thank you. I didn't think about using a direct antenna because I thought all the contracts were for relays.
 

Link to comment
Share on other sites

Posted (edited)

Hello! I can edit it locally no big deal, but I feel that "High Tech Electrical systems" is way too high of a requirement for the keostationary satellite contracts. I havn't played stock or standard CTT in a while, so it may be different there. However, in Probes Before Crew, that tech tree node costs 1450 science and is 7 layers deep. It is pretty much a "you unlock this when going to jool" vibe to it.

It calls for a strong relay, though so obviously we want something decent. The RA-15 relay is quite capable for inner planets and I believe inner-planet capability is sufficient for keostationary. 

As such, I propose one of the following:

1. Make Keostationary satellite require RA-15/RA-100 directly rather than a tech tree node so that it is tech tree agnostic and universally applicable.
2. Make it require a given antenna power you feel is appropriate, making it mod agnostic entirely (ergo: you can now use whatever relay solutions you can to achieve that, such as near-future exploration's big reflectors to reach the neccessary values).
3. Make it target "Specialized electrics" instead, as that is suitable for "we finished Mun/Minmus and are now exploring Eve/Duna."
4. Excessive work but: Patches for various tech trees to keep things reasonably accessible. I only recommend this for sake of completeness, as it seems absurd to expect this.

 

edit: I checked the cfg, it actually does what my proposal 1 suggests, and after meeting the req it does 2.
As such, I instead propose maybe making it a tiered contract. First, low-tech relays. Second, RA-15 keostationary. Once you unlock RA-100, it asks you to deorbit the RA-15 ones and launch RA-100 ones.

Edited by RunaDacino
Link to comment
Share on other sites

Posted (edited)
3 hours ago, RunaDacino said:

Hello! I can edit it locally no big deal, but I feel that "High Tech Electrical systems" is way too high of a requirement for the keostationary satellite contracts. I havn't played stock or standard CTT in a while, so it may be different there. However, in Probes Before Crew, that tech tree node costs 1450 science and is 7 layers deep. It is pretty much a "you unlock this when going to jool" vibe to it.

It calls for a strong relay, though so obviously we want something decent. The RA-15 relay is quite capable for inner planets and I believe inner-planet capability is sufficient for keostationary. 

The idea behind the KSO Relay contract (I assume you mean the relay, because there's also the generic kerbostationary satellite one) is to be an end-game relay, that stays up until the end of time. Before that, the low-tech LKO relays were supposed to fulfill its role. I'm actually doing a fresh playthrough with Probes Before Crew and yeah it feels like there should be something in-between.

I have an unreleased contract for replacing Mun/Minmus relays when the player unlocks antennas strong enough to reach a pod-integrated antenna on the surface. I might do something like that for KSO relays too i.e. weaker intermediate relays that gets later replaced by RA-100-tier ones.

3 hours ago, RunaDacino said:

1. Make Keostationary satellite require RA-15/RA-100 directly rather than a tech tree node so that it is tech tree agnostic and universally applicable.

3. Make it target "Specialized electrics" instead, as that is suitable for "we finished Mun/Minmus and are now exploring Eve/Duna."

There's no hard-coded tree-node anywhere in the pack.

REQUIREMENT
{
	name = TechResearched
	type = TechResearched

	part = RelayAntenna100
}

The Contract Configurator just translates that to a node containing the given part when displaying requirements.

3 hours ago, RunaDacino said:

2. Make it require a given antenna power you feel is appropriate, making it mod agnostic entirely (ergo: you can now use whatever relay solutions you can to achieve that, such as near-future exploration's big reflectors to reach the neccessary values).

It's not currently possible in the Contract Configurator. I could make a PR to or a plugin for the CC, but I'm not sure if that would be better. Rescaling mods tend to rescale antennas too and stock antennas seems like a good indicator of the progression.

On the side note I did some rebalancing to the generic satellite contracts, as they too required unreasonably strong antennas.

 

Anyway: balancing feedback is much appreciated!

 

In other news: The next version of the pack is ready, but I'm waiting for my pull requests to the CC to be merged and released. I managed to make station-keeping for generic contracts work.

Edited by IO
Link to comment
Share on other sites

Really cool idea for a mod, I was never big on making constellations before but the contracts really drive me to do them! Enjoying it so far!

I had a question about the Medium Kerbin Orbit Satellite contract. The contract seems to become available when the HG-5 relay antenna (5M rating) is researched:

// Snippets from MKOSatellite.cfg
REQUIREMENT
  {
    name = TechResearched
    type = TechResearched

    part = HighGainAntenna5
  }

PARAMETER
  {
    name = HasAntenna
    type = HasAntenna
    minAntennaPower = 3000000000
    antennaType = TRANSMIT
  }

However, the requirement to complete the contract is for a transmit  (i.e direct) antenna with 3.0 G rating. That's dozens of HG-5 relays...is that intentional? I'm also a bit confused about this contract about a direct antenna being unlocked by research a relay antenna. I may just be missing something here!

Link to comment
Share on other sites

Posted (edited)
1 hour ago, ttikkoo said:

That's dozens of HG-5 relays...is that intentional?

Nope, I forgot to lower the power requirements while lowering the tech requirements. I fixed that in the unreleased version (lowered to 10M), but I'm still waiting for my PRs to be merged to the Contract Configurator.

I guess I could make a stripped down release, including the fix.

PS. If my calculations are corrects it's more than dozens, you'd need 5061 HG-5s :)

Edited by IO
Link to comment
Share on other sites

32 minutes ago, IO said:

Nope, I forgot to lower the power requirements while lowering the tech requirements. I fixed that in the unreleased version (lowered to 10M), but I'm still waiting for my PRs to be merged to the Contract Configurator.

I guess I could make a stripped down release, including the fix.

PS. If my calculations are corrects it's more than dozens, you'd need 5061 HG-5s :)

Ah, that makes sense, cheers!

Only slightly off with my numbers :0.0: I got curios about what 5061 HG-5s look like...got to 1950 before boredom and uncomfortable noises from my PC stopped me.

iTCT87C.png

Link to comment
Share on other sites

Spoiler
15 hours ago, ttikkoo said:

Ah, that makes sense, cheers!

Only slightly off with my numbers :0.0: I got curios about what 5061 HG-5s look like...got to 1950 before boredom and uncomfortable noises from my PC stopped me.

iTCT87C.png

 

I'm scared

Link to comment
Share on other sites

Version 0.5 out on spacedock

Changelog:

Spoiler
  • New contract: replace old (moon or planet) relay with a stronger one. Should apply to early-career relays.
  • Lowered tech and antenna strenght requirements for KSO relay contracts (around RA-15).
  • New contract: replace old KSO relays with RA-100-tier ones (effectively the same tech and strenght requirements as the original KSO relays contract)
  • Changed contract group names to be more consistent
  • Lowered tech requirement for the generic polar satellite contract
  • Fixed required antenna power in the generic satellite contracts
  • Fixed requirements for the generic satellite contracts for non-stock Kerbin

 

Spoiler
17 hours ago, ttikkoo said:

iTCT87C.png

"BE NOT AFRAID " - biblically accurate relay

Link to comment
Share on other sites

Posted (edited)

Having started doing interplanetary missions, I have to say...

This mod has managed to surpass the "CommNet Relays" contract pack for me in preference significantly. The reason? It allows you to use already launched vessels to fulfill contracts - which, for interplanetary missions - is a very useful thing if you prefer to use probe conveyors for an entire constellation rather than individual launches. Coincidentally, it's also much easier to space things out.

 

Many thanks for that, and the fast turnaround for the balance feedback & update!

Edited by RunaDacino
Link to comment
Share on other sites

11 hours ago, RunaDacino said:

It allows you to use already launched vessels to fulfill contracts - which, for interplanetary missions - is a very useful thing if you prefer to use probe conveyors for an entire constellation rather than individual launches.

That's only true for the first relay though, but now you mention it, I don't see why it shouldn't be also true for the "improve coverage" contract.

Link to comment
Share on other sites

  • 3 weeks later...

Hi, me again.

 

I have a contract that want 3 satellites in 3 markers. I put all three in the correct orbit, few meters from the marker, but the "keep the satellite within 7 km from the marker doesn't get marked.

 

Spoiler

QV8QUsb.png

 

Link to comment
Share on other sites

30 minutes ago, urturino said:

I have a contract that want 3 satellites in 3 markers. I put all three in the correct orbit, few meters from the marker, but the "keep the satellite within 7 km from the marker doesn't get marked.

Hmm, strange. You're sure you're looking at the correct section ("The first satellite", "The second satellite", "The third satellite") for a given marker (I can't really see that in the screenshot)?

I double checked and the code is exactly the same as the previous contract with 2 satellites, you hadn't had any problems there? Rendezvous check is a simple distance check so there's not much room for bugs.

If you upload your persistent.sfs savefile somewhere I could take a look with a debugger, although I won't have access to a PC until weekend.

Link to comment
Share on other sites

On 6/26/2024 at 2:43 PM, IO said:

Hmm, strange. You're sure you're looking at the correct section ("The first satellite", "The second satellite", "The third satellite") for a given marker (I can't really see that in the screenshot)?

Yes, all the section are unsatisfied. I even used the cheat menu to move a sat on all 3 markes, and still nothing. I tried with a new sat launched by itself, still nothing.

On 6/26/2024 at 2:43 PM, IO said:

I double checked and the code is exactly the same as the previous contract with 2 satellites, you hadn't had any problems there? Rendezvous check is a simple distance check so there's not much room for bugs.

I never had a 2 sats contract before, only 1 sat contract.

 

On 6/26/2024 at 2:43 PM, IO said:

If you upload your persistent.sfs savefile somewhere I could take a look with a debugger, although I won't have access to a PC until weekend.

I marked the contract complete with the cheat menu, but if it happens again i will do it.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...