Jump to content

Contract Pack - Research Advancement Division - v1.2.1


Morphisor

Recommended Posts

57UhBqx.png

INFO

Research Advancement Division is a contract pack designed provide direction and reward players for doing science experiments.
It is intended to be an alternative or complementary to Field Research.
The difference with Field Research is that these contracts are designed with logical mission profiles in mind: each contract should be complete-able within a single flight, without unnecessary limitations.

Included are currently 7 contracts:

1.    Orbital study: a variety of experiments across all available biomes, low and high space only
2.    Orbital biome observation: experiments focused on 2 specific biomes, low and high space only
3.    Surface study: a big suite of experiments while landed (or splashed) in 1 specific biome
4.    Surface analysis: smaller set of experiments than the surface study, but spread out over 2 biomes instead.
5.    Atmospheric investigation: suite of experiments while flying high and/or low in the atmosphere of a planet, across several biomes.
6.    Local Observation Flight: a big suite of experiments while flying high and/or low in 1 specific biome
7.    Leftovers: several experiments that have already been done before, but still have >1 science value left to be recovered.

All contracts are targeted at a single planet/moon at any time and only request science subjects that have not been done at all or at least have some value left (Leftovers contract only).
Mods which add additional experiments are automatically supported!

Feedback is welcome! 

IMPORTANT: To ensure the best functionality for the surface contracts, I recommend all users to navigate to the Contract Configurator main folder (located at Gamedata/ContractConfigurator) and delete the files named BiomeData.cfg and BiomeDataDefault.cfg. Once you load up the game of your choice the biomedata will be automatically regenerated, this time with the correct values.

 

DOWNLOAD

Github: https://github.com/Morphisor244/Research-Advancement-Division/releases

SpaceDock: https://spacedock.info/mod/2929/Research Advancement Division

 

DEPENDENCIES

Contract Configurator by Nightingale is a hard dependency, without it this will not work! Get it here:

 

CHANGELOG

Spoiler

V1.0.0
Initial release.

V1.0.1
Folder structure fixed.

V1.1.0
- Added contract Local Observation Flight: large set of experiments in flight, for a single biome
- Changed Leftovers contract to only request experiments from a single situation instead of a mix. Beware, this may reduce ability for the contract to generate.
- Minor improvements to subject selection logic

V1.2.0
- Added contract Surface analysis: smaller set of experiments than the existing surface study, but spread out over 2 biomes instead. Goal is to allow for smaller craft(probes) to be more feasible for surface missions.

V1.2.1
- Improved Local Observation flight subject selection logic to hopefully avoid requesting impossible experiments
- Changed max simultaneous contracts to 7, matching the number of available contract types.

RECOMMENDED MODS

Spoiler

[x] science - realtime info and database on what experiments are available and which you've already done 

 

 

Science Alert - This is the best way to do your experiments the instant they are available. Easy one-click execution the moment you need it, very handy when going fast over small biomes.

 

 

CREDITS

@nightingale - For providing Contract Configurator and Field Research
@Friznit - Concept feedback

LICENSE CC-BY-NC-SA-4.0

Edited by Morphisor
Link to comment
Share on other sites

I'd like to dedicate a post here right away to further explain the rationale behind this contract pack.

I've been playing career stuff for years, and I always use Field Research in those games; science after all is the core progress mechanic in this game and the stock game does a poor job of providing incentives for any of it. Even so, something about it all still never quite clicked for me. Recently I realized this is because while Field Research does an excellent job in showing the opportunities available, for me at least the resulting missions needed to complete the contracts just didn't feel like the way I'd want to go about it. This mostly comes down things like the biome studies mixing all situations for a single area and with different experiments for each situation too, which often means a whole set of launches needed to get it all done. Or the surface science requiring a rando scientist to be taken along, taking up a precious crew slot that could've been used to gain experience for your existing crew - or maybe even going in without crew at all!

And that's where the idea for this pack was born: I wanted to do science, but using mission profiles that just make sense. I did my best to provide missions that provide flexibility of approach, but allow the player to use a more 'realistic' approach to mission planning. I tried to somewhat limit the diversity of experiments requested to avoid spacecraft being stuffed like ugly mules just because the contract asks for it, but still having a meaningful number of subjects to cover. The orbital and atmospheric contracts will often require the same experiment to be run in multiple situations, but there's some luck involved in the random draw.

I also entertained the idea of separating contracts for transmission from contracts for recovery of experiments, but I couldn't figure out a way to make this work - both in gameplay terms (quite some overlap) as in technical terms - I do not know of a way to filter experiments with low to no transmission value, since this info is stored in the part definitions, which CC does not read in this regard, and not in the experiment definitions themselves. Different parts for the same experiment can have different transmission efficiencies, so I gave up on this. Should you know a way to work with this though, I'd be all ears.

 

The reasoning behind the individual contracts is this:

  • 2 types of orbital missions which most of the time should be doable with satellite probes. You could combine them with setting up a relay or a SCANsat mission. The orbital biome observation hopefully promotes alternative orbit profiles like molniya.
  • For the surface study, I felt it important to do a good bunch of experiments once there. After all, going to the surface of another place is not something done lightly, so if we're going we better make it count. This contract should also draw splashed situations when seas are involved, though my testing showed that some planet packs (like the otherwise excellent JNSQ) have a tendency to ask for landed situation on sea biomes instead. Nothing I can do about though, CC just reads the definitions put out by the planet pack.
  • Atmospheric investigation is the setup I had my most doubts about, after all how well does this balance out when this is requested for a far away planet. It may demand some significant mission planning and overkill builds - do please let me know how it works out for you! I'd also be very happy to consider alternatives or an additional atmospheric contract type if anyone has good suggestions.
  • Finally, I felt the need for a leftovers contract as well. While Field Research has its own 'Scraps' contract, it's only one experiment at once, and who has time for that when there's hundreds!

BTW, this pack does not include its own equivalents of 'hard science' or 'KSC science', Field Research already does an excellent job there.

I'm very much open to suggestions on improving or expanding the contracts, do please leave a message!

Edited by Morphisor
Link to comment
Share on other sites

23 minutes ago, KawaiiLucy said:

The folder structure of the spacedock download looks odd. Should't the contracts all be inside a "RAD" folder? Currently it's GameData\ContractPacks\RADcontract_xyz instead of GameData\ContractPacks\RAD\RADcontract_xyz.

Oh my, you're right. What a rookie error.:(

Should be fixed now!

Edited by Morphisor
Link to comment
Share on other sites

There's a number of problems with the old Field Resarch pack that caused me so much frustration that i solved them on my own. Just as advice.

Rover arm science: In Field Research you'd get jobs to scan surface features in xyz biome, but that would never finish because rover arm science does not depend on biome. I turned that whole category of experiments off with a patch.

Station Parts Redux: That mod has a few parts that include science experiments, namely the confusingly named "visual observation" experiment that is done from station command parts and the "observe local space" experiment that's done with the shrouded telescope found in science parts. My problem with those is that you get jobs to do them landed. They work there, but command modules + huge telescope make for a horrible lander, roleplayingwise i find them highly unfitting, i solved that by limiting those experiments to orbit, you could just turn them off completely.

Link to comment
Share on other sites

3 minutes ago, anotherlurker said:

There's a number of problems with the old Field Resarch pack that caused me so much frustration that i solved them on my own. Just as advice.

Rover arm science: In Field Research you'd get jobs to scan surface features in xyz biome, but that would never finish because rover arm science does not depend on biome. I turned that whole category of experiments off with a patch.

Station Parts Redux: That mod has a few parts that include science experiments, namely the confusingly named "visual observation" experiment that is done from station command parts and the "observe local space" experiment that's done with the shrouded telescope found in science parts. My problem with those is that you get jobs to do them landed. They work there, but command modules + huge telescope make for a horrible lander, roleplayingwise i find them highly unfitting, i solved that by limiting those experiments to orbit, you could just turn them off completely.

You'll find that the surface contract used here excludes any experiment starting with the string "ROCScience", that oughta take care of the first issue already. Field research does the same for its surface scientist mission, though perhaps it pops up in other contracts there. That shouldn't happen here though.

As for the station parts thing, that's a thing on their side in my opinion. I'd agree that it's not ideal, but I'd rather stay away from trying to fix other mods' issues to suit our needs. I'd recommend requesting the change on their end, patching locally or simply declining when a contract tries to involve something silly and you don't wanna go for it. Some players may actually appreciate the challenge.

Link to comment
Share on other sites

1 minute ago, Morphisor said:

You'll find that the surface contract used here excludes any experiment starting with the string "ROCScience", that oughta take care of the first issue already. Field research does the same for its surface scientist mission, though perhaps it pops up in other contracts there. That shouldn't happen here though.

As for the station parts thing, that's a thing on their side in my opinion. I'd agree that it's not ideal, but I'd rather stay away from trying to fix other mods' issues to suit our needs. I'd recommend requesting the change on their end, patching locally or simply declining when a contract tries to involve something silly and you don't wanna go for it. Some players may actually appreciate the challenge.

Sounds like i can just replace Field Research with this then, that's good to hear!

Link to comment
Share on other sites

7 minutes ago, Morphisor said:

Why should it be excluded?

In the contract there are 3 probe experiments in high over space, and one Surface Deployed Seismic Sensor, which is completely different, that contradict idea of the mod

 

On 12/18/2021 at 6:22 PM, Morphisor said:

Research does an excellent job in showing the opportunities available, for me at least the resulting missions needed to complete the contracts just didn't feel like the way I'd want to go about it. This mostly comes down things like the biome studies mixing all situations for a single area and with different experiments for each situation too, which often means a whole set of launches needed to get it all done. Or the surface science requiring a rando scientist to be taken along, taking up a precious crew slot that could've been used to gain experience for your existing crew - or maybe even going in without crew at all!

Link to comment
Share on other sites

6 hours ago, flart said:

In the contract there are 3 probe experiments in high over space, and one Surface Deployed Seismic Sensor, which is completely different, that contradict idea of the mod

 

In your case you're showing the Leftovers contract, which is the one contract that does not differentiate across situations. Is that what you'd suggest here then?

Link to comment
Share on other sites

3 minutes ago, Morphisor said:

In your case you're showing the Leftovers contract, which is the one contract that does not differentiate across situations. Is that what you'd suggest here then?

Leftovers Contract also could have some logic, that is consistent with the rest of the contracts in the RAD.

Link to comment
Share on other sites

Alright, the remarks made by @flart had me thinking, setting the Leftovers contract to a single situation instead of a mix would be a better fit to the rest. So I went ahead and made that happen. I'm very interested to hear users' experiences with this however: it's quite likely this contract will be offered less often because of this change. I'd like to know if this works out for you!

I also did a few atmospheric flights with planes myself, which I normally never do, which gave me another realization: the existing atmo contract works well, but on large atmospheric planets a flight is often limited to a relatively smaller area. So I decided I should add another contract, that focuses on a single biome while in flight. 

These things together brought me to release the first major update already! I bring you:

 

**Version 1.1.0
- Added contract Local Observation Flight: large set of experiments in flight, for a single biome
- Changed Leftovers contract to only request experiments from a single situation instead of a mix. Beware, this may reduce ability for the contract to generate.
- Minor improvements to subject selection logic

Link to comment
Share on other sites

Surprise! I've got another update. Here's version 1.2:

- Added contract Surface analysis: smaller set of experiments than the existing surface study, but spread out over 2 biomes instead. Goal is to allow for smaller craft(probes) to be more feasible for surface missions.

The existing surface study works well for large (crewed or otherwise) landers, but doesn't fit well for players doing initial surface exploration with probes (think Luna/Surveyor/Mariner/Venera style). Hopefully limiting the number of experiments per area makes this work better. I made it ask for 2 biomes to still have a substantial amount of work in. You can do this in 2 flights, but if you're planning it well you should mostly be able to do them both with a single craft, doing a local hop. Or deploy 2 landers from a single launch, it's your choice!

 

As I've now nicely rounded out the available contracts to 2 for each situation, I expect this to be the final content update for this contract pack. Unless someone has a brilliant idea.

Support and balancing will continue to be possible of course. 

Edited by Morphisor
Link to comment
Share on other sites

On 12/18/2021 at 10:22 AM, Morphisor said:

This contract should also draw splashed situations when seas are involved, though my testing showed that some planet packs (like the otherwise excellent JNSQ) have a tendency to ask for landed situation on sea biomes instead. Nothing I can do about though, CC just reads the definitions put out by the planet pack.

@Morphisor

I'm offering to help fix the JNSQ issue (sea biomes are getting landed rather than splashed situations) and would appreciate your opinion on how to proceed. After your feedback I can move further questions into the CC or JNSQ threads as appropriate. I have little KSP modding experience but do have programming experience.

CC includes a BiomeDataDefault.cfg file for the stock planets. I couldn't find info about it in the CC documentation but I think I can figure it out by reading the CC code. Every biome has a landCount and waterCount, that is then used to calculate a landRatio, that finally gets used by GetPrimarySituation() to determine whether a biome should provide LANDED or SPLASHED contracts.

I'm not sure what units landCount and waterCount use. For testing, I might just use "100" for one of the variables and "0" for the other in most JNSQ Kerbin biomes. The Shores biome will get set to 50/50 since that seems to straddle all coastlines. I am going to ignore the CC LAND_LOCATION and WATER_LOCATION coordinates for now since RAD and other contracts seem to work in JNSQ without that.

I'll create a new CFG file, test it, post it here for further testing by other RAD users. After it works I'll offer it to the JNSQ team, and if they have reasons to not bundle it with JNSQ I'll share it as my own mini-mod.

Do you think my idea is promising, or doomed? Is there a better way to do things?

Link to comment
Share on other sites

1 hour ago, DeadJohn said:

@Morphisor

I'm offering to help fix the JNSQ issue (sea biomes are getting landed rather than splashed situations) and would appreciate your opinion on how to proceed. After your feedback I can move further questions into the CC or JNSQ threads as appropriate. I have little KSP modding experience but do have programming experience.

CC includes a BiomeDataDefault.cfg file for the stock planets. I couldn't find info about it in the CC documentation but I think I can figure it out by reading the CC code. Every biome has a landCount and waterCount, that is then used to calculate a landRatio, that finally gets used by GetPrimarySituation() to determine whether a biome should provide LANDED or SPLASHED contracts.

I'm not sure what units landCount and waterCount use. For testing, I might just use "100" for one of the variables and "0" for the other in most JNSQ Kerbin biomes. The Shores biome will get set to 50/50 since that seems to straddle all coastlines. I am going to ignore the CC LAND_LOCATION and WATER_LOCATION coordinates for now since RAD and other contracts seem to work in JNSQ without that.

I'll create a new CFG file, test it, post it here for further testing by other RAD users. After it works I'll offer it to the JNSQ team, and if they have reasons to not bundle it with JNSQ I'll share it as my own mini-mod.

Do you think my idea is promising, or doomed? Is there a better way to do things?

I'd be very interested to see what you come with it, for sure! What interests me about JNSQ in particular is that Kerbin has many seas, even inland water biome, and 9 out of 10 times I get a surface contract for any one of them, they will ask for landed situation. So if it works as you're saying, somehow the land to water counting ratios may be off from what it ought to be in JNSQ?

I can't say any more as to the merits of your endeavor, as I'm not familiar with the code behind CC and planet packs myself. Perhaps @OhioBob may be able to provide the necessary insight here?

Link to comment
Share on other sites

28 minutes ago, Morphisor said:

So if it works as you're saying, somehow the land to water counting ratios may be off from what it ought to be in JNSQ?

My initial research found that CC includes a cfg that has stock land and water measurements (unknown units but likely to be 2D area), and CC calculates ratio from that.

CC has no JNSQ patch, and JNSQ has no CC patch. Therefore, the JNSQ biome ratios can't be calculated and CC defaults biomes to land.

I'll experiment, then continue the discussion in the CC thread when I know enough to ask smarter questions, and also do a quick post in the JNSQ thread.
 

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...