Jump to content

[1.12.x] Bureaucracy - Monthly Budgets, Reimagined (1.5.1 - 13/08/2021)


severedsolo
 Share

Recommended Posts

(screenshots in spoiler)

Spoiler

oPyRCcg.png

sJDyRIN.png

sJDyRIN.png

Monthly Budgets was my very first C# mod, and frankly it shows. It's badly coded, it breaks if you try and change anything at all and there's so many if statements that it sounds like a steam train ("Ff, Ff, Ff, Ff")

So this started as a simple rewrite of Monthly Budgets to make it, not terrible to maintain, and morphed into alot more, because I had ideas coming. After a months worth of planning, another months worth of coding (plus a computer wipe that lost half the code!), and a lengthy testing period I'm finally ready to share the (nearly) finished version.

Read The Manual!

The short version is: Plan ahead. Everything takes time, and if you don't plan ahead, you will end up dead spending a frustrating couple of months while you get to where you need to be.

Features:

Overview

  • A monthly budget is allocated based on your space programs Reputation. Kerbals need to be paid, and Facilities have a maintenance cost.
  • Once costs have been paid, whatever is left is split between 3 departments, “Program Budget”, “Facilities/Construction” and “Research”
  • “Program Budget” department is basically your rocket building money. Facility Upgrades are handled by the construction department, and the Research Department analyse science that has been returned.
  • Contract funding is replaced with Reputation which feeds into the budget that is allocated to you every month.
  • Kerbals who die on mission will have a negative effect on your reputation. Too many deaths may also cause Kerbals to quit your space program (see Wiki for more details).

Facilities/Construction

  • You no longer need to have the available funds on hand to upgrade a building. Instead, the upgrade is passed to the Construction Department who will need to be adequately funded to build the upgrade (see wiki for more info)
  • If there isn’t enough money to cover the Facility Maintenance costs, a facility can be “closed” (functionality reduced/see wiki for more details).
  • Most facilities now have 5 upgrade levels (provided via a CustomBarnKit configuration file) (see wiki)

Research

  • When science data is returned to the Space Centre, you will not get the science given to you straight away. First it must be analysed by the Research Department (see wiki).

Crew

  • Crew now have a basic “morale” system. Annoy your kerbals too much, and they will quit (see wiki).
  • New recruits must be trained. You will not be able to use new recruits for one budget cycle while they go through training.

Events

  • Random events will occasionally happen that may effect your space programs funding, science output or put a kerbal back into training.

Notes specifically for existing Monthly Budgets Users:

  • "Taxpayers cover costs" is now just the way it works. Maintenance costs will always be deducted from budget where possible (because it doesn't make much sense that "this month we'll cover your costs, but next month you'll have to" just doesn't make sense.
  • Big Project Funding is gone - the reasons for this have been rendered obsolete now Bureaucracy handles building upgrades
  • Most of the original options are still there, but may have been rendered obsolete by the changes. Don't assume that the options that used to work for you still will (for example: I used to keep "Hard Mode" on - now it destroys me).

Configuration/Settings: See Wiki

Recommended/Dependent Mods:

Module Manager, and Flight Tracker and Custom Barn Kit are required dependencies. These must be obtained separately. I'd also recommend Exploration Plus for your exploration contracts, and as ever, it's balanced assuming Kerbal Construction Time is installed

Licenses: 

Main Mod: MIT

Icon by Freepik at www.flaticon.com

Download: https://github.com/severedsolo/Bureaucracy/releases

Source: https://github.com/severedsolo/Bureaucracy

Special Mentions/Thanks

Big thanks to @Beetlecat @theonegalen and the guys on Discord for listening to me rabbit on about this for the last couple of months. Also the guys from the Dev thread for all the feedback.

@JadeOfMaar for writing most of the Random Events

Donate to my coffee fund

downloads_wordmark_navy@2x.png

Edited by severedsolo
Link to comment
Share on other sites

I was really looking forward to this mod, but honestly, I'm extremely underwhelmed. Having to wait a month to unlock the science you've collected with no clear indication of the progress over time (if there even is any, it's unclear how this works, even in the wiki, it just 'poof', appears) is a little much, no notification (other than stock notification) or pop-up that KSC upgrades are complete, and I thought that this mod was going to play well with Kerbal Construction time, it doesn't even seem to interact with it at all and even tells you to disable KCT's facilities upgrade. 

This mod could really benefit with more interaction with Kerbal Alarm Clock so there is a clear indication of when things will be completed and we're properly notified, or at the very least a live status window of our progress. I wasted a month of in-game time waiting for upgrades to be completed only to notice that there was a notification in the stock notifier.

Edited by aceman67
Link to comment
Share on other sites

Any specific hiccups with CTT integration I need to be worried about moving from the beta/RCs to this release version?

1 hour ago, aceman67 said:

This mod could really benefit with more interaction with Kerbal Alarm Clock so there is a clear indication of when things will be completed and we're properly notified, or at the very least a live status window of our progress. I wasted a month of in-game time waiting for upgrades to be completed only to notice that there was a notification in the stock notifier.

But it *does* interact with KAC? The only bureaucracy "events" are the regular cycles (which you can shorten if 30 days is too long) and the expected science release and %complete of facility upgrades are shown in the app button screen. Maybe some tweaks to terminology or descriptions to what-to-expect could help, but the highlights are there in the description.

Maybe the text could be tightened up to literally state that the science is delivered upon each budget cycle, rather than trickling in?

Link to comment
Share on other sites

Just now, Beetlecat said:

Any specific hiccups with CTT integration I need to be worried about moving from the beta/RCs to this release version?

Shouldn't be, the only change I made was to stop the CBK config from forcing itself to be ran last (cause that's bad form) and added a patch for Unkerballed Start because that also messes with CustomBarnKit and they were stomping on each other.

Link to comment
Share on other sites

2 hours ago, aceman67 said:

I thought that this mod was going to play well with Kerbal Construction time, it doesn't even seem to interact with it at all and even tells you to disable KCT's facilities upgrade. 

What exactly does not play nicely with KCT? Yes, facility upgrades are a problem, they are basically performing the same function, that is the only incompatibility. If there's anything else, perhaps you could give me some constructive feedback and I will look at fixing it. (And by the way, most of the people who actually gave me feedback during the beta phase also use KCT and the issues they reported were fixed). "Not interacting with KCT" and "not playing nicely" are two different things - the mod is balanced to take KCT into account, and actively warns you of the one thing it has an issue with.

2 hours ago, aceman67 said:

, no notification (other than stock notification) or pop-up that KSC upgrades are complete

What were you hoping for? The mod does notify you, and I've tried to make it as unobtrusive as possible, because too much UI annoys people. I did consider adding a screen message to inform you that the budget had fired, as I thought that might be an issue, but absolutely nobody raised it during the Beta, so I assumed it was clear enough.

2 hours ago, aceman67 said:

This mod could really benefit with more interaction with Kerbal Alarm Clock so there is a clear indication of when things will be completed and we're properly notified,

If you can figure out a way to convert a "money based system" where the player can change the amount of funding (and therefore the completion time) at any time to a "time based system" without making a million calls to the KAC API and keeping the code clean then I eagerly await your Pull Request.

Also, can I just point out that this has been out for Beta for nearly two weeks and you choose to wait until 2 hours after release to drop this? I get maybe not wanting to drop a (potentially) buggy new mod into your game, but I also declared it release ready nearly two days ago and made it very clear when I planned to release.

If you'd raised these concerns then, I could have maybe addressed them before release.

Edited by severedsolo
Link to comment
Share on other sites

Hi, first time poster on the forums (long time lurker), wanted to say congrats on the release.

I am currently running some 150ish mods (mostly via CKAN) on 1.8.1 and I've been waiting for an updated version of monthly budgets. This looks exactly what I was looking for my new career mode, so I went and added it to the already defunct current save to test it out.

I am not sure what I am supposed to do to enable compatibility with KCT settings. What option do I need to enable/disable and where? If you can elaborate on what needs to be changed, as I couldn't find that info on the wiki. I get the message on the pop-up screen after the save game loads and I am not sure what I am supposed to configure.

On another note, I've also been using this mod - are there any issues that might affect these mods playing together? 

 Again thanks for the release, gonna give this a try!

I'll come back with any relevant logs if needed.

Link to comment
Share on other sites

54 minutes ago, q p said:

am not sure what I am supposed to do to enable compatibility with KCT settings. What option do I need to enable/disable and where? If you can elaborate on what needs to be changed, as I couldn't find that info on the wiki.

Basically, you need to choose whether you want to allow KCT, or Bureaucracy to handle your Facility (Space Centre building) upgrades. That's the only incompatibility (that I'm aware of). I want this to run nicely with KCT, so if you do find any others, point them out to me and I will do my best to fix them.

If you want Bureaucracy to handle building upgrades: Right click the KCT icon (it will bring up the "presets" box like when you first started the game) - and turn off Building Upgrades.

If you want KCT to handle them: Go to <Your KSP directory>/saves/<your save>/BureaucracySettings.cfg > open it in your favourite text editor (Notepad/Notepad++etc) and change the option labeled "HandleKSCUpgrades" to False. Then reload your settings, as the wiki explains.

Re State Funding: Technically, they will work together fine, but obviously Bureaucracy does cap your maximum budget, so you may lose the money that State Funding gives you. You can turn that off by turning off "UseItOrLoseIt" in the settings config file (turning that option off just removes the cap, and makes Bureaucracy behave more like State Funding).

Edited by severedsolo
Link to comment
Share on other sites

2 hours ago, severedsolo said:

What were you hoping for? The mod does notify you, and I've tried to make it as unobtrusive as possible, because too much UI annoys people. I did consider adding a screen message to inform you that the budget had fired, as I thought that might be an issue, but absolutely nobody raised it during the Beta, so I assumed it was clear enough.

Honestly never thought of that. I don't really feel it was needed, however, I think the stock notifications system is fine. 

Link to comment
Share on other sites

hi again, 

 

what setting am I supposed to enable/disable?

that's the list of options I am getting when I right click the KCT menu button. I also believe that I no longer have the option to upgrade the Launchpad/Runway via the KCT interface, thought I am not 100% about that.

 

https://imgur.com/gallery/jveWCL0

 

What is the option that this setting refers to? Sorry but I am not sure what I should change, thank you for your patience :)

Quote

 

4 hours ago, severedsolo said:

and turn off Building Upgrades.

 

 

Link to comment
Share on other sites

38 minutes ago, q p said:

hi again, 

 

what setting am I supposed to enable/disable?

that's the list of options I am getting when I right click the KCT menu button. I also believe that I no longer have the option to upgrade the Launchpad/Runway via the KCT interface, thought I am not 100% about that.

 

https://imgur.com/gallery/jveWCL0

 

What is the option that this setting refers to? Sorry but I am not sure what I should change, thank you for your patience :)

 

Disable the KSC Upgrade Times. that tells KCT that Bureaucracy will be handling building upgrades. 

Link to comment
Share on other sites

6 hours ago, q p said:

I also believe that I no longer have the option to upgrade the Launchpad/Runway via the KCT interface, thought I am not 100% about that.

That will happen - turning off the option in KCT will let Bureaucracy take over the upgrades. To upgrade the Launchpad/Runway in Bureaucracy, right click the building and then click the upgrade button there. You can still build additional launchpads via KCT and Bureaucracy will handle that.

Did you get it sorted out? Are you up and running now?

Link to comment
Share on other sites

Grats on moving this to release! I started playing with it yesterday and I'm really liking it so far. It makes a lot of sense to have a monthly allowance to work with.

There are a few things that can be improved on, and I'd like to list them here:

* Sliders in the allocation screen, so that it is easier to balance the allocations to 100. 
* A way to see the impact of the allocations on the next budget as you are doing them.
* Maybe a possibility to see how much your departments got in funding the last budget cycle.
* Gradual progress through science and construction - right now it seems to only happen on the budget tick, but it feels weird to me that a building wouldn't be upgraded until end of month if it was done in the early days.

I haven't done mod coding for a while, but I can take a look at the source and figure out if there is anything I can do to help with the improvements listed above, but for now they're just humble feature suggestions :)

 

Again, grats on release, this is something they should have in the base game, tbh :) 

Link to comment
Share on other sites

16 minutes ago, Tivec said:

* Sliders in the allocation screen, so that it is easier to balance the allocations to 100. 

Sliders suck :P - no, in all seriousness, Monthly Budgets had sliders, and it was really difficult to set it to exactly where it needed to be, the text input box is unfortunately the least worst option (this is also the reason why the settings got moved to a cfg file, because the MB sliders could be incredibly frustrating to use).

I do understand the frustration of having to do the maths yourself though, I could probably implement a "total allocation" label or something (there is plenty of room in that window) to make it easier.set

16 minutes ago, Tivec said:

* A way to see the impact of the allocations on the next budget as you are doing them.

I think this came up in Beta, but I didn't get time to implement it, but I will probably do this with the next release (a couple of features didn't make it in, so there is an update on the way when I get the time)

16 minutes ago, Tivec said:

* Maybe a possibility to see how much your departments got in funding the last budget cycle.

That's a planned feature :) I thought of this just after I put it out to Release Candidate, and decided to shelve it for later.

16 minutes ago, Tivec said:

* Gradual progress through science and construction - right now it seems to only happen on the budget tick, but it feels weird to me that a building wouldn't be upgraded until end of month if it was done in the early days.

Eh, you aren't the first person to complain about that (and I agree tbh, the early game does feel a little slow), the issue is performance. I'll have to have a think about the best way to implement it.

Scratch that, I'm an idiot. The mechanism to do this is already in place. I'll add it to the list.

16 minutes ago, Tivec said:

I haven't done mod coding for a while, but I can take a look at the source and figure out if there is anything I can do to help with the improvements listed above, but for now they're just humble feature suggestions :)

Happy to take PR's :) Everything should be logically laid out.

Edited by severedsolo
Link to comment
Share on other sites

41 minutes ago, severedsolo said:

Sliders suck :P - no, in all seriousness, Monthly Budgets had sliders, and it was really difficult to set it to exactly where it needed to be, the text input box is unfortunately the least worst option (this is also the reason why the settings got moved to a cfg file, because the MB sliders could be incredibly frustrating to use).

I do understand the frustration of having to do the maths yourself though, I could probably implement a "total allocation" label or something (there is plenty of room in that window) to make it easier.set

I'm not sure which library is used for the sliders, I'm assuming Unity's own. Could sliders + input box fit? The reason for sliders would be so you can keep the number adding up to 100%. 

[=====     ] [50] [X]

In the example above, the slider is locked to 50%. Now the other two will move equally as you drag, and never go above 50% total.

44 minutes ago, severedsolo said:

Eh, you aren't the first person to complain about that (and I agree tbh, the early game does feel a little slow), the issue is performance. I'll have to have a think about the best way to implement it.

Maybe it would be possible to do it every Kerbal day, that could give a good progress for the slow early game where a single budget cycle can upgrade several facilities. ("Hey boss, here's the daily progress on the VAB", "We've made breakthroughs on this project, here's x science")

Another thing that I'm not sure is related to this mod but with Kerbalism. Say I have 35 science. I receive a transmission for 5 science from Kerbalism while in the KSC scene. There is a science change of -5, and I'm left with 30.. It is then put in the research screen. Could be a bug, or could be a weird interaction with Kerbalism.

Link to comment
Share on other sites

7 minutes ago, Tivec said:

Another thing that I'm not sure is related to this mod but with Kerbalism. Say I have 35 science. I receive a transmission for 5 science from Kerbalism while in the KSC scene. There is a science change of -5, and I'm left with 30.. It is then put in the research screen. Could be a bug, or could be a weird interaction with Kerbalism.

OK this is important. Are those the actual figures you are seeing? I think I know that this is, (Kerbalism fires the event Bureaucracy is listening to at 95% completion) but those figures don't add up. My guess is that Kerbalism is firing at 95% but reporting the 100% figure

 

Link to comment
Share on other sites

15 minutes ago, severedsolo said:

OK this is important. Are those the actual figures you are seeing? I think I know that this is, (Kerbalism fires the event Bureaucracy is listening to at 95% completion) but those figures don't add up. My guess is that Kerbalism is firing at 95% but reporting the 100% figure

 

I can give it a test later today, see if I can figure it out. From what I see, it ticks the science up slowly (Kerbalism, most probably, as data arrives to the KSC), and then suddenly I get a negative amount of science - probably when the event fires and Bureacracy kicks in.

Link to comment
Share on other sites

6 minutes ago, Tivec said:

From what I see, it ticks the science up slowly (Kerbalism, most probably, as data arrives to the KSC),

Yeah that makes sense. I'll have a look at the kerbalism code when I get home, but my guess would be, it's using AddScience (which Bureaucracy would ignore) and then firing On Science Received at 95%, which prompts Bureaucracy to remove it all.

Link to comment
Share on other sites

Just now, severedsolo said:

Yeah that makes sense. I'll have a look at the kerbalism code when I get home, but my guess would be, it's using AddScience (which Bureaucracy would ignore) and then firing On Science Received at 95%, which prompts Bureaucracy to remove it all.

https://github.com/Kerbalism/Kerbalism/blob/master/src/Kerbalism/Science/Science.cs#L198

It definitely does.

Link to comment
Share on other sites

Just now, severedsolo said:

Yeah I'm going to have a chat with the Kerbalism team about that - any workaround I can implement has WAAAAY too many implications for other mods breaking.

As a work around for me, I'll just do research only on budget ticks for now. Should be the safest for these two mods to coexist at the current state, and I agree it is probably a bad idea adding workarounds that break other mods. Again, thanks for a great mod and keep up the brilliant work :)

Link to comment
Share on other sites

19 minutes ago, Tivec said:

As a work around for me, I'll just do research only on budget ticks for now. Should be the safest for these two mods to coexist at the current state, and I agree it is probably a bad idea adding workarounds that break other mods. Again, thanks for a great mod and keep up the brilliant work :)

I've raised an issue with the Kerbalism team to see if we can work something out https://github.com/Kerbalism/Kerbalism/issues/588

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.

 Share

×
×
  • Create New...