Jump to content

[0.90] EvilCorp Kerbanomics v0.1.8 - Kerbal Payroll and Loans!


johnqevil

Recommended Posts

This is on my must try mods.. Just a thought, in line with this being like Kerbal HR.. what about charging an insurance payout fee for killing a kerbal base on their experience level...

It actually has a penalty to regular payouts based on how many you've killed. If your rep is 0 and you killed, the payout hits 0. So it kinda works out the same way.

Link to comment
Share on other sites

Kerbanomics throws quite a few exceptions (using the ExceptionDetector add-on):

#1 occurs right at startup

NullReferenceException: Object reference not set to an instance of an object

at Planetarium.GetUniversalTime () [0x00000] in <filename unknown>:0

at Kerbanomics.KerbanomicsMain.UpdateLastUpdate () [0x00000] in <filename unknown>:0

at Kerbanomics.KerbanomicsMain.Start () [0x00000] in <filename unknown>:0

(Filename: Line: -1)

The others appear once you start a new game:

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

NullReferenceException: Object reference not set to an instance of an object

at Kerbanomics.KerbanomicsMain.DestroyButtons () [0x00000] in <filename unknown>:0

at Kerbanomics.KerbanomicsMain.OnDestroy () [0x00000] in <filename unknown>:0

(Filename: Line: -1)

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

NullReferenceException: Object reference not set to an instance of an object

at Kerbanomics.KerbanomicsMain.DestroyButtons () [0x00000] in <filename unknown>:0

at Kerbanomics.KerbanomicsMain.OnDestroy () [0x00000] in <filename unknown>:0

(Filename: Line: -1)

[HighLogic]: =========================== Scene Change : From MAINMENU to SPACECENTER (Async) =====================

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

NullReferenceException: Object reference not set to an instance of an object

at Kerbanomics.KerbanomicsMain.DestroyButtons () [0x00000] in <filename unknown>:0

at Kerbanomics.KerbanomicsMain.OnDestroy () [0x00000] in <filename unknown>:0

(Filename: Line: -1)

UnloadTime: 8.556004 ms

Unloading 3 Unused Serialized files (Serialized files now loaded: 0 / Dirty serialized files: 0)

Link to comment
Share on other sites

Kerbanomics throws quite a few exceptions

These may already be fixed in the rewrite. Just not quite ready for primetime yet. On a side note, looking for a few beta testers for 0.2.0, anyone interested?

Link to comment
Share on other sites

Still an exception in the 0.2 pre-release during start-up before you even get to the main screen:

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

NullReferenceException: Object reference not set to an instance of an object

at Planetarium.GetUniversalTime () [0x00000] in <filename unknown>:0

at Kerbanomics.KerbanomicsMain.UpdateLastUpdate () [0x00000] in <filename unknown>:0

at Kerbanomics.KerbanomicsMain.Start () [0x00000] in <filename unknown>:0

(Filename: Line: -1)

There are also other exceptions that pop up after loading an existing save:

https://drive.google.com/folderview?id=0B8opBfkYYvf3a2taZXlYVGxmNE0&usp=sharing

(20150318-1953-output_log.txt)

Edited by WuphonsReach
Link to comment
Share on other sites

Still an exception in the 0.2 pre-release during start-up before you even get to the main screen:

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

NullReferenceException: Object reference not set to an instance of an object

at Planetarium.GetUniversalTime () [0x00000] in <filename unknown>:0

at Kerbanomics.KerbanomicsMain.UpdateLastUpdate () [0x00000] in <filename unknown>:0

at Kerbanomics.KerbanomicsMain.Start () [0x00000] in <filename unknown>:0

(Filename: Line: -1)

There are also other exceptions that pop up after loading an existing save:

https://drive.google.com/folderview?id=0B8opBfkYYvf3a2taZXlYVGxmNE0&usp=sharing

(20150318-1953-output_log.txt)

Well, I DID say it was probably full of bees :D. Any functionality issues?

Link to comment
Share on other sites

In the space center view - the Kerbanomics window has a number in the lower left -- which has no label. It's just a number like 424.0867. So I don't know what that number represents at all.

(I kept uninstalling after seeing all the exceptions... will give it a day or two.)

Another suggestion: The KAC alarms should have some sort of prefix instead of just "Next Bill Date", similar to how KCT always prefixes its entries with "KCT:". Maybe a prefix of "ECK:" would be good.

Edited by WuphonsReach
Link to comment
Share on other sites

Not sure how that's unclear. More payments = smaller payments but more overall interest. And last I checked the calculate button still shows you the total you'd pay and the average payment over the life of the loan.

That bit of text at the bottom is your absolute Reputation value. Had it in there for testing.

That KAC suggestion is a good one, we'll use it.

Link to comment
Share on other sites

Maybe the Loan window needs to let you pick things:

- How much money you want

- Duration of the loan (1y/2y/5y/10y/25y)

- How often I want to make payments (year/qtr/30d/10d)

- Being able to spend reputation to reduce the interest payment

#2 and #3 could default to what is shown in the Settings dialog (default of 1y and 30d payment schedule).

Your initial loan interest offer value would be based on your reputation (which I believe is how it works now).

The idea behind #4 is to have the option to pay additional points per million in funds in order to drop the interest rate. (1 pt on a 1 million fund loan might save you 0.1% interest, maximum reduction of 1/2 of the offered interest rate, so if you were offered a 38% interest rate, spending 170 pts would cut that to 19%.)

I am also of the opinion that you should take a reputation hit for taking out a loan. Maybe you lose 10 pts of reputation per 1 million in funds. Taking out a 30 million fund loan right at the start would cost you 300 reputation.

...

Examples:

$1 million loan @ 20%, across 10 years is total cost of $2,319,068. With 12 payments per year, each payment is 19325.57. If I pay enough reputation to drop that to a 10% APR, total cost drops to $1,585,809 (12 payments per year of 13215).

I have 500 reputation, I decide to take out a 30 million fund loan over 10 years and I get offered a 25% interest. It is going to cost me 300 reputation for the loan, plus I pay another 100 pts to drop the interest rate to 15%. Total cost goes from $81,897,462 down to $58,080,585, periodic payments amount drops proportionally. After taking out the loan, I now only have 100 reputation.

Link to comment
Share on other sites

Maybe the Loan window needs to let you pick things:

- How much money you want

- Duration of the loan (1y/2y/5y/10y/25y)

- How often I want to make payments (year/qtr/30d/10d)

- Being able to spend reputation to reduce the interest payment

Given the current system that's in place, #2 and 3 are actually redundant. All funds processing is done based on specified intervals, which are all handled elsewhere. The loans system attaches to that.

#4 is effectively in place as we treat Reputation as a credit score of sorts. You are offered an interest rate, and you can accept it as part of the loan terms or turn it (and the loan as a whole) down.

I do have some code (I think it's already in there, just not active yet) for a reputation drain if you have a loan out. It actually processes it daily instead of by the configured interval. I'd say that's enough penalty for having a loan out. I don't really want to treat Reputation as yet another currency.

Link to comment
Share on other sites

  • 2 weeks later...

I have been using this mod and its been great... However I also use Kerbal Construction time which allows simulation of vessels. The problem is the time that passes in the simulation is taken off the time for payments and not returned after the simulation is complete...

Link to comment
Share on other sites

I have been using this mod and its been great... However I also use Kerbal Construction time which allows simulation of vessels. The problem is the time that passes in the simulation is taken off the time for payments and not returned after the simulation is complete...

That doesn't seem possible, as it simply does a comparison every Update() with it's calculated next update and the current time. Unless the simulation is long enough to fire the next billing, that is. That's the only scenario I can see that it would be possible for that to happen.

Link to comment
Share on other sites

You're using Update()? For something like this you're better off using FixedUpdate() which runs at a fixed rate. (0.02ms). Update is dependent on graphics frame rate and is best used for graphics, GUI and some control input setups.

Link to comment
Share on other sites

You're using Update()? For something like this you're better off using FixedUpdate() which runs at a fixed rate. (0.02ms). Update is dependent on graphics frame rate and is best used for graphics, GUI and some control input setups.

Good to know, it'll be pretty trivial to change that.

Link to comment
Share on other sites

That doesn't seem possible, as it simply does a comparison every Update() with it's calculated next update and the current time. Unless the simulation is long enough to fire the next billing, that is. That's the only scenario I can see that it would be possible for that to happen.

In this case I was close to the billing date, however the simulations can be set to run upto 28 days....

Rob

Link to comment
Share on other sites

I have been using this mod and its been great... However I also use Kerbal Construction time which allows simulation of vessels. The problem is the time that passes in the simulation is taken off the time for payments and not returned after the simulation is complete...
In this case I was close to the billing date, however the simulations can be set to run upto 28 days....

Rob

Kerbal Construction Time simulations work on the principal of quick saving when you enter the Simulation, then reverting to that quick save when you exit it, so as long the relevant parameters are stored and loaded with quick saving/loading it should function correctly and revert everything at the end of the simulation even if the billing has fired I believe.

I also use Kerbanomics with KCT and don't think I've been having this problem, but I will do some testing later and check.

Link to comment
Share on other sites

Kerbal Construction Time simulations work on the principal of quick saving when you enter the Simulation, then reverting to that quick save when you exit it, so as long the relevant parameters are stored and loaded with quick saving/loading it should function correctly and revert everything at the end of the simulation even if the billing has fired I believe.

I also use Kerbanomics with KCT and don't think I've been having this problem, but I will do some testing later and check.

Ok, it looks like I need to improve it's persistence settings then. Thank you both for the feedback!

Link to comment
Share on other sites

Found a bug! When you already have a loan, and request more it gives you the existing debt as well as the new requested amount. For example:

Current Funds: 35k

Existing Debt: 10k

Requested Amount: 10k

New Loan Principal: 20k

When I Calculate then Accept this is what happens is

Current Funds: 55k (35k Current + 20k New Loan Principal) when it should be 45k (35k Current + 10k requested amount).

Total Financed: 20k

This is easily reproducible in a fresh install with only Kerbonomics (2.0 RC3) installed.

Also can I suggest you prefix your Log strings with something, makes it easier to identify what is logging what!

Edited by Chonner
Link to comment
Share on other sites

  • 3 weeks later...
  • 2 weeks later...
Guest
This topic is now closed to further replies.
×
×
  • Create New...