Jump to content

[1.0.x] No Astronauts Need Apply: Kerbal-less Space Program (formerly KAINET) v1.1.1 2015 Aug 01


Kerbas_ad_astra

Recommended Posts

No Astronauts Need Apply: Kerbal-less Space Program

An addon for Kerbal Space Program which modifies the technology tree to allow (and require) players to refrain from using any Kerbals during their career. Formerly known as KAINET: KAA Artificial Intelligence Network for Exploration, with Techtree.

The public has had enough of disaster-prone missions and "space cowboy" agencies whose ambitions are larger than their capabilities. KSC administrators' protests that new safety regulations would cause crewed missions to become impractically expensive have fallen on deaf ears. With heavy hearts, they have updated their hiring notices to reflect the new reality: No Astronauts Need Apply.

No%20Astronauts%20Need%20Apply%20logo.png

"No Astronauts Need Apply" was inspired by an idle thought of mine: "What would it take to make a space program with no Kerbals in it?" The more I thought about it, the more challenging I realized it would be. For all of our jokes about their lack of common sense, Kerbals are handy critters to have around -- they can repack parachutes, pick up science, transfer supplies, and repair broken landing gear. Unless there's a way for spacecraft to do the same things themselves (not to my knowledge), the only way to "repair" things is to put it on a module that can be removed and replaced. This has to be done using docking ports, since no Kerbals means no Kerbal Attachment System. No Kerbals also means no building rockets with Extraplanetary Launchpads, so spare parts have to come all the way from Kerbin. I guess this means the Kerbal universe is safe from self-replicating machines for the time being, though taniwha did mention having ideas for a separate mod enabling robots to build things when I brought this up in the EPL thread...

Anyway, since tech-tree mods seem to be all the rage these days, I figured I'd put together a little tech tree and contract tweak to enforce these restrictions. This patch will suppress any part with non-zero crew capacity, as well moving the Stayputnik to Start and the QBE to Stability (and tweaking their entry costs accordingly). It also suppresses contracts involving flags, station and base construction, surveys, and tours. (I've decided to leave rescue contracts alone, because the capsule itself can be rescued in various ways.) I thought fiddling with the contracts was going to be really hard, but Arsonide put FinePrint's contracts in the same config node system as everything else, so thanks a million!

For extra immersion, go into your settings and disable the space center crew.

Dependencies

Depends on Module Manager to function.

Download and install

From there, just unzip the "NoAstronautsNeedApply" folder into your GameData directory. (Delete the "KAINET" folder if you have it from a previous install.)

Recommended addons

  • Flag Decals pack from SciFi Shipyards for flags that don't require Kerbals (including a folding flag). Sadly, they don't act as flags for the purposes of contracts, nor do they appear as flags on a map, nor can they be given plaques, but they look cool!
  • Infernal Robotics for articulation bits to help with assembly and "repair". Its model rework is really slick as well.
  • Ship Manifest to allow "unkerbed" (:wink:) transfer of science. (This mod's config includes a patch that allows all probe cores to become science containers, so science results can be drained from heavy experiments.)
  • Starwaster's Probe Science patches to allow probe cores to do more science themselves. If these patches are present, and specifically are in a folder by the name "StarwasterSciencePatches" (as they are in the package by default), then NANA will only suppress survey contracts whose "experiments" require a crew (i.e. Crew Report, EVA Report, Surface Sample).

Version history

  • 1.0 (2015 Feb 14): Initial release.
  • 1.0.1 (2015 Feb 15): Tweaks after some initial playtesting and revision.
    • Z-100 batteries moved earlier, into "Survivability".
    • Made the contract config patches less brittle -- no longer dependent on the order of blocks in Contracts.cfg.
  • 1.1 (2015 May 30): Updated for 1.0.
    • Also, renamed from "KAINET" to "No Astronauts Need Apply". It's more descriptive, and I want to use the KAINET name and flag for something else...
  • 1.1.1 (2015 Aug 01): Added .version file.
    • Also, deleted and re-created this addon on KerbalStuff so it's there under the proper name.

Known and anticipated issues

This patch will apply to all saves on its install! It won't destroy any ships in flight or in the editor that have crewed parts, but you won't be able to launch any new ones!

If you identify any other issues, please raise them on the forum thread or the GitHub issue tracker

Roadmap

I'm pretty happy with this patch as it is, but if you want to see any changes, please suggest them here at the GitHub repository.

I'm also working on a series of modular vehicles that can be suitable for NANA missions. I'll probably put up a thread about them in The Spacecraft Exchange as they're made.

Source

The source for this addon is hosted on GitHub. (The whole thing is pretty much its own source.)

License

No Astronauts Need Apply is copyright 2015 Kerbas_ad_astra. Configuration files are released under the Apache 2.0 license. All other rights (e.g. the No Astronauts Need Apply logo) reserved.

Edited by Kerbas_ad_astra
Finally fix formatting for forum update.
Link to comment
Share on other sites

Well, after a few minutes of playing KSP with this patch, I can tell you what the first changelog is going to be (to 1.0.1):

  • Move Z-100 batteries up a step, into Survivability
  • New known issue: it seems the first couple of visual survey contracts are hard-coded to be "crew reports". Just decline them and the "Collect Data" missions should start to show up.

It will be a little bit before I get this change pushed out, but I'll keep you all posted.

Edited by Kerbas_ad_astra
Deleted a change which I had already made.
Link to comment
Share on other sites

Awesome Ideas, I love it. I will be testing this soon.

I almost never made manned missions. I did because I was forced to do so in career :P

Suggestions: It would be interesting to make a pack with DMagic Orbital Science and possibly other mods that help non manned mission.

Link to comment
Share on other sites

Good luck with this! Until I push out the battery update, you will certainly struggle in the early phase -- the Stayputnik's battery won't last it even one whole orbit.

Regarding your suggestion, bundling mods can cause issues with license incompatibility (wouldn't be a huge deal in the case of DMOS, but moreso as the number of mods increases) and support (which I don't have the time or experience for). I'm interested in keeping my stuff as simple as possible. That said, if it helps robotic missions (how so? Is it just that more experiments and contracts means more stuff for robots to do?), I'd be happy to add DMOS (or anything else you have in mind) to the list of recommended addons.

Link to comment
Share on other sites

Is there a way to get rid of those initial contracts without depending on Contract Configurator? I'd look at how Contract Configurator does it, but (a) I'm worried that it will require a custom DLL and (B) Contract Configurator's license is incompatible with KAINET's (in addition to being generally inappropriate for a software project -- if Contract Configurator were released under the GPL, I would be totally fine with using some of its code and then inheriting that license).

It is a good point and I did consider it when releasing initially. There are things that are appealing about creative commons as a general license that I won't get into here. In terms of my intent for Contract Configurator:

  1. If you create content "for" Contract Configurator (ie. create contracts or other configuration), I do not care what license you use - I do not consider this a derivative work that falls under the ShareAlike clause of CC-BY-NC-SA-4.0 license. But there's enough ambiguity here that I should clarify in Contract Configurator
  2. If you link to it (and I mean this in the programming sense), I do not care what license you use. This would seem to be at odds with CC's ShareAlike clause (although as you point out via your link, it's not explicit, since it's not designed for code). I need to fix this to make my intent clear in this regard.
  3. If you look at Contract Configurator for examples of how to do something and take a method or two (or even a class or two), I really don't want to force you to use the same license (although I would appreciate a quick attribution). I'll have to give some thought about how I want to lay this out, as I would have issue if someone took the whole thing and changed the license.

I'll consider potentially re-licensing under a license that meets my personal requirements, but it definitely won't be GPL (does not meet #2 above).

But what confusing me is you already have Contract Configurator as a recommended mod - so if you want to disable any/all of the contract from stock, you just need to provide this in a config file as part of your mod:

CONTRACT_CONFIGURATOR
{
disabledContractType = AltitudeRecord
disabledContractType = ARMContract
disabledContractType = BaseContract
disabledContractType = CollectScience
disabledContractType = ExploreBody
disabledContractType = FirstLaunch
disabledContractType = GrandTour
disabledContractType = ISRUContract
disabledContractType = OrbitKerbin
disabledContractType = PartTest
disabledContractType = PlantFlag
disabledContractType = ReachSpace
disabledContractType = RescueKerbal
disabledContractType = SatelliteContract
disabledContractType = StationContract
disabledContractType = SurveyContract
}

Or is the concern that doing so turns Contract Configurator from a recommended to a required dependency? Anyway, if you want to do it in your own code, I have no issue with you using the method from Contract Configurator under any license you choose (although this would mean a custom DLL, yes).

Link to comment
Share on other sites

I disabled all of those contracts myself partly because I discovered that they were all exposed in a config (and therefore within my "reach"). I also didn't know that Contract Configurator could do it. :) That said, I am interested in minimizing dependencies, so I'll leave those patches in -- and now that I know that Contract Configurator can touch them, maybe I should see how you do it to make sure that we don't step on each other (or warn that we might).

The other advantage I see to leaving the patches as they are is that I can tinker with them to e.g. support Starwaster's patches, though now that I think about it, I'm sure Contract Configurator could do the same thing (or make equivalents from scratch).

In any case, if the starting contracts can only be disabled or altered by a DLL, it's well outside of my capabilities for the time being (I only just got my GitHub and CurseForge accounts stood up, never mind this compilation business), which means the soonest it could probably happen is sometime around the release of Half-Life 3. :wink:

Regarding licenses, the LGPL is basically the GPL, but with an exception for programs that link against the licensed work, though the ghosts of software freedom will haunt me if I don't follow up that mention by pointing you to an essay entitled "Why you shouldn't use the Lesser GPL for your next library".

Link to comment
Share on other sites

I disabled all of those contracts myself partly because I discovered that they were all exposed in a config (and therefore within my "reach"). I also didn't know that Contract Configurator could do it. :)

In terms of the history, Contract Configurator was started before the Contracts.cfg existed in stock - so at the time there wasn't a way to disable via configuration.

That said, I am interested in minimizing dependencies, so I'll leave those patches in -- and now that I know that Contract Configurator can touch them, maybe I should see how you do it to make sure that we don't step on each other (or warn that we might).

They should be compatible. The stock way just prevents the contracts from being eligible to generate. My way is more brute force - it rips the contract right out of the contract system.

The other advantage I see to leaving the patches as they are is that I can tinker with them to e.g. support Starwaster's patches, though now that I think about it, I'm sure Contract Configurator could do the same thing (or make equivalents from scratch).

No to doing the same thing, but equivalents from scratch is possible (depending on the contract).

In any case, if the starting contracts can only be disabled or altered by a DLL, it's well outside of my capabilities for the time being (I only just got my GitHub and CurseForge accounts stood up, never mind this compilation business), which means the soonest it could probably happen is sometime around the release of Half-Life 3. :wink:

Regarding licenses, the LGPL is basically the GPL, but with an exception for programs that link against the licensed work, though the ghosts of software freedom will haunt me if I don't follow up that mention by pointing you to an essay entitled "Why you shouldn't use the Lesser GPL for your next library".

Right, and LGPL is in consideration. I disagree with GNU's depiction in that link of the situation as being a moral battle between two sides.... but I really don't want to turn your thread into a discussion about what is more free. :)

Link to comment
Share on other sites

1.0.1 is released! No huge changes, but some I've made some tweaks after playing some more with KAINET and meditating on Module Manager:

  • Z-100 batteries moved earlier, into "Survivability".
  • Made the contract config patches less brittle -- no longer dependent on the order of blocks in Contracts.cfg.
  • Bonus: a new treat in the readme files in the downloads. I can't embed an image in a text file, so I did the next best thing!

They should be compatible.

Glad to hear it!

Right, and LGPL is in consideration. I disagree with GNU's depiction in that link of the situation as being a moral battle between two sides.... but I really don't want to turn your thread into a discussion about what is more free. :)

Fair enough. Squad and the KSP modding community are certainly friendlier than, well, I'm sure we've all got our "favorite" big software companies. :wink:

Link to comment
Share on other sites

Why not just let probes do Crew Reports, ala Probe Science?

That's an interesting thought, but the collect data missions only show up if Probe Science is already installed (otherwise *all* survey missions are suppressed), and I don't want probes able to do the same "kind" of experiment but only have one satisfy any particular contract. I feel like that would be a major source of user confusion and frustration.

Link to comment
Share on other sites

  • 2 months later...

For my legions of adoring fans (heh), looking at Contracts.cfg, it seems that I'll need to make a few minor changes before this addon is compatible with 1.0. Tours are obviously going to have to go, and maybe grand tours as well (unless they're not keyed to astronauts -- I'll check that when I get to them in "testing"). We'll see if Squad made their initial contracts no longer depend on having crew (that would be nice). I don't expect any difficulties, but I'll need to spend some time testing 1.0 to make sure there aren't any surprises.

Also, the name will change. I've made those changes in one Git branch, and I'm making the 1.0 compatibility changes in another; hopefully I can put them together without destroying anything...

Link to comment
Share on other sites

  • 1 month later...

I've updated this addon for KSP 1.0.X. Note the name change! You should delete your old KAINET folder before installing the NoAstronautsNeedApply folder (all eight of you...:)).

Other changes: the contract system seems to be more robust (in my testing, robotic flights cleared the "first flight" and altitude/speed/distance record contracts just fine), so there's no recommendation for InitialContracts anymore. I didn't even get a spurious crew report contract for the first visual survey mission!

Link to comment
Share on other sites

  • 2 months later...
Like your idea but I can't live without Jeb :P

Fair enough. I kind of miss hearing their chatter when I send probe campaigns on my regular install.

Honestly, playing with pilots only is still pretty challenging -- no fixing anything and no resetting science experiments, not much good at building rockets with EPL...

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

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