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
ComSat Contracts #562
Comments
Cool! If I may suggest some ways this could go, I think Observation satellites as well as communications could be nice. Thus, these contracts can have some families of different useful/historically used orbits as well as the communications capability milestones listed in the OP. These useful orbits can be made into repeatable contracts. In this sense, I would like to see:
For other planets/the moon, Comms relays contracts may be nice and implemented in a similar way to the earth analog, but I believe different increasingly challenging scientific mission profiles is the real deal. These could also be repeatable:
One thing that bothers me in the stock orbit contracts for the moon is that they assign a LAN, which is not very useful in real scientific mission to the moon, is it? |
I broadly agree with the progression you suggest. Else, I think to add other kind of requirements for the contracts :
|
Good ideas! Some that have been discussed in other Issues, other that haven't. Other Issues pertaining to satellite contracts include: #463 , #177 as you stated. Ultimately, what is needed is someone interested enough to learn to define contracts, might that be either of you? Even just starting with toy Contracts or studying the the existing ones would be a good place to start that. |
@hargn GEO is definitely the hardest one among all of these. low polar is the easiest, then Molnyia, Tundra and finally GEO (both in terms of dV and avionics capabilites). I'm not sure if there are other interesting synchronous orbits (Molnyia is 1/2 day and Tundra is 1 day orbital period, not sure there are other useful stuff)... One nice touch would be a GPS constellation, but I have no idea what are their orbital parameters. For these orbital constellations and observation satellites I wonder if with repeatable contracts it's possible to get them to maximize variability and not repeat key orbital parameters (for example, get different regions/biomes to be observed in each contract to get complementar coverage). Energy production (already present in contracts), attitude control and antenna range are definitely three nice aspects to add. @stratochief66 I could try to work a little on this, looking at implemented contracts it doesn't look terribly complicated. However, I don't have much time available... |
GPS constellation parameters:
Sources: GPS Satellite Constellation Nominal Orbit Parameters |
Speaking of RP-0 contracts...RP-0 lacks rover and base contracts too. I added in #563 a ESA-like base contract (2030+ project, the "moon village"), but we still don't have rover contracts. I don't really know how to check the state of the vehicle (on wheel, distance travelled, etc...) but it would be interesting to recreate real rovers contracts, from unmanned ones (Lunokhod, Pathfinder/Sojourner, Opportunity/Spirit, Curiosity, Mars 2020...) to manned rovers (Lunar Roving Vehicle, Mars Rovers proposal like Watney's one...). About the satellite contracts: with the growth of cubesat and smaller and smaller satellites there will be entire satellite fleet launched in LEO in just few launchs in the near future. Is there a way to do it in RP-0? Like "launch 10 unmanned probes in a specific LEO orbit in one launch, with a low mass per probe". I already hear you say; we don't have cubesat parts! And that's the problem, currently RO doesn't include stuff for tiny modern rocketry. |
@PhineasFreak Cool! Maybe getting a repeatable contract to launch into one of those 6 planes (I'm gessing they are at equidistant LANs, is that right?), regardless of RAAN to make things easier on the player would be nice @Zarbizaure I saw the lunar contracts you created, some nice ideas there. Something really simple and that would be nice is to add a repeatable uncrewed lander, with a random biome. @jrossignol, is it possible to create a random DATA list (like biomes) but have the contract sampling randomly only from the objects not yet taken in a completed contract of that type (technically, random sample without reposition)? This would be cool for constellations of sats and also for landing contracts to exhaust the available biomes I'm starting a really busy week, but I'll try to implement some of those satellite ideas as soon as I get some free time. |
@leudaimon - In 1.14.x, you would do:
But this does the selection first, then the uniqueness check against existing contracts, so it can be problematic. Luckily, that's changing in 1.15.x:
Which does the uniqueness check to filter the list down, then randomly selects a value from the list. Finally, if it's something that is deterministic (known at game startup), then you can do this (in 1.15.x only):
The above basically creates a copy of the contract type for each biome, which means with the mission control changes in 1.15.x the player can see the different contracts/biomes before they are offered. |
Thanks all for the info, these are a lot of ideas here, I will compile all of it to make the best contracts I can. There is also the sun-synchronous orbit : https://en.wikipedia.org/wiki/Sun-synchronous_orbit, but I can't believe the tide effect that keep the satellite always oriented to the sun is well implemented into KSP. Else I have seen a way to make variables where to put the list of biomes for an astral body. At each contract completion, the involved biome is removed from this list. So we can have repeatable scientific contracts. We can also look for the state of the art : https://github.com/jrossignol/ContractPack-FieldResearch/blob/master/GameData/ContractPacks/FieldResearch/BiomeStudy.cfg. But for me, it is not in the topic (as for the rover contracts), I think we should create another issue for the scientific satellites : this one is for communication satellites. |
@leudaimon yes, you could ignore the LAN restriction and just launch into a specific plane (like the stock "orbit" contracts). @hargn we can include SSO contracts even if they are not supported yet but this could easily change if Principia gets an official release. Then the contracts will be already there, ready to unlease all the fun to the player! |
I've updated the OP to reflect our ideas as a TODO list. Don't hesitate to comment it. @PhineasFreak @jrossignol can we play with groups in order to know the actual list of GPS satellites currently active in order to know which planes have to be completed? @leudaimon i'm currently working on the two first milestones contract, if you want to implement other ones, you are welcome. Else, I think it could be desirable to add a new branch where to put our first contracts before to merge them into the master one. |
Cool @hargn, it's a really nice TODO. If I may give a suggestion, I don't think polar orbits are that common for communication satellites, even though they are useful for spy/observation satellites. Additionally, you are right regarding the ComSat vs. Scientific missions, they are better kept separated. Besides, at least for early-mid game, Comsats on earth and scientific missions in other bodies would be nice. Once I get some time I'll get to make a new issue OP to deal with scientific sats. I'll try to keep an eye at the advances here and in the ComSat contract building, and give input/help. |
I know that the polar and sun-synchronous orbit are less common for commsats. I thought too about spy satellites that we could add to the scientific/observation satellites : SSO are commonly used I believe, and we can also design contracts to send spying satellites near other commsats as the Olymp-K russian sat did twice https://en.wikipedia.org/wiki/Intelsat_901. The spy sat should stay close to the commsat for a while (1d to 1w eg.) |
It's very cool have all these ideas coming out, even though I think it would be nice to start with a simpler set of contracts that allows the earth-based stock satellite contracts to be disabled. Here I have the Polar/GSO - Tundra and Molnyia/GEO set with milestones and repeatables in mind, with increasingly demanding antenna reach, maneuverability and power. Once this set is ready, other more advanced stuff can be added. What do you think? |
@hargn i believe that you can specify a "maxCompletions" for the contract so that it requires a minimum amount of satellites in order to complete it (although i do not know how to limit the orbital parameters to be within the limits of the GNSS constellation). Galileo uses the same principles as the GPS but with vastly different operational parameters (higher orbits, half of the obital planes but with the same inclination). India's NAVIC uses GEO satellites to provide coverage so these can be done similarly as with the World First GEO contract and China's BeiDou system uses a mixture of these (both MEO and GEO). |
I've started to write the two first contracts in the Milestones series. I'm leaving on vacation for the next 10 days so I may to not work a lot on this issues during this period. |
@hargn, Have you taken a look at RP-0/GameData/RP-0/Contracts/Satellite/WeatherContracts.cfg? I just noticed the low polar orbit contract, as well as some stuff similar to what you have in mind, is there. Maybe it would be nice to combine efforts, adjust some contracts there to make them more general and also contemplate commSats. |
@stratochief66 @PhineasFreak @NathanKell |
@hargn sorry for being late! Since you have already created a new branch for the contracts (ComSatContracts) you can create a PR from that one and push it to the RP-0 master. The KSP-RO people will have to wait of course for a formal release of CC 1.15 to fully merge it but you can work on it freely in the mean time. |
A lot of this was implemented in the contract Overhaul. |
The goal of this issue is to discuss of the way to add contracts to launch communication satellites and constellations for earth and later other solar system bodies.
As intended by issue #177, the stock satellite contracts should be replaced by RP-0's ones. These contracts could also replace the contracts provided by RemoteTech for the constellations.
I think to inspire myself from this page : https://en.wikipedia.org/wiki/List_of_communications_satellite_firsts to implement a regular progression of contracts around the Earth.
The list of contracts that I intend to implement (WIP) :
Milestones
Repeatable
Objectives/Constraints
Don't hesitate to lead me, thanks
The text was updated successfully, but these errors were encountered: