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

Hard-coded contracts should be replaced with Contract Configurator #65

Closed
cherrydev opened this issue Jan 26, 2015 · 8 comments
Closed

Comments

@cherrydev
Copy link

I've already begun this work, since I'm feeling like the biggest gap in RP-0 as being a career component is the lack of realistic contracts. The only additional contract types that RP-0 currently adds is the sounding missions and a person-in-orbit mission, both of which are trivial to implement using configurable contracts.
Benefits of using Contract Configurator instead of coded contracts include:

  • More accessible to create and modify, since it does not require a development environment
  • A rich variety of contract parameters that can include scientific research, docking, sequences of steps to be completed, generated ships with crews, multiple involved ships, built-in support for RemoteTech and ScanSat.
  • Includes an extensibility API that can be used if additional capabilities are needed.
  • Contracts can be added, removed and changed without having to restart KSP.
  • Upcoming (in a week or two) debug window that graphically shows the state of the different requirements and parameters of your contracts.

I've already written config files that could replace the two built-in contract types, but I'm even more interested in hearing some ideas for some contracts that could be used as proofs-of-concept for the idea of using Contract Configurator.

@NathanKell
Copy link
Member

This sounds great. That's exactly what I'd love to see Contract Configurator used for, and why I was so enthused when it was first posted. We will still need a plugin to disable the bad stock contracts, and a plugin to fix the inclination of FinePrint contracts, but otherwise woohoo for Contract Configurator! And woohoo for you taking this on! :)

Ideas:

  • Sounding rocket contracts generally, not just altitude records. For example, loft science payload X to Y km over biome Z ( @Felger aurora sounding rockets!); launch to MEO or HEO orbital altitude; do one of those on a certain day to catch some phenomenon.
  • LEO Satellite contracts at all rep levels with sane inclinations (~30-60 degrees)
  • Comm network contracts (LEO, MEO, and GEO)
  • Film return: orbit over biome X at altitude Y, take pictures (i.e. activate goo sample, we're going to turn it into a camera), return film.
  • Bio sample missions (LEO, HEO, translunar, etc)
  • Sane test contracts, i.e. test an uncrewed capsule/lander before humans fly in it, all-up lunar landing hardware test, test Mars mission in Earth-Moon space, etc.
  • Probes: replace the existing Explore contracts. Flyby, impact, fly by the dark side of the moon and transmit, landing, sample return. Surveying missions (polar or high-inclination). Grand tour. Primary + satellites mission (bouncing between moons and Jupiter, say).
  • Docking: automated, crewed.
  • HSF: suborbital, orbital, duration (3-5 days, week, 10 days, two weeks, +), number of crew, perform EVA, docking (as above), translunar, lunar orbital, GEO, polar lunar, lunar landing, translunar missions
  • X-Planes: fly at x altitude at y speed for z time, reach X altitude record, reach X speed record.

Hopefully that should give you a place to start. :)
You can also check out BARIS (free) and its remake Buzz Aldrin's Space Program Manager (not so free) for mission ideas.

@BevoLJ
Copy link
Contributor

BevoLJ commented Feb 6, 2015

I can't begin to express how excited I am about this. Wahooo \o/

@NathanKell
Copy link
Member

@cherrydev any news on this? :)

@jrossignol
Copy link
Contributor

Totally missed that you guys referenced jrossignol/ContractConfigurator#63 from over here (as it still hasn't been implemented since it hasn't fallen in line with my plans for contract packs, which are the current driver for development). I'll make sure that one gets included in the next milestone (0.7.0).

If there's anything you guys feels is missing that you need, just raise an issue so I can prioritize those items. 👍

@jwvanderbeck
Copy link
Contributor

The thing really hurting RP-0 right now is early game contracts. You essentially have just the sounding rockets at Start, then your next major milestone is bunches of almost impossible orbital contracts.

We need something in between. I'd like to see some sub orbital contracts, and then LEO ones that have inclinations AND eccentricities you can actually do in the early tech tree. You need to be a real wiz to pull off the nearly circular orbits the game wants. We need contracts with eccentricities like 0.3 or so I think. Need to check the math on that, @NathanKell any thoughts on numbers?

On a side note @jrossignol Ikeep meaning to look into how to work with ContactConfigurator with TestFlight which will allow for a lot of the hardware testing that we want to do in RP-0. I have an issue for it here: KSP-RO/TestFlight#10

@NathanKell
Copy link
Member

Eccentricity of 0.3 is quite extreme (Explorer I's 358x2550 is only 0.14), but yes, early orbits should allow a certain degree of eccentricity, and should allow pretty much any inclination (or should require a high one for Earth-science missions, to get coverage of most of the planet).
In particular, we need to care about:

  1. SMA (that determines lifetime in orbit)
  2. Inclination (that determines how much of the earth the orbit "sees")
  3. Eccentricity (much beyond 0.2 and you get too much "hang time" at apogee).

@jrossignol
Copy link
Contributor

The new CollectScience parameter is done development and will be released with Contract Configurator 0.7.0. It should be released within the next week.

@NathanKell
Copy link
Member

Actually doing this stuff finally.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants