CobaltWolf / Bluedog-Design-Bureau

Stockalike parts pack for Kerbal Space Program
https://forum.kerbalspaceprogram.com/index.php?/topic/122020-131mostly-functional-141-bluedog-design-bureau-stockalike-saturn-apollo-and-more-v142-%D0%B0%D1%82%D0%BB%D0%B0%D1%81-1feb2018/
126 stars 144 forks source link

BDB Contracts #829

Closed zorg2044 closed 4 years ago

zorg2044 commented 4 years ago

Given the number of science experiments now included in bdb some custom contracts for BDB could be a nice addition. They can be a compatibility patch for Contract Configurator.

I think the lowest friction way would be to do some basic science contracts requiring the bdb experiments based on a similar format to DMagic orbital science.

Of course if someone can come up with more interesting contracts in addition to that (perhaps some historical based stuff specific to bdb parts that would be pretty cool too). We've had a couple of expressions of interest so I will keep this issue track any work or discussions from interested parties.

Morphisor244 commented 4 years ago

Hey Zorg, I have actually been considering doing something of this nature, although leaning heavily on the historical stuff.

My idea is to take a 'prime selection' out of the History of Spaceflight contracts and add various extra parameters to them to make them more interesting, in particular for users of BDB (and also Tantares and perhaps ProbesPlus). The result would be a contract pack that removes all the clutter (failure launches and loads of repetitions) from the pack that I am currently working on, but move everything that's left to a higher standard.

The advantages of this approach would be that there are simply already a lot very suitable historical contracts available which portray the missions that BDB is designed to emulate with all its parts, which means it's not nearly as much work as building them all from scratch.

It may be easier to do this as a separate pack however; as far I understand contracts currently, it should be very possible to do this while leaving the BDB parameters as optional extras for those who have it.

I am still not sure what kind of parameters would be the best way of integration however; I ran out of ideas after the obvious ones: require certain parts on vessel and collect specific type of science.

With regards to a more generic set of contracts for BDB, wouldn't the science parameters be basically the same as stuff such as already done using Field Research or DMOS? As far as I am aware, BDB actually uses many of DMOS experiment definitions already. And Field Research seamlessly applies those definitions in the contracts it generates. So I guess what I'm saying is, how could we build something that's different or more specific than that?

friznit commented 4 years ago

Some ideas I've had in addition to the set piece historical missions (not sure if they're all possible with Contract Manager)

And maybe some repeatable contracts that popup from time to time:

zorg2044 commented 4 years ago

@Morphisor244 @friznit

While I think the big historical pack can be recommended by BDB we would like to have some contracts built in for people who dont want to download a big pack like that.

About DMOS, BDB shares a few experiments but we have copies of those experiment defs (like RPWS). The defs have a different name and we have an MM patch to switch them over to when DMOS is installed. We could steal DMOS style contracts to use when DMOS is not installed and also we need contracts in that style for the many new experiments we have that are not common with DMOS.

Also a lot of contract types looks for a specific part rather than then checking for the module I believe.

Morphisor244 commented 4 years ago

@friznit Generic and repeatable missions like you describe are fairly easy to build. Generic missions with fixed orbit parameters are not very generic however, not much else about them to diversify. The constellation missions would be a fair bit more complex and I would have to look into how commnet handles it, not sure how hard that is to build yet.

@zorg2044 That's kind of what I meant earlier, sorry if it wasn't clear. I meant for a new, smaller contract pack than the one I am currently working on. The smaller contract pack could then have the more generic and repeatable missions like friznit suggests and with more bdb specific parameters.

As for the science experiments, maybe we should start by making a list of the ones that should be contracted and how they were used or intended to be used historically? Then we can figure out the conditions that the contracts should look for.

Morphisor244 commented 4 years ago

I've been doing some more thinking about how to do BDB contract stuff. I think it comes down to 2 separate approaches:

  1. Adding BDB parameters to existing historical contracts. This should be separate from BDB release.
  2. Semi-generic, random contracts to generated for the BDB-specific science experiments. This could/should be included within BDB itself.

I will focus on # 2 here, though I may ask for input for # 1 in the future. For both approaches however, I figured I would need a complete list of all the science experiments and containers. So I made one myself, by going through the entire parts directory from the latest dev version. I'm pretty sure the list is fully complete with everything that's currently there - disregarding depreciated parts. It was a little hard for me to figure out which experiments are BDB-specific yet, assuming an install with DMOS and Scansat added. The compatibility file listings show less results than what I found in the parts?

BDB ProbeCapsule&Science list.xlsx

Having gone through the list, I noticed a few of the science defs currently do not have any actual parts that use them. These being bd_solarwind, bd_atm and bd_orbitalScope, as far as I can tell. But that's not the focus of this conversation.

In BDB there's currently 2 types of science parts:

How are those generic parts intended to be used? If I'm looking at it correctly, it would be with these parts in mind that generic science contracts could easily be written. My question then becomes however, what will set these contracts apart from any existing science contracts? We have to give the player something more than just collect science from space and transmit. I feel it would be most fitting if the BDB contracts would be based on historical use, but then made applicable to any celestial body?

Anyhow, I hope I'm making some kind of sense with all this, I didn't wanna talk too much here...

zorg2044 commented 4 years ago

the thing about generic DMOS style contracts is that yeah they wont be different in style but since many (most) BDB experiments are unique and need their own contracts.

I've mostly been going on about that because its the simplest and lowest friction way to get some sort of contracts in there but if you have ideas for something more interesting and how to structure them by all means they are more than welcome.

Parts/science stuff are fairly old and need revamping but with the exception of the hydrometer or whatever its called I think a version of all of them are in the probes expansion now.

Anyway generic contracts need to allow any parts with that experiment type to be used so I wouldnt worry too much about the stuff in Parts/Science too much specifically. Draw inspiration from the probes folder instead.

Morphisor244 commented 4 years ago

Yeah I'm thinking we need something more along the lines of DMOS style contracts, since otherwise we end up doing something that Field Research already does. So it should be something along the lines of random orbits with certain missions profiles which can be based on real probes that performed the science in question. IMO these should then be available for the whole system in a kerbalized way.

For these contracts it would indeed be better to reference experiments and not parts. This should work through the scidefs. As for referencing experiments, is it ok to assume that all the scidefs in /Resources are unique to BDB, or is there a narrower selection to make?

zorg2044 commented 4 years ago

Yeah they are all unique. Theres some crossover with DMOS for like magscan and rpws where if DMOS is installed they get switched over to the DMOS scidef but everything else is unique and we need to account for when DMOS is not installed too.

Morphisor244 commented 4 years ago

Yikes, that's a lot to work with then. I will see if I can come up with a concept for one of them this week. I noticed DMOS doesn't actually use Contract configurator for its contracts, but seems to run on the stock system. Would having CC dependent contracts be an issue within BDB? Either way, I'm gonna have to learn a few new tricks.

DeltaDizzy commented 4 years ago

Yeah DMOS's contracts are part of the plugin, CC just takes all the stock API parameters and makes them accessible via config files.

CobaltWolf commented 4 years ago

It wouldn't hurt to have the configs that just get activated if CC is installed, right?

Morphisor244 commented 4 years ago

Well I went ahead and spent the entire day working out a contract, which takes the best of both Field Research and DMOS. It's rather loosely based on the OSO satellites, which is eased by BDB having a couple of specific experiments for those parts. I made it so the contract specifically looks for opportunities to conduct those (currently 4: bd_atm, bd_solarwind, bd_uvspec and bd_oso) experiments on any celestial body that has been orbited by the player. Perhaps requiring only a flyby/achieving space may be enough here, but that's a balance question.

It does check if those experiments have been run around the possible targetbodies, so you don't get to do the same ones over and over. That always annoys me personally, seeing the same contracts come up for the same stuff you already did. The contract randomly selects between 2 and 8 of the possible science combinations to perform.

Anyhow, in the contract itself it requires players to achieve a semi-random orbit that scales to the target body's radius. Players have to hold orbit for 30 days and can then transmit the science. I haven't actually tested it in flight yet, but the idea is that it should not allow completion if you transmit science before the 30 days are over.

As with my work on the historical contracts, care has been taken to allow the contract to be compatible with any planet pack; no specifics are referenced anywhere and rewards scale with size.

Hopefully this matches the ideas you guys had in mind!

Note that there's 2 files in the zip; the other is needed to provide a contract group which all contracts under BDB would fall under.

edit: ugh for some reason it currently crashes after taking the contract, no idea why yet... to be continued. edit2: problem seems to be solved, please try this version if you wanna have a look:

BDB contracts20200318.zip

Morphisor244 commented 4 years ago

Beware, lengthy post ahead. TL;DR: proposed mission profiles. I have the list available as an excel as well if that's easier :)

Following our short discussion on discord, I figured it would be best to discuss the actual mission profiles to be developed, before doing so and having to change stuff later. So, without further ado, these are the missions I have come up with after going through all the parts and experiments currently available:

OSO - initial version already developed. For part set: OSO/SOO Experiments: bd_oso, bd_solarWind, bd_photometer (removed bd_atm because it's a Skylab part) Repeatable: Once per experiment situation Profile: Inclined 30 day orbit of any orbited CB, collectscience only for experiments not yet performed.

Ranger For part set: Ranger/Burke Experiments: bd_Tvcamera, bd_ionElec, bd_gammaRay, bd_Uvspec, bd_radarAltimeter, logIontrap, seismicscan Repeatable: Once per experiment situation Profile: Impactor probe - science has to be transmitted from the vessel from LowSpace before impact. Impacting ground of target body not optional. Transmit seismic data after impact. Collectscience only for experiments not yet performed. Notes/Concerns: Lowspace and surface experiments are biome specific. Hard to aim for specific biome in advance. Make normal repeatable instead?

Mariner For part set: Mariner/Wayfarer Experiments: logmmImpacts, logIonTrap, bd_microwaveSpec, bd_Irradiometer, bd_magScan Repeatable: Once per CB - achieved by using nextunreachedbody Profile: Interplanetary flyby. Collect science from space upon flyby of other planets - planets only, no moons. Notes/Concerns: If the contract is somehow failed, it cannot be repeated for the same body when trigger is nextunreachedbody. This may be undesirable.

OGO For part set: OGO/OOG Experiments: bd_ionElec , gravityscan, logIonTrap, bd_gammaray, bd_magScan, bd_massSpec Repeatable: Once per experiment situation Profile: Highly eccentric polar orbit of any reached CB, collectscience only for experiments not yet performed. Notes/Concerns: Probably best not to require all/most experiments at once; contract is liable not to fire if some have already been done.

Nimbus For part set: Nimbus/Aeolus Experiments: bd_weather, bd_microwaveSpec, bd_Irspec, bd_Irradiometer Repeatable: Once per experiment situation Profile: Circular medium range polar orbit of any reached CB with atmo, collectscience only for experiments not yet performed. Notes/Concerns: none yet.

AIMP / IMP / Explorer 33/35 For part set: AIMP / IMP mag boom Experiments: bd_magScan Repeatable: Once per experiment situation (effectively once per cb) Profile: Inclined HighSpace orbit of any reached moons, collect science and maintain orbit for 30-50 days. Notes/Concerns: actually very similar to DMOS magneto contract; how could it be different and still 'realistic' science contract?

LunarOrbiter For part set: Codac film camera Experiments: bd_camera Repeatable: Once per experiment situation (biome) Profile: Launch probe into highly eccentric, equatorial orbit of any reached moon. collectscience only for experiments not yet performed. Notes/Concerns: none yet.

Corona (KH-1 /KH-4) For part set: Cerveza SG-1/SG-4 Experiments: bd_mapping Repeatable: Once per experiment situation (biome) Profile: Launch into low polar orbit, obtain photo's of 2 different biomes and recover capsule. Notes/Concerns: Allowing non-homeworld contracts makes it last longer, but recovery may become more creative.

Gambit (KH-7 /KH-8) For part set: Gamble SG-7/SG-8 Experiments: bd_surveillance Repeatable: Once per experiment situation (biome) Profile: Launch into low polar orbit, obtain photo's of 2 different biomes and recover capsule. Notes/Concerns: Allowing non-homeworld contracts makes it last longer, but recovery may become more creative.

Skylab For part set: Skylab/Hokulani/Kane Experiments: bd_atm, ModuleScienceLab Repeatable: Once per planet? Profile: Launch a new manned station into orbit containing the Skylab workshop part. Secondary phase to add extra module containing Telescope mount to perform bd_atm experiment. Notes/Concerns: Much overlap with other station missions, BDB added value is only in requiring specific parts and the bd_atm experiment

Gemini For part set: Gemini/Leo Experiments: crewReport, mobileMaterialsLab, logmmImpacts,bd_GeigerCounter Repeatable: Once per planet? Profile: Launch 2 manned capsules with at least 2 kerbals each into low orbit, rendezvous and dock them. Transmit science after docking; undock, land and recover materialslab experiment. Notes/Concerns: Works well for homeworld, but may be a bit too much for interplanetary?

Finally, I deliberately did not add Apollo, Explorer, Pioneer to this list; while they are definitely interesting parts, I cannot yet think of a mission profile for them that doesn't overlap immensely with the existing contracts or any of the above proposed contracts. For instance, while there are plenty of Pioneer and Explorer parts, they only have 1 experiment at a time AND their experiments are all already used in the above mission profiles. We are aiming for generically applicable mission profiles that are not one-time imo - historical contracts pack is better for those who want that.

Anyhow, I'd love to hear any feedback on this so we can work out what profiles to include in BDB, please share your thoughts!

zorg2044 commented 4 years ago

@Morphisor244 this is looking pretty good!

Some specific feedback

re Ranger - No need to tell people to aim for specific biomes. Thats kinda tricky. One thing you could consider for landing contracts is Strategia style contracts where you ask people to land in any 3 biomes for instance. idk if thats in contract configurator or whether thats just through Strategia plugin. Worth a look?

more generally - We talked about using the experiment itself as much as possible but I think if you feel the contract parameters are limiting you (if they've been performed etc) no harm in requiring specific parts. I think so long as the part requirements are specific instruments rather than the entire probe build thats still quite fine.

Morphisor244 commented 4 years ago

@zorg2044 Thanks for the feedback, much appreciated.

You got a good idea there for the Ranger, that seems better than my proposal. Strategia uses CC based contracts so that part is easy to copy. The reason I initially went with specific, unreached biomes is to try to avoid it being endlessly repeatable and therefore popping up for bodies the player is no longer interested in doing this for. So, if we say the contract is for impacting 3 biomes, we gotta choose: do we allow endless repetition, or do we limit the contract to once per CB - which is only possible by limiting it to the body being landed on before, for example. But that may make it unavailable after doing any other landing contract for the CB in question. There may yet be a middle ground here to find, but I don't know of any that have been used.

As for parts limiting, so far I feel it's only really applicable to the Skylab contract. Though perhaps for AIMP too, as I'm really not satisfied with that one yet, being essentially a copy of DMOS - the historical flight just happens to be that way :/

CobaltWolf commented 4 years ago

Hell, maybe that will encourage more specialized probes if you're just asking for a specific instrument...

And I mean, hey, on that note... if you were going to require, say, four specific experiments... is it possible to randomly ask for two out of that group?

Morphisor244 commented 4 years ago

@CobaltWolf Yes it is certainly possible to randomly select a few experiments out of a possible set. In fact, the OSO contract that I shared already does exactly that. In this case, for my current version, it has 3 experiments to choose from and 2 possible situations: lowSpace and highSpace. This leads to a total of 6 possible experiment parameters per CB. The contract is currently set to take 3 to 6 out of these for a single mission; the number can be adjusted of course.

For some other experiments/missions the number of situations will be a lot greater, since some lowSpace experiments have different results for each biome they are performed at or above.

Morphisor244 commented 4 years ago

On the topic of parts requirements, it is possible to add parts requirements that are not hard requirements but optional, though without rewards attached to them (apparently rewards within vesselparameters are bugged so that's a no-go currently). For example, it can be made an optional requirement to include the Nimbus probe core and science parts for the Nimbus missions. Without rewards it's really just a check for players during build.

Maybe it's worth doing a hard requirement for the main probe core however, players can figure out the rest however they want then but are still pushed into a somewhat fitting direction?

As an alternative or extra, I could add notes to the contract suggesting which parts set to use.

Morphisor244 commented 4 years ago

@zorg2044 I ended up with a different version of Ranger than what was discussed here. I did try your suggestion with landing in any 3 biomes. While I eventually managed to get it working (after a lot of headache), it became an absolute clusterfuck in mission control/active contracts screens.

The reason for that is, the contract looks for multiple instances of each parameter; in effect, it becomes a 'launch 3 probes and do different stuff on each one of em' contract. But because I couldn't specify any specific biomes, it simply allows all of them AND displays all of them as a result. The mission control screen was probably several pages worth as a result, hehe.

Strategia manages to avoid the clusterfuck by only telling you to land in any biome and nothing else, which is literally 2 lines of code. So it only lists the possible biomes and nothing else.

For now I also left out the seismic scan on surface, since in testing it proved problematic to crash at high speed and still be able to perform the science. And since in reality that part of the mission was actually never successful or even attempted in later Rangers, I figured it's best to leave it out.

CobaltWolf commented 4 years ago

Are you doing the hard lander correctly? The idea (in the mod as in IRL), is you time it so the retro motor brings you to 0 velocity a hundred feet or so above the surface (in BDB you need to cut it with the shutoff feature). After that detach the solid and let the lander fall to the surface.

I think that could potentially be a separate contract though.

CobaltWolf commented 4 years ago

Personally I don't like the idea of including requirements for other parts - I think I want it to be so that the 'canon' builds can complete the missions but players can lego anything they want with just the science parts being the payload and implied impetus for the mission.

Morphisor244 commented 4 years ago

@CobaltWolf that might be thing. I guess doing it that way, in KSP terms it would mean simply requiring a soft landing instead of a crash. I don't think there's an easy way for the game to differentiate which parts you use to do the landing with without being super-restrictive. So I guess what it comes down to is, which Ranger mission do we want to emulate?

As for parts restrictions, I've kept them to a minimum mostly, only the Keyhole missions require the appropriate camera, and Gemini ATV requires the GATV materials bay, as well as docking ports for both vessels. Further restrictions are only implied whenever certain experiments are requested.

Another thing I have been thinking about is the Skylab mission(s). I don't yet see a way to make it into an original mission that is very different from what there already is. The generic stock or Bases and Stations contracts do a very similar thing and the only thing lacking is a BDB parts/science requirement - other than that players can already Skylab with those contracts. A more guided, historical approach is more fitting for the actual historical contracts pack. So I think I'm going to propose leaving this one out for now, I will be sure to add Needs:BDB parameters to the historical version once I get to that.

So with Gemini now being submitted, that's all proposed missions done so far. It's 10/12 missions depending on how you count em, so it's a good number I think. But if there's any good ideas to add more variety that's really different from what's already here, by all means tell me and I will work on it.

CobaltWolf commented 4 years ago

Well for "Ranger" there's four profiles...

Block 1: These were the two "engineering" flights but they let "sky" scientists put a bunch of experiments on them. They only went to high earth orbit. Block 2: The "advanced" ones that were meant to do the whole rough landing profile. The main bus still impacted. Block 3: The successful ones, these were impactors with the TV cameras and that's really the only experiments. Mariner 2: I consider it part of Ranger for organizational purposes... this is a flyby of Eve or a similar planet.

I have a bunch of thoughts on Gemini (basically expanding it and specifying things... you could have an EVA, an endurance, a "docking mission" that could be completed by ATDA, and then a "docking > high orbit > low orbit > reentry" mission that represents the GATV mission profile) but I'll have to expand on them more later.

Morphisor244 commented 4 years ago

While there's definitely room for more variations, I'm not so sure all variations should be part of BDB. We'd essentially get a lot of similar missions that do a few parameters differently. This may cater well to the historical crowd, but doesn't seem very fun to add to the generic style there currently is - which is applied to all bodies in the system by the way, with exceptions depending on the mission. Variations would be harder to apply to the entire system - try extensive orbital docking maneuvers around Jool, good luck there.

I would suggest that the variations are better kept in the historical missions set. The only additional argument there is, that those don't include alt-history versions... yet That's something that could be remedied if there's a demand for it.

Morphisor244 commented 4 years ago

Having finished writing the historical Apollo contracts, I'm thinking there may be a place for a generic BDB version of Apollo after all. However, in order for it to be sufficiently different than "do a manned landing on body x", it needs to be quite a bit more complex. My proposal would be for the mission to follow the Apollo 15/16 flight plan:

  1. Establish low, elliptic orbit around targetbody.
  2. Have lunar module land on targetbody at a randomly generated waypoint.
  3. Plant flag, do experiments - for recovery. Option: randomly select possible BDB experiments to be added to this, instead of any will do?
  4. Lunar module must return and dock with Command module.
  5. Launch sub-satellite into orbit (same orbit as command module). Note: this can technically also be done right after arriving. Forcing it all sequential is likely to create issues.
  6. Transmit science from sub-satellite (particle physics experiment).
  7. Return home and landed science recovery.

This even still omits the seismic experiment and impacting of the SIV-B and Lunar module stages, but that would complicate things further and this already results in a very much filled contract window.

Further considerations: I have not yet figured out a way to select a waypoint for specific biomes, so don't see it being possible to automatically select where there's science left, unless the waypoint is omitted entirely and the player simple has to deduct the landing zone themselves from the science asked. Also, it may be worth considering allowing this mission for bodies without atmosphere, considering the increase in difficulty when it's there (and bodies like Eve...)

Finally, this mission does rather have a progression gap coming from the other BDB contracts currently; going from orbital exploration and docking to manned landing, skipping probe landing and manned flyby - although the latter was historically skipped for the Moon as well, and it kind of makes sense to get right to landing if you're there with precious man-hours anyway.

Any thoughts? :)

zorg2044 commented 4 years ago
  1. Establish low, elliptic orbit around targetbody.
  2. Have lunar module land on targetbody at a randomly generated waypoint.
  3. Plant flag, do experiments - for recovery. Option: randomly select possible BDB experiments to be added to this, instead of any will do?
  4. Lunar module must return and dock with Command module.
  5. Launch sub-satellite into orbit (same orbit as command module). Note: this can technically also be done right after arriving. Forcing it all sequential is likely to create issues.
  6. Transmit science from sub-satellite (particle physics experiment).
  7. Return home and landed science recovery.

This even still omits the seismic experiment and impacting of the SIV-B and Lunar module stages, but that would complicate things further and this already results in a very much filled contract window.

Any thoughts? :)

This looks quite interesting. So this is dependent on unlocking the parts right? It will still be generated if you've already landed on the moon? Be a shame to gate it out if say someone has already landed on the Mun with a Gemini lander using a LOR architecture.

The subsat btw should only have a gravimeter experiment (in game that is).

Morphisor244 commented 4 years ago

This looks quite interesting. So this is dependent on unlocking the parts right? It will still be generated if you've already landed on the moon? Be a shame to gate it out if say someone has already landed on the Mun with a Gemini lander using a LOR architecture.

The subsat btw should only have a gravimeter experiment (in game that is).

Yes it is basically independent on unlocking the parts - though it makes a lot of sense to require the technodes where the Apollo parts reside to be unlocked before offering it. For in-contract parts requirements, this can be left open entirely, or just require the main CSM module or lunar module.

There's a few ways to limit the offering of this contract with regards to progression - like you say, just having landed before is not one that should be used. But like many other BDB contracts, it may be possible to limit to specific experiments, which would stop it being offered if said experiments have already been done on the surface. I am however not sure if it's possible to combine that with a random waypoint that the player needs to land on, so that may not be the best way to do this.

Which means that without any restrictions, the contract would simply be offered, and keep being offered, for any body (without atmo) that has been orbited or even landed on - sensibly an unmanned landing would precede it, but there's no such mission in bdb contracts, so that doesn't fit well.

As for the subsat, I did notice the bdb subsat uses gravityscan. The NASA description (https://nssdc.gsfc.nasa.gov/nmc/spacecraft/display.action?id=1972-031D) however suggested to me that the logIonTrap experiment seemed more appriopriate. But that's details, really.

zorg2044 commented 4 years ago

Which means that without any restrictions, the contract would simply be offered, and keep being offered, for any body (without atmo) that has been orbited or even landed on - sensibly an unmanned landing would precede it, but there's no such mission in bdb contracts, so that doesn't fit well.

Well even though its not historical, we do have ranger lander parts so maybe some sort of unmanned contract could be made, a simple one just requiring either the Ranger or Ranger B cores?

As for the subsat, I did notice the bdb subsat uses gravityscan. The NASA description (https://nssdc.gsfc.nasa.gov/nmc/spacecraft/display.action?id=1972-031D) however suggested to me that the logIonTrap experiment seemed more appriopriate. But that's details, really.

Yeah it also did some mascon analysis though which I guess was the inspiration to put the gravimeter in there. Its an old part with old configs but I think I will keep it as is.

Morphisor244 commented 4 years ago

Well even though its not historical, we do have ranger lander parts so maybe some sort of unmanned contract could be made, a simple one just requiring either the Ranger or Ranger B cores?

That's a good idea, I'll have a think on that; Cobalt may get his rough lander mission after all!

zorg2044 commented 4 years ago

@Morphisor244 I'll have a think about what to do about this: https://github.com/CobaltWolf/Bluedog-Design-Bureau/issues/880

Considering leaving in the BDB altimetry experiment but not sure.

Morphisor244 commented 4 years ago

That's unfortunate. It's easy enough to leave that experiment out of the Ranger contract, it's got plenty left after that. Thinking about this, I am more worried about a few other experiments that get deferred - mostly to dmos, like bd_magscan? The AIMP contract uses that one exclusively..

zorg2044 commented 4 years ago

Oof yes. I'm thinking maybe stop switching over the experiments? Or can you make the magnetomer experiment switch in the contract depending on the presence of DMOS?

Hopefully the community science def thing will happen at some point. We need to figure out what to do in the meantime.

Morphisor244 commented 4 years ago

I think I can figure out a MM patch to have the experiment switch to DMOS magScan, within the contract. Lemme see if I can work it out and get back to this.

zorg2044 commented 4 years ago

If you can switch them over that might be best for now. Its only a couple of experiments that are being switched like that, magscan and RPWS.

Looks like Gieger switches to the FASA version of that but Im going to nuke that patch.

biohazard15 commented 4 years ago

Seems that Ranger Block 2 contract reintroduces SCANSat incompatibility (issue #880).

Morphisor244 commented 4 years ago

Seems that Ranger Block 2 contract reintroduces SCANSat incompatibility (issue #880).

I have already caught that, pull request for the fix was submitted earlier!

biohazard15 commented 4 years ago

I have already caught that, pull request for the fix was submitted earlier!

The fix needs a fix, though - it should be @DATA[experimentslist], not @DATA[experiments].

Morphisor244 commented 4 years ago

I have already caught that, pull request for the fix was submitted earlier!

The fix needs a fix, though - it should be @DATA[experimentslist], not @DATA[experiments].

Ugh, I must have been sleeping, you are right of course. Hopefully I can stop spamming these pull requests now, sorry!

zorg2044 commented 4 years ago

Some feedback on the OGO contract:

IMO it should be split into two, roughly similar to the 2 IRL profiles

  1. One for highly elliptical and low inclination orbit,
  2. one roughly circular low polar orbit

The current contract calls for a highly elliptical polar orbit but also has biome specific science requirements. This is hard to gather in such an orbit.

If its split the biome specific science can just be limited to the low orbit, polar mission profile. and the high alt science can be gathered on the elliptical mission.

biohazard15 commented 4 years ago

Further feedback.

1) Gemini (again...): the bug I've mentioned at the forums is fixed now, thanks! ATV part works as intended and without any noticeable bugs. Gemini part also works, but might be hard to spawn - I failed to spawn it after 10 mins of declining, so I went and increased BDB contract limit to 7 - this did the trick. YMMV - this seemingly depends on currently unlocked contracts. Note that during declining frenzy I had ATV part spawning constantly - both for Kerbin and other bodies. This brings us back to the idea of limiting it somehow. Science check and docking check are out of question - but how about a cooldown period of several in-game days? Can CC do that?

2) Mariner: finally started spawning (even before the aforementioned limit increase). It also can give a contract for the Sun, which probably is not intended: screenshot2 Speaking of the Sun: Helios contract, maybe? Something like AIMP contract, but targeting only the Sun and requiring both magnetometer and RPWS.

3) OGO: I agree with Zorg - it should be split in two.

Morphisor244 commented 4 years ago

Thanks for your feedback. Gemini not loading directly after ATV is entirely due to the way CC checks its requirements and the vessel targeting involved, no other way around it. I found it will load, just may need some scene changes and/or time to pass, those things usually shake CC awake. In other words, this is the best it's gonna get. Not sure what you'd want to do with a cooldown here.

Mariner triggering for the sun is indeed unintended, working on a fix now - it is surprisingly hard to get it to target the next unreached bodies conditionally AND still have it trigger for reached bodies under other conditions.

I don't think splitting OGO is a good idea however, it would mostly result in yet another contract type fighting for the limited space and generation in mission control, potentially making it harder for other types to spawn. The added value would be minimal. The existing contract has been edited already to balance it out better.

biohazard15 commented 4 years ago

The cooldown would help (somewhat, at least) to avoid possible confusion from several ATV parts active at once. The prime example is the fact that ATV part can be generated for the same body you've just completed it for - without generating a follow-up Gemini part. Stopping ATV part from spawning for aforementioned "some time" (hour? day? several days?) would free a slot for Gemini part - this would benefit player experience, IMO.

EDIT Ranger: looks like "First Ranger mission must have been completed before and target body must have been flown by before" requirement works only partially. This is what greeted me after I've completed Mariner contract for Minmus (which was also the first time I've entered its SOI on this save): screenshot3 Also note the second Mariner contract for Minmus. Looks quite strange, IMO.

Morphisor244 commented 4 years ago

@biohazard15 I don't know of a way to put a cooldown on a contract from itself - only cooldown I know that works is a CompleteContract requirement - however using that on itself effectively prevents the ATV contract from generating at all.

As for Ranger, I'm not at all sure a CompleteContract Req works body-specific, but the contract still loads after adding a targetbody line to the Ranger Completion Req, so may be it actually does? Try it out, testing is inconclusive on my end. If this doesn't work, there's no other way without creating all other kinds of issues.

biohazard15 commented 4 years ago

Sad to hear about no cooldown. Guess we'll just have to deal with it :)

Ranger - I wasn't able to load rough landing contract after that fix. But then again, there is no guarantee that it won't load. Another case of "deal with it" - because, as you said, trying to fix this may introduce a plethora of bugs.

Apollo (finally got to it! Yay me):

"Be sure to bring at least two pilots" - in fact, this is a quite bad advice. Stock ALSEP requires both engineer and scientist for maximum efficiency. That's why LEM ascent stage has a probe core.

"Land at designated area" - 1 km is too small, IMO. Can be a pain, even with MJ landing autopilot. I suggest extending the target area to 5 km.

"Must have a docking port" mysteriously didn't registered. "Return Kane and its crew home" also didn't registered. I've used BDB Apollo docking ports, I've followed all instructions to the letter, and I've landed and recovered the CM.

Morphisor244 commented 4 years ago

@biohazard15 Thanks for testing. Ranger contracts are no longer offered if you've returned from the target surface, so that may be affecting you. Otherwise, I can't tell at this point. Further career testing is expected within a few weeks, when I get to it in my own career.

Apollo:

Morphisor244 commented 4 years ago

@biohazard15 submitted a few minor changes to Apollo contract: mainly moved the returnhome parameter out of the VPG, so hopefully docking and return parameters now complete properly.

biohazard15 commented 4 years ago

These fixes helped - contract now completes as intended! I even put some intentional abuse - like going back to KSC to pick a "plant flag" contract (because monies) or saving and loading more than needed.

Still, the minor problem of "Land at designated area" persists. This time, I was somewhat lucky and landed at 1300m from target. Problem is, the target was on a slope of a crater, so I had to err... improvise. Let's just say that LEM breakdancing shouldn't be a thing...