Jump to content

[1.2] AltFunding v0.3.0


nathan1

Recommended Posts

Alt Funding v0.3.0

Alt Funding provides an alternative approach to funding your KSP career-mode playthrough: configurable, regularly-occurring payments.

I recommend combining the mod with Kerbal Construction Time and a life-support mod, but they are not required. I also recommend turning down/off contract rewards.

 

Features:
Configurable payment period (by default payment occurs every 30 days).
Uses a configurable, flexible formula to determine how much money you are given.
Configuration can be adjusted per-save (including disabling the mod for individual saves).
 

Download available on github.
License: MIT
 

Version History:
v0.3.0 (2016-10-21)
-Updated for KSP 1.2
-New UI
-You can now change the configuration from within the game.
-Historical payments and the next ten upcoming payments are shown in the budget window.

v0.2.0 (2016-05-08)
-Added a mode for reputation-based funding.
-Made the UI slightly more compact.

v0.1.0 (2016-05-03):
-Initial release
 

Q&A

Q: Is this just free money?
A: Yes. On a schedule. There is an option to include a reputation loss with each payment received.

Q: Why would I want to play this?
A: With the stock contract system the question is "will this launch be completing contracts and effectively creating funds instead of costing funds?" But with this mod funding is turned on its side and the question becomes "how much can I accomplish with my funding for this year" or "will I have enough funding for the launch I want by the next launch window" or (with life support) "will I have the funding to launch the resupply mission in time to save my kerbals?"

Q: Is it balanced?
A: Balance is subjective, so I've provided a spreadsheet to help you conveniently analyze how much money you will get over time if you tweak the configuration.
Play-testing with Kerbal Construction Time installed is still t.b.d., so I don't know how well it balances with that.

Q: The payments seem small...
A: This is intentional. Since you are paid every 30 days it may not seem like a lot of money, but you actually get a fair amount of money over the course of a year (note the YTD, e.g. year-to-date column in the spreadsheet). One does not simply launch multi-million-fund rockets every few days.

Q: How do I change the configuration?
A: You can change the settings file directly, you can make a Module Manager patch that changes the settings, or you can modify your save file. There is currently not a GUI for changing the settings, but I will probably add one at some point.

Q: Can I use this for an existing save, or do I need to start a new save?
A: It is not required that you start a new save. If you are far into an existing save the mod will catch up by skipping any payments you've already passed (so you will not receive a giant lump-sum of money).


I would very much appreciate any feedback on the balance (especially any experiences from actual playthroughs with the mod).

Edited by nathan1
Link to comment
Share on other sites

Looks cool. 

Would it be possible to adjust the base payment inline with a players reputation?  Such that as the rep goes up/down the payment increases/decreases by a fraction. So if you reputation tanks, then your budget starts to get rapidly constrained.

Just a thought.

I think I might try this tonight.

Link to comment
Share on other sites

Yeah, I could make it so that payments can be adjusted by reputation.

What are the sources of reputation? Do you only gain rep from contracts, or can you gain rep from just doing science? I've never paid much attention to reputation.

Link to comment
Share on other sites

2 hours ago, Wallygator said:

Looks cool. 

Would it be possible to adjust the base payment inline with a players reputation?  Such that as the rep goes up/down the payment increases/decreases by a fraction. So if you reputation tanks, then your budget starts to get rapidly constrained.

Just a thought.

I think I might try this tonight.

I second that. Adjust the payment based on rep is a brilliant idea!

Link to comment
Share on other sites

4 hours ago, Wallygator said:

Looks cool. 

Would it be possible to adjust the base payment inline with a players reputation?  Such that as the rep goes up/down the payment increases/decreases by a fraction. So if you reputation tanks, then your budget starts to get rapidly constrained.

Just a thought.

I think I might try this tonight.

That's not a good idea, if the point of this mod is to get rid of contracts. Although you can lose rep from losing Kerbals, you cannot get it back except through contracts and World Firsts.So your rep could tank and then never come back.

Edited by severedsolo
Link to comment
Share on other sites

5 minutes ago, severedsolo said:

That's not a good idea, if the point of this mod is to get rid of contracts. Although you can lose rep from losing Kerbals, you cannot get it back except through contracts and World Firsts.So your rep could tank and then never come back.

Not to get rid of contracts completely, but turning down/off contracts money rewards.

This mod has so much potential to make reputation more useful in career mode because right now, reputation can only be seen as a "currency", and is mainly spent on instating Strategies in the Administration Facility and nothing else.

Link to comment
Share on other sites

The primary goal was to enable the player to play without contracts (if they desire), but the mod's already set up where I can easily set up multiple "modes." I can add rep impact as a second mode for the people who want it, and people who don't can still play without.

Link to comment
Share on other sites

i secound a rep only increase/decrease. Not increasing overtime, just based on rep. then i would love it :) 

 

allso, couldn't you include something in this mod that just takes the money out of contracts all together? would radically change the career mode

Link to comment
Share on other sites

I haven't looked into modifying contract rewards through a mod, but you can already reduce contract rewards to as low as 10% in the stock difficulty settings (and probably further if you manually edit the save file). I don't want to take away from the player the option to combine reduced contract rewards (rather than eliminated contract rewards) with this mod, but making it an option might work. I'll add it to my list of things to look into.

Link to comment
Share on other sites

3 hours ago, nathan1 said:

The primary goal was to enable the player to play without contracts (if they desire), but the mod's already set up where I can easily set up multiple "modes." I can add rep impact as a second mode for the people who want it, and people who don't can still play without.

All I can add, is thanks for listening and not discounting my suggestion out of hand.  I leave it up to you to make the best decisions for your mod in the manner you prefer.

Happy to add further input if and when you may benefit from it.  Good Luck!  I'm looking forward to seeing where this goes!!!

Edited by Wallygator
Link to comment
Share on other sites

@nathan1Have you seen BROKE? The purpose is the same, but BROKE is designed to be easily expanded upon. You're obviously more than welcome to keep working on this, but if you wanted to help out with BROKE you'd be welcome to. I'm currently in the process of updating what code we have for 1.1 but the GUI changes are causing some issues. Progress lately has been slow because I've been finishing up my Masters, but now that my thesis is deposited I expect it to ramp up a lot.

Whatever you end up doing, I definitely am a fan of this style of mod with KCT :wink:

Link to comment
Share on other sites

Imho reputation is ok, but I'd rather see bumps in funding tied to the in-game achievement.  Reach space, achieve orbit, land on minmus ... each would reward the player with extra monthly cash.  This could allow for progression/balance while totally ignoring outside of contracts.

Link to comment
Share on other sites

2 hours ago, Wallygator said:

All I can add, is thanks for listening and not discounting my suggestion out of hand.  I leave it up to you to make the best decisions for your mod in the manner you prefer.

Happy to add further input if and when you may benefit from it.  Good Luck!  I'm looking forward to seeing where this goes!!!

Hearing user feedback is half the fun of modding. :)

 

2 hours ago, magico13 said:

@nathan1Have you seen BROKE? The purpose is the same, but BROKE is designed to be easily expanded upon. You're obviously more than welcome to keep working on this, but if you wanted to help out with BROKE you'd be welcome to. I'm currently in the process of updating what code we have for 1.1 but the GUI changes are causing some issues. Progress lately has been slow because I've been finishing up my Masters, but now that my thesis is deposited I expect it to ramp up a lot.

Whatever you end up doing, I definitely am a fan of this style of mod with KCT :wink:

I hadn't seen it before, but looking at it now I think we're taking two different approaches. I'm going for a minimalist approach to fulfill the "just give me a budget and let me run my space program the way I want to" kind of player (aka me). BROKE has (or has planned) loans, interest rates, employee salaries, "penalties for not doing anything for a while," etc.

I think there's plenty of room for both mods to coexist. I'm sure plenty of people are looking for more of an economic simulator style approach that BROKE seems to aim at providing.

I'm a little confused about the license in the linked post, though. The OP lists both GPLv3 and MIT.

 

2 hours ago, Sandworm said:

Imho reputation is ok, but I'd rather see bumps in funding tied to the in-game achievement.  Reach space, achieve orbit, land on minmus ... each would reward the player with extra monthly cash.  This could allow for progression/balance while totally ignoring outside of contracts.

I'll have to look into what it takes to get the player's achievements.

How do you see this working out in practice? What I mean is, if I made a single configurable flat rate that applied for all achievements then you would get x funds/month per achievement, regardless of which achievements they are. So if the configuration value is 100 funds/month and you've orbited Kerbin, that's 100 funds/month; if you've landed on Moho, that's also 100 funds/month. If the idea is different achievements give different bonuses to your income, then how do I decide which achievements are worth how much bonus?

 

P.S. I tried to post this once and it didn't seem to take... hopefully this isn't a double-post.

Link to comment
Share on other sites

10 minutes ago, nathan1 said:

I hadn't seen it before, but looking at it now I think we're taking two different approaches. I'm going for a minimalist approach to fulfill the "just give me a budget and let me run my space program the way I want to" kind of player (aka me). BROKE has (or has planned) loans, interest rates, employee salaries, "penalties for not doing anything for a while," etc.

I think there's plenty of room for both mods to coexist. I'm sure plenty of people are looking for more of an economic simulator style approach that BROKE seems to aim at providing.

I'm a little confused about the license in the linked post, though. The OP lists both GPLv3 and MIT.

Kerbanomics is GPLv3, BROKE is MIT.

BROKE is designed to be completely modular. BROKE itself does nothing for the player, they have to add modules to make it do something. BROKE is just the core code that enables the modules to work and does 90% of the interfacing with KSP (think of Contract Configurator and contract packs, where BROKE is Contract Configurator and Funding Modifiers are contract packs).

There are several "default Funding Modifiers" but all can be completely uninstalled or just disabled entirely through the GUI (on a per-save basis). All the features you mention are optional FMs, and what you're trying to accomplish would be done in a single FM with just a bit of code (and no interfacing with KSP necessary at all, except if you want to make it rep based). One of the two existing FMs is actually just a "give me X amount of money per reputation point every quarter" style of thing. I'm planning on writing an alternative one that gives you a maximum amount per quarter based on rep and won't give you more (so you can't timewarp forever and get free money).

Loans were supposed to be handled through an FM but they were complicated enough that they warranted baking into the core. Though there are no actual loans without writing configs for them (and currently there's just a sample config for an entry level loan). They're also completely optional.

 

As I mentioned before, you're obviously welcome to do whatever you prefer. If you want to make mods, then making this one or working with us on BROKE are good ways to do that. If you just want to play with a mod like this rather than dealing with the whole mod-making process (dealing with support requests, updating with KSP updates, etc) then I recommend trying out BROKE (as soon as I get a chance to fix the GUI issues with 1.1.2) instead. Either way, as the author of KCT and (one of the authors of) BROKE I won't really be in a position to guide KCT users over to here since I'd prefer them to use BROKE. As a player I do like having options though :)

Link to comment
Share on other sites

1 hour ago, nathan1 said:

Hearing user feedback is half the fun of modding. :)

 

I hadn't seen it before, but looking at it now I think we're taking two different approaches. I'm going for a minimalist approach to fulfill the "just give me a budget and let me run my space program the way I want to" kind of player (aka me). BROKE has (or has planned) loans, interest rates, employee salaries, "penalties for not doing anything for a while," etc.

I think there's plenty of room for both mods to coexist. I'm sure plenty of people are looking for more of an economic simulator style approach that BROKE seems to aim at providing.

I'm a little confused about the license in the linked post, though. The OP lists both GPLv3 and MIT.

 

I'll have to look into what it takes to get the player's achievements.

How do you see this working out in practice? What I mean is, if I made a single configurable flat rate that applied for all achievements then you would get x funds/month per achievement, regardless of which achievements they are. So if the configuration value is 100 funds/month and you've orbited Kerbin, that's 100 funds/month; if you've landed on Moho, that's also 100 funds/month. If the idea is different achievements give different bonuses to your income, then how do I decide which achievements are worth how much bonus?

 

P.S. I tried to post this once and it didn't seem to take... hopefully this isn't a double-post.

It's been a long time since I've looked at the in-game achievements, but they are all there in the save files.  I'd go the simple route.  A save that notes "mun orbit achieved" gets an extra xxx$/month.  But the amounts should be achievement-specific so as to allow balanced progression.  Ideally, I see a user-editable file with a list of achievements and corresponding funding rewards.  That would allow the community to generate custom profiles for alternatively-sized systems (64k/rss) or for those with new planets (opm).

Edited by Sandworm
Link to comment
Share on other sites

On 5/4/2016 at 6:33 PM, nebuchadnezzar said:

Can you outline what the different variables in the config file control? 

Each payment is calculated using a formula:

payment amount = a + b*x + c*sqrt(x) + d*ln(x)

Here a, b, c, and d are taken from the configuration and x will be a different number for each payment. If paymentNumberMultiplier and paymentNumberOffset are both 1 then x will be 1 for the first payment, 2 for the second payment, 3 for the third payment, etc.

Here's how the configuration options correspond to the formula:

a = basePay
b = linearPay
c = sqrtPay
d = logarithmicPay

With the following configuration options you will be paid 30000 for your first payment, 40000 for your second payment, 50000 for the third, etc (note that the parameters can be zero or negative):

paymentNumberMultiplier = 1
paymentNumberOffset = 1
basePay = 20000
linearPay = 10000
sqrtPay = 0
logarithmicPay = 0

All of the above is true when paymentNumberMultiplier and paymentNumberOffset are both 1. If they are not both 1 then the value of x will be calculated (with n as the payment number, e.g. 1 for the first payment, 2 for the second, etc) as:

x = p + q*n

This value for x will be used in the formula listed earlier to determine the payment amount.


For the math-enthusiast I suspect the above will be fairly straight-forward, but I can understand how it could be un-intuitive for many. That's why I included a spreadsheet with the formulas and some graphs; you can play around with the configuration options in the spreadsheet to see what impact they will have.

I recommend the doing the following in the spreadsheet to get started:

1. Set paymentNumberMultiplier and paymentNumberOffset both to 1, and basePay, linearPay, sqrtPay, and logarithmicPay all to 0.
2. Now play around with different values for basePay, linearPay, sqrtPay, and logarithmicPay one at a time to see how they impact the payment amount.

 

6 hours ago, Cocox said:

How do I make it give a fixed amount of credits every quarter? Say.. 200.000 credits.

To get the exact same payment every month simply set linearPay, sqrtPay, and logarithmicPay all to zero, and set basePay to the amount you want to receive.

Edit: to be paid on a schedule other than once every 30 kerbal days change the payPeriod. The value is in seconds, so if my math is right 7884000 is once every three Earth months. Kerbal years are a bit odd, so I'd have to look up what the number would be to get paid four times per kerbal year.

Edited by nathan1
Link to comment
Share on other sites

Version 0.2.0 has been released:
-Added a mode for reputation-based funding.
-Made the UI slightly more compact.

 

To make use of the new reputation-based funding change the mode to RepFunding. The new mode supports all the configuration options available in the BasicFunding mode plus some additional configuration options:

repBonusPaymentThreshold
repBonusPaymentRate
repCostRate

Reputation in KSP is measured in values from 0 to 1000. When the reputation is above repBonusPaymentThreshold the player's payment will be increased by the repBonusPaymentRate per point of reputation over the threshold (e.g. with a rate of 100 and a threshold of 0 the payment is increased by 100 per point of reputation).

Each time the player is paid the player's reputation will be reduced by a percentage (configured by the repCostRate parameter). For example, if set to 0.5 then half the player's rep is lost with each payment, if set to 0.05 then 5% of the player's rep is lost with each payment.

Any of these values can be set to zero. If the repBonusPaymentRate is zero then payments are not increased based on reputation (e.g. if you wanted to include a reputation cost per payment without increasing payments based on reputation), or if the repCostRate is zero then no reputation is lost when receiving payments.

Link to comment
Share on other sites

12 hours ago, nathan1 said:

Version 0.2.0 has been released:
-Added a mode for reputation-based funding.
-Made the UI slightly more compact.

 

To make use of the new reputation-based funding change the mode to RepFunding. The new mode supports all the configuration options available in the BasicFunding mode plus some additional configuration options:

repBonusPaymentThreshold
repBonusPaymentRate
repCostRate

Reputation in KSP is measured in values from 0 to 1000. When the reputation is above repBonusPaymentThreshold the player's payment will be increased by the repBonusPaymentRate per point of reputation over the threshold (e.g. with a rate of 100 and a threshold of 0 the payment is increased by 100 per point of reputation).

Each time the player is paid the player's reputation will be reduced by a percentage (configured by the repCostRate parameter). For example, if set to 0.5 then half the player's rep is lost with each payment, if set to 0.05 then 5% of the player's rep is lost with each payment.

Any of these values can be set to zero. If the repBonusPaymentRate is zero then payments are not increased based on reputation (e.g. if you wanted to include a reputation cost per payment without increasing payments based on reputation), or if the repCostRate is zero then no reputation is lost when receiving payments.

Glad you're listening to the feedback ! Looking forward for the next releases ! :)

Link to comment
Share on other sites

I always felt that the game needed a 4th mode, basically career without the money aspect, or science with contracts if you like.  This seems like a way to almost get that (just setup a huge payout with no rep hit)...  except it's even more flexible.

Edited by tg626
Link to comment
Share on other sites

  • 2 weeks later...
On 5/11/2016 at 10:02 PM, dannway said:

Tried to use the Rep Funding mode today, no luck. Any ideas?

  Reveal hidden contents

7PakZ2F.png

 

IFArHFj.png

 

Sorry I didn't see your post earlier. Check your persistent.sfs save file for something like this:

SCENARIO
{
	name = AltFundingScenario
	scene = 5
	lastPayoutTime = 3240000
	lastPayoutAmount = 25627
	FundingConfig
	{
		mode = BasicFunding
	}
}

The code merges the settings from your settings.cfg and your persistent.sfs file (to allow per-save settings), and the save file's settings override what's in the settings.cfg. I'll have to do some testing... it may be adding the "mode = BasicFunding" automatically to your save file when you first create the save, but if you manually set the mode in the save file to RepFunding then it will keep that.

Link to comment
Share on other sites

  • 4 weeks later...
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...