KSP-RO / RP-1

Realistic Progression One - Career mode for Realism Overhaul
Other
345 stars 214 forks source link

Contract System Overhaul #642

Closed pap1723 closed 7 years ago

pap1723 commented 7 years ago

I was talking with Stratochief on the RO IRC channel and we got to discussing contracts for RP-0. Since I exclusively play career mode and I have created hundreds of contracts in the past, I agreed to look at overhauling the contract system used by RP-0. I have read through the contract threads of #620, #614, #566, #564, #562, #463, #177 to get ideas of what has been discussed before. I have essentially created this blueprint of ideas already with my Career Evolution Contract Pack but with RSS-RO, I have the ability to create much more detailed contracts that are not trying yo appeal to different solar systems and sizes.

I will try to lay out my thoughts and will edit this top post to clarify details as we agree to change them, or clarify them.

Let me know your thoughts, mission ideas that I may have forgotten, or anything else you would like to contribute.

Milestones

Satellites

These will open up after the First Satellite contract is successful. These will be grouped into early satellite contracts and then will be more advanced as certain milestones are reached.

Early Satellites

Advanced Satellites This group of satellites will be broken out into Communications, Military, Commercial and Scientific

Sounding Rockets, Human Records and Records

No changes

X-Planes

As of right now, there will be no changes. With the contract system the way it is, these cannot be forced to be completed by planes. I often will pick some of them when launching a rocket just to get the extra money. This might just have to be one of the player's self-imposed rules.

Lunar Exploration

Flyby Contracts

These will stay the same for all bodies in the game.

Orbit Contracts

Landing Contracts

Station Contracts

Human Milestones

Human Exploration

Surface Base Contracts

rsparkyc commented 7 years ago

Awesome, thanks for putting this together. I love the idea of losing control of the satellite for the commercial contracts, and it would be nice if part of that states that you need to have your payload be a certain weight. Also, many real life contracts only state that you need to put the satellite into a transfer orbit (GTO for instance), so perhaps that would be worth trying to replicate as well (instead of getting to the full geostationary orbit)

rsparkyc commented 7 years ago

Also, I have no idea how possible this would be, but it would be awesome to include some sort of principia support. I would love to have to have contracts that tell me to get to Earth Sun L1, and then perhaps other "maintenance" contracts to keep it there for a year at a time or something.

NathanKell commented 7 years ago

Awesome! This is gonna be super-great! So glad you're taking this on.

Some quick notes:

  1. For those of a civilian mind, it might be worth keeping plausibly deniable whether the film camera missions are military or high-resolution earth observation for science/commercial purposes. Same with the navigation networks (and look into the Transit constellation for an early version of that....)
  2. I highly recommend playing some BARIS if you haven't yet. That's broadly where I stole the milestone system from, and it should have a bunch of good ideas too, as well as how to weave milestones together.
  3. I'm skeptical of contracts providing science as a reward, because of how we try to limit science gains so much. Speaking of, we still need to implement a system to lower science gains across the board when you have more parts with more science instruments...anyway, I'm worried about more than a few token points (as the lunar flyby and orbital return missions grant), and I certainly think there should never, ever, be infini-repeatable contracts that grant science.

Lastly, pedant: Trundra -> Tundra ;)

pap1723 commented 7 years ago
  1. That is a good idea, so we will "eliminate" the military contracts and just group them all in Earth Observing Satellite contracts so that the other side doesn't know exactly what we are doing. Good strategy!
  2. So the whole reason I got into playing RO (which I vowed I would never do) is because I was playing BARIS and BASPM (the upgraded version) and wanted to make a Space Race Career conversion for KSP. I have done a lot of the work and have a fully fleshed out US tech tree with some contracts implemented. One example of what I was trying to do is to have a tech that unlocked a boilerplate version of say the Mercury capsule. It also unlocked missions that you had to accomplish. For example, you needed to test the LES and successfully land, and prove the human rating of the capsule with an unmanned suborbital and orbital flight. Once those missions were completed, it would unlock the tech that gave the player the fully working Mercury capsule.
  3. I hear you on this. This is the hardest part of balancing in my mind. One idea I had -> maybe a terrible idea -> is to nerf the science gains around Earth. Say set the multiplier to something very low like 0.25 or 0.5 for all Earth science. The primary way to generate science around Earth is to use these contracts. I know this is a HUGE fundamental change to how it works now and could become too grindy so it might be best to just skip that idea all together.

One day I'll learn how to spell!

On Mon, Apr 24, 2017 at 11:45 PM, NathanKell notifications@github.com wrote:

Awesome! This is gonna be super-great! So glad you're taking this on.

Some quick notes:

  1. For those of a civilian mind, it might be worth keeping plausibly deniable whether the film camera missions are military or high-resolution earth observation for science/commercial purposes. Same with the navigation networks (and look into the Transit constellation for an early version of that....)
  2. I highly recommend playing some BARIS http://www.raceintospace.org/ if you haven't yet. That's broadly where I stole the milestone system from, and it should have a bunch of good ideas too, as well as how to weave milestones together.
  3. I'm skeptical of contracts providing science as a reward, because of how we try to limit science gains so much. Speaking of, we still need to implement a system to lower science gains across the board when you have more parts with more science instruments...anyway, I'm worried about more than a few token points (as the lunar flyby and orbital return missions grant), and I certainly think there should never, ever, be infini-repeatable contracts that grant science.

Lastly, pedant: Trundra -> Tundra ;)

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/KSP-RO/RP-0/issues/642#issuecomment-296903921, or mute the thread https://github.com/notifications/unsubscribe-auth/ASjbfxC4FnXOcwVEn5ikHtBU2asOf9V_ks5rzXplgaJpZM4NGuYr .

pap1723 commented 7 years ago

Finished with #653

ppboyle commented 7 years ago

Hi, may I make a suggestion?

Instead of using a weight for the commercial satellites, I suggest you use a new resource type you'd define 'commercial payload' - with X liters required for a contract. That way engines and unburned fuel cannot count for completing the contract, and also you can assign a high cost to this resource, commensurate with the typical cost of such satellites - making launch reliability more prized. I'd expect the cost of the satellite to be part of the pre-contract reward of course.

Personally, I would also like such a system used for military and scientific repeatable launches - because the other items that have previously been required on repeatable contracts are very low weight, I find that I never have to vary my rockets for repeatable launches, just change out science equipment, and I'd really like the contract system to encourage me to build a variety of LV's for different payloads. Milsats especially historically required the heaviest LV's, and bigger rockets = moar fun. :)

glilienthal commented 7 years ago

There is no Deimos landing contract. :). And my spacecraft just did a deimos flyby and could land. Is this on purpose? or shall I do one?

pap1723 commented 7 years ago

I hadn't included one because I didn't think it was possible. Yes, please do!

On Jun 18, 2017 11:41 AM, "glilienthal" notifications@github.com wrote:

There is no Deimos landing contract. :). And my spacecraft just did a deimos flyby and could land. Is this on purpose? or shall I do one?

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/KSP-RO/RP-0/issues/642#issuecomment-309288542, or mute the thread https://github.com/notifications/unsubscribe-auth/ASjbf1GIedNrYCrYk7dS9LXfcQBGmcogks5sFVMigaJpZM4NGuYr .

glilienthal commented 7 years ago

Ok, let me try to land, and then add a contract if that's possible: : )

glilienthal commented 7 years ago

other point: I don't get a NewCrewStation contract offered, despite my station being up. This code seems a little weird to me: You first have to Complete a NewCrewStation Contract before you can start one? I waited >120d, but didn't help.

REQUIREMENT
{
    name = CompleteContract
    type = CompleteContract
    contractType = NewCrewStation
    cooldownDuration = 120d
    minCount = 0
    title = Complete @contractType Contract

}

glilienthal commented 7 years ago

Landing on Deimos is possible. Staying there is difficult. It's like Tschuri. ;) So landing contract is fine. Rover doesn't seem to make sense.

glilienthal commented 7 years ago

One comment on the atmospheric probe contracts: They seem to be very, very simple. You just dip with your normal orbiter/flyby mission 1km into the atmosphere. No headshield necessary, basically additional free money (+ Science!) for nothing.

I think they should be harder: e.g., requiring data from the low atmosphere, or asking for a an altitude below 50% of the height of the atmosphere or something like that.

rsparkyc commented 7 years ago

@pap1723 @ppboyle I love the idea of a commercial payload resource. May I add one suggestion? Perhaps for every mission you accept, you can programmatically make a unique commercial payload for each contract. That way, you couldn't reuse the same vessel for two different commercial missions. This would be important if we're upping the reward you get when accepting the contract to offset the price of the resource.

hargn commented 7 years ago

When I was working on repeatable satellite contracts, I did a requirement for a minimum amount of RCS fuel that the satellite should have when placed on the right orbit. The amount was varying from 100kg to 500kg and I placed factors of x1, x6 and x20 depending of the prestige of the contract. So repeatable ComSat contracts may require you to place a 100kg satellite on a low polar orbit to a 10t satellite on a GSO orbit, then you must have a brand of different launchers for all kind of these contracts.

The main difficulty of this is to select only propellant that are available (unlocked in tech tree), and the other part is to manage the hypergolic bipropellants (NTO+UDMH eg.).

pap1723 commented 7 years ago

other point: I don't get a NewCrewStation contract offered, despite my station being up. This code seems a little weird to me: You first have to Complete a NewCrewStation Contract before you can start one? I waited >120d, but didn't help.

REQUIREMENT { name = CompleteContract type = CompleteContract contractType = NewCrewStation cooldownDuration = 120d minCount = 0 title = Complete @contractType Contract }

So the important part of this is the minCount = 0. Basically it says that none of these types of contracts HAVE to be completed, but if one is, the cooldownDuration makes it so that one will not be offered for 120 days.

As to why you are not getting the contract, CC seems to be having a tough time picking out the station that is currently in orbit. This is an issue that has been raised.

pap1723 commented 7 years ago

One comment on the atmospheric probe contracts: They seem to be very, very simple. You just dip with your normal orbiter/flyby mission 1km into the atmosphere. No headshield necessary, basically additional free money (+ Science!) for nothing.

I think they should be harder: e.g., requiring data from the low atmosphere, or asking for a an altitude below 50% of the height of the atmosphere or something like that.

I agree. I will be going through the planets and figuring out a good altitude the probe must reach to be marked as a success. Thanks for pointing it out!