Jump to content

[0.90] KerbalFeels 0.1.0 beta-release - Plugin for Inter-kerbal relationships (4/3/2015)


wpatter6

Recommended Posts

This mod which I announced last week, is in a stable state and is ready for people to start playing with it. I debated submitting it to the Add-on Releases forum but I decided I'd like to try to get some feedback and make sure it's really solid before doing an official release. So please give it a try and let me know what you think, thanks!

Download links:

[TABLE=class: grid, width: 500, align: center]

[TR]

[TD=align: center]Github[/TD]

[TD=align: center]KerbalStuff[/TD]

[/TR]

[/TABLE]

To install, unzip the "KerbalFeels 0.1.0.zip" file and copy the KerbalFeels folder into the ksp GameData folder.

What it does:

  • Determines and tracks personal relationships between the kerbals in your space program, based on existing courage/stupidity stats and RNG.
  • Different relationships can affect the stats of the kerbals during missions together.
  • Tracks a kerbal's sanity as it deteriorates over periods of time.
  • Extreme lack of sanity can result in kerbal suicide, or combined with negative feelings can result in murder.
  • If other kerbals witness the murder, their feelings towards the murderer and the victim will dictate the fate of the killer, whether he is jailed (missing), released (life goes on), or if they exercise capital punishment (c'est la vie)
  • When a kerbal dies for any reason, surviving kerbals will get a loss or boost to courage if they had positive or negative feelings towards the victim.
  • GUI Toolbar icon (heart shaped) for easily seeing the relationships between kerbals in any game screen.

rouICBk.png

vUQ5Me4.png

78Is9Pp.png

Opinions & Feelings: When kerbals spend time together on missions, they will gain or lose a value which represents their opinion of the other kerbals in the ship. Once this number passes a certain threshold, positive or negative, they will randomly gain one of three feelings towards that kerbal. Feelings towards other kerbals on the ship will impact the kerbal's stats. Positive feelings will give +1 experience level, and negative feelings will get -1 experience level.

The positive feelings are:

  • Playful: raises stupidity
  • Inspired: lowers stupidity
  • In Love: raises stupidity & courage

and the negative feelings:

  • Annoyed: raises stupidity
  • Scared: lowers courage
  • Hateful: raises stupidity and courage

​

Sanity

  • During missions, sanity will slowly deteriorate over time. There are ways to control how quickly it goes, based on how the the feelings towards other members of the ship. Also various events (fly by, orbit, landing) will trigger a static restoration of sanity.
  • Lower sanity will cause a kerbal's feelings towards other crew members to become more erratic. If sanity at any time drops below a certain threshold, they will periodically have a small chance to commit suicide, as well as if there are kerbals they have negative feelings towards on the ship, murder.

Currently my testing shows that it takes between 15-30 days together on a ship before kerbals will begin to have non-indifferent feelings towards each other. A pair of kerbals orbiting Kerbin together will lose most of their sanity after about 80-150 days (depending on their feelings towards each other), and at that point you will need to start worrying about suicide/murder. However, doing things like flyby or landing on another planet or moon, or achieving progress nodes will restore a portion of their sanity, which can be a saving grace for a long journey to another planet.

  • There are several settings in the GameData\KerbalFeels\Plugins\PluginData\KerbalFeels\KF_constants.cfg that can be played with if you like, and the data for each kerbal is stored within the "FEELS" node inside the game save file, if you want to modify directly how specific kerbals feel towards each other.

To do:

  • Parts
    • "Brain scan" science module will be a core part similar to MechJeb, which upgrades as certain science nodes are reached, and causes more useful information and alerts to become available to the user based on how advanced they are. Will also give science points by performing a brain scan on the crew, and possibly give more science the lower the average sanity of the crew is.
    • Recreational/athletic parts for ships & space stations will reduce sanity loss and improve sanity recovery.

    [*]Feelings towards other kerbals impact how much xp is gained from a mission

    [*]Tweaks to constant variables and/or calculations after more testing & feedback

License:

Copyright © 2015, wpatter6

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Edited by wpatter6
Added images
Link to comment
Share on other sites

Looks cool, but no pics no clicks. Will try when I get back to KSP later today.

Yeah, sorry I had some screenshots I was going to add but accidentally left them on my home computer. I'll add them later when I get back home, sadly my work comp can't handle KSP very well. Really not much to see at this point besides the heart app button and a pretty basic dialog.

Edited by wpatter6
Link to comment
Share on other sites

Reminds me of the stress mechanic in Dwarf Fortress..

"Jebediah Kerman felt pleasure near a fine command pod recently. Bill Kerman felt anger when talking to someone annoying recently."

Interesting mod, all around. :)

Link to comment
Share on other sites

This looks awesome, and is much like some of the ideas that have been discussed on the kerbal social thread. May I suggest that you consider adding support for Connected Living Space so that the way relationships between kerbals develop depends to an extent on if they are sharing a living space or not - This would create a link between the social dynamics gameplay that you are adding and ship design. I would be more thank happy to provide you with support to so this.

Link to comment
Share on other sites

What is meant by "missing (sent to jail)"?

Basically I'm reusing the game's "missing" mechanic to represent that the kerbal has gone to jail for the murder, as a way to have them be gone for a period of time and then come back, similar to a jail sentence.

This looks awesome, and is much like some of the ideas that have been discussed on the kerbal social thread. May I suggest that you consider adding support for Connected Living Space so that the way relationships between kerbals develop depends to an extent on if they are sharing a living space or not - This would create a link between the social dynamics gameplay that you are adding and ship design. I would be more thank happy to provide you with support to so this.

Sure, I'll take a look at getting that worked out next time I get a chance to develop this more, and I'll let you know if I run into any snags, thanks for the links

Link to comment
Share on other sites

I feel like it needs more "feelings"...

Something like "Spiteful" to raise stupidity and lower courage, or "Friendly" to raise courage... 6 just doesn't feel like enough. Maybe add a few mod specific stats to Kerbals (other than sanity) such as "Morale" or "Care" to increase variety in feelings further, or just have certain feelings affect the mission as a whole (+5% science gain for the crew having positive feelings toward one another and being able to focus on their mission more). In more exotic ideas, perhaps add each Kerbals relationship with "Capcom", which depending on the Kerbals position could affect your control of the vessel (eg; Mutiny if all crew members have negative feelings towards Capcom, or loss of sanity in those who have positiv feelings towards Capcom). Not sure on the realism or overall feasibility of such an idea though.

Link to comment
Share on other sites

Fascinating concept.

Will you be limiting this to the existing traits kerbals have, or adding extra ones?

For example, compared to most kerbals, an extraverted kerbal might loose sanity faster on their own, but much slower in big groups. For introverted ones, the opposite is true. Maybe these could be less common than 'regular' kerbals, I can imagine introverted ones would be very useful for long term postings.

Those recreational parts sound like they'll be important. Will adding more room with regular stock parks will also reduce sanity loss? Maybe while landed on a planet, it also depletes slower?

Sounds interesting, will keep an eye on it.

Link to comment
Share on other sites

This begs a backstory to explain (or handwave) the pictures.... Jebediah is... inspired by Bill? But he MURDERED him??? And apparently Bill sensed something unsavory about Jeb before hand because he was terrified.

And the crew found Jeb innocent... (what, are we doing field courtmartials?)

The only mitigating circumstances I can think of is if Bill raided Jeb's snack stash. That's the only thing other Kerbals might empathize with to the point that they let you off scot free of murder....

Link to comment
Share on other sites

Are you dead set on the goofy murder mechanics or will you reconsider?

I suppose there could be options for restraints or medical confinement or involuntary cryosleep, if you want to call it something less violent. I'd prefer to keep the game light-hearted, even when things go bad.

Link to comment
Share on other sites

Are you dead set on the goofy murder mechanics or will you reconsider?

Well, I'm open to ideas, did you have something in mind?

This begs a backstory to explain (or handwave) the pictures.... Jebediah is... inspired by Bill? But he MURDERED him??? And apparently Bill sensed something unsavory about Jeb before hand because he was terrified.

And the crew found Jeb innocent... (what, are we doing field courtmartials?)

The only mitigating circumstances I can think of is if Bill raided Jeb's snack stash. That's the only thing other Kerbals might empathize with to the point that they let you off scot free of murder....

So when they fully lose sanity, their feelings towards each other can tend to take some pretty wild swings from positive to negative and vice versa, I'm probably going to dial that back a bit.

And yes, the result of murders are determined by the other kerbals on the ship and their feelings towards the victim and the attacker. Probably not the most just system of law, but it does have some fairly funny results.

Link to comment
Share on other sites

Well, I'm open to ideas, did you have something in mind?

There's a few things you could consider:

  • One thing is that Astronauts go through psychological evaluations to make sure murder in space is not something that would happen, and if it were to happen no one would just let it go. At the very least they would have to leave the program 100% of the time. Whatever happens afterwards is not relevant, but a reputation hit could be a thing. Only if you absolutely want Kerbals to murder eachother.
  • I would tone it down quite a lot, and if you can, instead of murder, you could have a scuffle in which one of the kerbals permanently loses a little of their experience or a bit of their stats (instead of temporarily if working with an unlikeable Kerbal) . Death just seems like a big middle finger to the player.
  • Contrary to murder I think suicide absolutely fine because it's a lot more realistic considering what NASA planned if the Eagle got stuck on the Moon. Prolonged periods of time alone for with little hope of rescue (I don't know what variables would go into that) could exacerbate low mood.
  • Are you using KerbalStats? I don't know much about it but it seems like something you could you with this.
  • With all of this in mind I would strongly recommend joining forces with someone who's already developing any kind of sanity mod. There have been a few ideas and WIPs already like KerbSocial, KSP Sanity and probably other's I haven't noticed yet. There's really no sense reinventing the wheel. I see codepoet already suggested a collaboration. Please seek out all other modders who want to do something similar and just do one big awesome mod.

Some more ideas for later:

  • Increase sanity with therapy; Some Kerbals could be psychologists.
  • Some mechanic for resolving social tension or at least decreasing it.
  • If stats are what decide relationships, then have a way of improving stats.

Generally speaking I think this could be pretty cool.

Edited by Cpt. Kipard
Link to comment
Share on other sites

@Cpt. Kipard: Thanks for the feedback. I think you're right that the rate of murder should be reduced pretty drastically, at the moment it's a pretty sure guarantee after they lose sanity that someone's going to get murdered after a little while, but I don't think I want to scrap that idea entirely. I think it can be entertaining, I mean, lots of books, tv, movies use murder as entertainment... Perhaps I could make it a setting so you can turn off murder, for someone looking for a less dramatic experience. I do plan some enhancements to that piece, I think it'd potentially be fun one kerbal threw the other out of the air lock during a burn or something instead of just dying, and they could then be potentially rescued, though their sanity loss by being alone in space or on another planet until their rescue would make them a ticking time-bomb.

I think you're also right that the trial system needs to be modified, perhaps the only way someone could get away scott free would be if there were no comms devices on the ship and they were the only two on board.

Once I'm off of mobile I'll take a look at the Kerbal Stats mod you mention, and yeah I think the connected living spaces and some of the other ideas code poet and others have put out sound like great additions.

I'm pretty new to this community but I'm fully open to collaboration and connecting to things that people have already put out. I probably should have done more searching than I did before diving into this project to see what was already out there so I wasn't stepping on anyone's toes (I apologize to anyone out there if I did), but I kinda just had the idea in the middle of the night and cranked it out in a few days, as is often how I get started on things of this nature.

In that regard, I could definitely use some help on getting parts modeled if there's anyone out there interested in assisting me with that. I'm not the most artistic person (more of a code monkey tbh :)), and have very little experience with modeling and texturing, so it'd probably be a pretty long time before I'd have enough free time to really dive into that side of things instead of just reusing stock parts. My first plan is to implement the "Brain-scan" part, which would give science data, control how much information you get as well as giving notifications about the kerbal's sanity. I had a kind of funny idea on what it could look like, but as I said, this may end up being a stock part until I get the time to focus on it for a while or find some other kind soul who could make it for me. Basically it could be a circular dome-shaped dark window looking thing and when you "activate" it, you would see the top of a Kerbal's head in there and it would maybe glow or do some kind of scan-like thing.

I may also incorporate other parts in the future for sanity and feeling management, but I kind of wanted the sanity management to be more based on how they felt towards the other kerbals than just adding more weight to the spacecraft.

An idea I just had for a mechanic you mention for reducing social tension was maybe allowing kerbals feelings to become less negative at some steady rate until they were indifferent when the kerbals spent more time apart from each other. This way, if things were getting volatile, the player could separate the two by doing EVAs or by putting them in separated parts of the ship (I think codepoet's connected living spaces mod may help with determining that). That could create an interesting game mechanic where you'd have to manage who sits with who, but couldn't leave certain people alone for risk of losing their sanity and committing suicide.

Modifying their stats somehow is an interesting idea, though I feel it may be outside the scope of this mod. I was kind of thinking that the way the kerbals feel towards each other (or at least liking each other) would end up really being mostly out of the players hands, since that's kind of true in reality.

Thanks for the input, you've given me much to think about.

Link to comment
Share on other sites

Could you draw that brain scanner for me, and tell me more about what you want it to do, and how it should be attached, how big, etc. If I like the idea I could put something together relatively quickly.

I'm not too sure about the exposed/visible head.

Link to comment
Share on other sites

Could you draw that brain scanner for me, and tell me more about what you want it to do, and how it should be attached, how big, etc. If I like the idea I could put something together relatively quickly.

I'm not too sure about the exposed/visible head.

Sure thing, I'll do that asap, thank you!

Link to comment
Share on other sites

Ok so I was going to put it in a private message, but figured I might as well throw it out for all to see in case anyone else has any ideas for how this thing could look or behave:

Here's my quick & crappy MS paint rendition: http://i.imgur.com/MfxOIxy.png

Essentially this piece would be another science part, and activating it would work similarly to other science parts, where performing scans in different locations in the universe would give different amounts of science. There were also ideas thrown around about having the crew's sanity impact the amount of science the scan was able to get, and I'll see about the feasibility of that when I get there

I was also thinking that attaching one to a ship (or possibly to a connected part of a ship, using connected living spaces) would do a constant "passive scan" and give the info you currently get in the mod for the crew on the ship. Ideally, as the user gets further in the science tree (similar to MechJeb) they would be given additional info about their sanity & feelings, and given alerts when their sanity or feelings reach their thresholds. Basically it would be essential in tracking the crew's feelings & sanity on long journeys, though it wouldn't have any effect on the crew's sanity or feelings towards each other.

Anyway, I'm usually better at detailing and putting together functionality and not so great at making things look nice, so if you (or anyone else) has any thoughts or wants to get creative and take it in a different direction graphically I'm totally open to that.

Link to comment
Share on other sites

I'm pretty new to this community but I'm fully open to collaboration and connecting to things that people have already put out. I probably should have done more searching than I did before diving into this project to see what was already out there so I wasn't stepping on anyone's toes (I apologize to anyone out there if I did), but I kinda just had the idea in the middle of the night and cranked it out in a few days, as is often how I get started on things of this nature.

Over the last 6/12 months there have been several considered / planned / abandoned projects in this area, however no-one has had the time and commitment to get any of their ideas near to a release. Your project is getting lots of attention because not only has it got loads of good ideas in this area - you are one of the first to actually produce some real code rather than just ideas / research / modelling. You are not stepping on anyone's toes - we are just please you have done the work you have!

In that regard, I could definitely use some help on getting parts modeled if there's anyone out there interested in assisting me with that. I'm not the most artistic person (more of a code monkey tbh :)), and have very little experience with modeling and texturing, so it'd probably be a pretty long time before I'd have enough free time to really dive into that side of things instead of just reusing stock parts. My first plan is to implement the "Brain-scan" part, which would give science data, control how much information you get as well as giving notifications about the kerbal's sanity. I had a kind of funny idea on what it could look like, but as I said, this may end up being a stock part until I get the time to focus on it for a while or find some other kind soul who could make it for me. Basically it could be a circular dome-shaped dark window looking thing and when you "activate" it, you would see the top of a Kerbal's head in there and it would maybe glow or do some kind of scan-like thing.

I may also incorporate other parts in the future for sanity and feeling management, but I kind of wanted the sanity management to be more based on how they felt towards the other kerbals than just adding more weight to the spacecraft.

Be careful with adding such parts to your idea. The problem is that if the brain-scanner or any other part has be capacity to solve all the social problems on the ship, then your mod just gets reduced to a "add this part to win" mod. This is the problem with some of the life support mod stuff - you just need to add more parts to you ship to make the new gameplay feature go away - so all you end up with is a heaver spacecraft and a bigger rocket.

Good luck with this stuff, I will be watching this thread closely. Let me know if there is anything I can help with.

Link to comment
Share on other sites

Interesting stuff. Not sure I'm up for some murder either...in my idea I was toying with the idea of changing the kerbals experience stats.

i'm also curious to look at how your logic works for the moods and the mechanics behind it.

I also had a similar idea/concept as part of my AmpYear mod I developed a KabinKraziness which affects the crew over time. Based on how cramped they were, how far from Kerbin they are and the cabin temperature. All linked into AmpYear. Which also provided KlimateKontrol, radio music, and massage chairs which for the price of electric charge reduces KabinKraziness. If the crew get to certain craziness limits they will do Krazy things like disabled the autopilot for a period of time, or dump science experiments, or resources. Or even just go on random EVA That's as far as it has got so far.. And right now if you go to AmpYear you will see I have removed it and I'm in the middle of splitting it off into it's own mod seperate to AmpYear (am actually halfway through drafting an OP) and have the code here.

I also had some threads going and have discussed with Codepoet before. I have been considering about where to take this game mechanic for a few months without trying to turn KSP, which lets's not forget is a rocket/space game, into The Sims or somewhere else where I'm not sure it belongs.

Edited by JPLRepo
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...