Jump to content

[Released] Strategia


nightingale

Recommended Posts

Strategia has been released!

Head on over to the release thread.

 

Older stuff:

BETA RELEASE!

Strategia is now in BETA.  The latest release can be downloaded here.

Please report all issues on this thread.  Ideally, you should try this out on a brand new career change (to help with feedback around balance), but it should work on existing career saves as well.  I can't guarantee forward compatibility with future releases (but at worst you will need to delete the STRATEGY nodes in your save file to upgrade from one version to another).

Required Dependencies:

The following dependencies are required:

Current known issues:

  • Most of the strategy artwork is not done (the icons for strategies without art is a question mark)
  • Tourism Plus integration won't work until I release a new version of Tourism Plus.  In the meantime, you can grab this module manager config to enable it.
  • Field Research integration won't work until I release a new version of Field Research.  In the meantime, you can grab this module manager config to enable it.
  • The avatars for Gene/Wernher will appear darkened in scenes other than the Admin building.  I just haven't gotten around to fixing this yet.

Planned features before release:

  • Ability to "upgrade" strategies from a lower level to a higher level and only pay the incremental cost
  • Notifications when a strategy gives you Funds/Research/Reputation (in a lot of cases it just silently happens).

Older background info:

New mod development time!

For a very long time, I've felt that the strategy system is rather lacklustre (which is far better than in 0.25, when strategies were wildly overpowered). There is very little in the way of mods that deal with strategies (the only one I'm aware of is AlphaAsh's Serious Kerbal Business). So I've decided I'm going to do a strategy mod.

But we're not going halfway.

So here's my issues with the strategy system as it is:

  • Boring - Really, there's no other way to put it. Taking 3.79% of contract funds and converting each fund to 0.236 science is not interesting. Most of the strategies offer very little in the way of excitement. My strategies will be varied and interesting.
  • Commitment Increments - The 5% commitment increments are bad for a couple reasons. It's a much more interesting gameplay mechanic if a player gets to choose between A or B, rather than having sliders. The end result tends to be that a player will just dump as much as they can into it. My strategies will have either no commitment level (on/off) or just one or two distinct levels.
  • Setup Costs - The setup costs are steep. Worse yet, the commitment levels mean that it tends to be better to hold off on picking a strategy, so you don't wast money on a worthless low-commitment strategy (really, you should be able to increase commitment to strategies and pay the incremental cost). My strategies will have proportianate setup costs (and low-cost ones may have other downsides).

So what I'm aiming for is:

  • No stock strategies
  • 4-6 departments
  • 4-8 strategies per department

As I develop (already in progress, mostly framework stuff is done right now), I'm planning on posting up some teasers of strategies up in this thread. I'm also interested in any ideas anyone else has for strategies. So suggest away!

 

btn_donate_SM.gif Like what you see? Consider buying me a coffee or ten! It will not go directly to supporting this or other mods under my care, but it will help keep my motivation up!

 

Edited by nightingale
Link to comment
Share on other sites

No love for this thread yet? A wise troll once told me, "no pics, no clicks". Nothing to click on yet, but here's the pics!

So the first set of strategies that I wanted to show off are what I collectively refer to as the "Celestial Body Programs", which are broken into "Moon Programs", "Planet Programs" and "Gas Giant Programs". These strategies can't be turned on/off at a whim - once you choose one, you either have to complete it (and get a reward), or let the timer run out (and get a stiff penalty). They have some pretty big upsides (vastly increased milestone rewards for the chosen body, cheaper research, big reward at the end) compared to the downsides (modest setup fee, vastly decreased milestone rewards for other bodies, giant penalty for failure). But we'll see how it looks with other strategies I come up with - I'm willing to call it balanced if a player isn't automatically choosing these over other strategies.

Oh, and these are dynamic, of course. So players of RSS will get things like "The Apollo Program", "The Ares Program", and "The Zeus IV Program". Players of New Horizons will see options like "The Serran Program", The Arin Program", and "The Vanor VI Program".

IMGLAoSPXc.pngIkJpilH.png

I'm really happy with how the icons turned out for these. I was going to keep the black and white look of stock KSP, but for planets I wanted just a little bit more to it. I didn't do custom icons for any planet packs (for some I hard-coded a mapping to a "close" stock icon, others will just fall-back on a default icon). If there ends up being demand for it, I can always do some custom icon packs easily enough.

IMGa29oaxS.png4MBHpJt.pngTERFZYy.png
IMGCHZZf7i.pngtKNRz3U.pngpF8G0uC.png

Let me know what you guys think!

Edited by nightingale
Link to comment
Share on other sites

This is good, really good: it has a lot of potential.
Maybe we'll finally be able to make actual programs in career mode !

And even better: strategies might actually be useful for something !

I'm really looking forward the Celestial Bodies Programs for RSS, and the overall development of this mod.
Link to comment
Share on other sites

Definitely interesting!

I see one issue though: in your screenshot, each of the three sample strategies you present have a crewed landing as their ultimate goal, with a deadline. It's probably a reasonable assumption for stock KSP that almost nobody ever flies uncrewed exploration craft, but in modded KSP, this is much more common. If you wanted to, for instance, recreate the likeness of the Apollo program, you would more or less complete every single milestone other than the crewed landing with probes and robotic landers. And again, with the Mun the margins are quite lenient, but now take Jool. Four years time limit to put a Kerbal on all five moons, when only two or three transfer windows occur during that time period, and trip times are very long. If I decide to send an unmanned probe first, wait till it arrives and does its stuff, then construct an unmanned lander probe, wait for the transfer window, wait for the transit time... the time limit may already be consumed before I even start to think about sending Kerbals to even one moon.

I realize that this is an extreme example, but I wanted to use it to point out that these strategies disfavor unmanned exploration. Which is why I want to suggest employing committment levels here: you can scale the milestone payout bonus in several increments, with the higher committment levels paying more but having shorter deadlines to the first crewed landing.
Link to comment
Share on other sites

Now this is something I can get behind. The idea seems to blend the contract and strategy system which I have to admit is rather brilliant. Personally I find the explore (the longest and most involved) and space station contracts (I pick and choose to have fuel depots/supply stops for the exploring contracts) the only ones I do now. Nothing in stock offers a long-term strategic commitment, where all you're decisions are guided by a much larger goal.
Link to comment
Share on other sites

[quote name='One-Way Films']This will improve Career mode by a long way! Will you need a certain tier admin building to unlock some of these strategies? Then there'll be a reason to upgrade the thing. A pool just isn't enough to upgrade imo[/QUOTE]

Yup, the intention is to have certain strategies with three commitment levels (that nicely fall into the three building tier levels). Other strategies will have a minimum building level (in the example above, the Moon Programs need level 1, Planet Programs level 2, and Gas Giant Programs level 3).

[COLOR=silver][SIZE=1]- - - Updated - - -[/SIZE][/COLOR]

[quote name='Streetwind']Definitely interesting!

I see one issue though: in your screenshot, each of the three sample strategies you present have a crewed landing as their ultimate goal, with a deadline. It's probably a reasonable assumption for stock KSP that almost nobody ever flies uncrewed exploration craft, but in modded KSP, this is much more common. If you wanted to, for instance, recreate the likeness of the Apollo program, you would more or less complete every single milestone other than the crewed landing with probes and robotic landers. And again, with the Mun the margins are quite lenient, but now take Jool. Four years time limit to put a Kerbal on all five moons, when only two or three transfer windows occur during that time period, and trip times are very long. If I decide to send an unmanned probe first, wait till it arrives and does its stuff, then construct an unmanned lander probe, wait for the transfer window, wait for the transit time... the time limit may already be consumed before I even start to think about sending Kerbals to even one moon.

I realize that this is an extreme example, but I wanted to use it to point out that these strategies disfavor unmanned exploration. Which is why I want to suggest employing committment levels here: you can scale the milestone payout bonus in several increments, with the higher committment levels paying more but having shorter deadlines to the first crewed landing.[/QUOTE]

I want to try and keep these deadlines as short as possible, but having an alternate version via commitment level without the 5% research cost reduction and with reduced rewards might be a workable idea. I'll hold off for now though, as there will be other strategies that will have an emphasis on unmanned exploration that might be sufficient to balance this off.

EDIT: Also, in your specific example, you could send all three missions one after the other in the same transfer window. These strategies aren't intended to aid in a cautious approach, but be more like the Apollo program - the whole country coming together to meet an ambitious goal quickly. Edited by nightingale
Link to comment
Share on other sites

This looks so fascinating. It is a real improvement over stock career strategies.


But I'd like to back Streetwind's concern up. If you launch all the essential steps for any interplanetary program in one launch window without any preparations, you basically shoot out loud "easy-peasy", having your bridges burned.
Link to comment
Share on other sites

Ooh, I like this. If it works the way I think it's going to, it will be the way I hoped contracts would work.

You tell the game: Here's my mission proposal.
Game goes: ok, here is what we are willing to offer.

Suggestion: rather than "here's a reward for doing it" (which the contract system sorta already offers) how about "here's a budget to achieve your goals" (like an advance) - if you don't succeed, they claim it back, with interest.

If it's done right, the player may never have to touch the contract system at all. Edited by severedsolo
Link to comment
Share on other sites

Getting a lot of good feedback here.

In general, I'm going to be trying to keep strategies as close as possible to the general stock concept, which is "provide a benefit while a given strategy is active" (or provide a benefit over time). The strategies that I happened to work on first are ones that don't fit in that mold. One of the main reasons for keeping the timelines for these as small as possible was to prevent the % reduction on research from getting too abused.

So having thought about it some more, what I'll likely do is move the % reduction of research to some other strategy, and adopt severedsolo's idea. The benefit to the "program" strategies will be cash up front (to kick-start the endeavor), with small cash and large rep awards on completion (and keeping the modifiers to milestones as is). There also be a large cash and massive rep penalties for failure. So these strategies will serve as a source of up-front funding for the player's desired goal, allowing them to not have to do contracts. The main downside of the strategy will be that it'll take up a slot that the player won't be able to use for other strategies.

Right now the strategy limit is 1/3/5 depending on building level - I'm strongly considering changing it in Strategia to 1/2/3 to make choosing which strategies to use into a more difficult decision for the players. Heck, maybe there's room for a strategy that gives +2 strategy slots, but provides a bunch of other big downsides.
Link to comment
Share on other sites

[quote name='Avera9eJoe']Sounds interesting :). I wonder how well this runs alongside KCT.[/QUOTE]

I was just wondering about KCT myself. Although I don't think it would be too bad. I think, what I would do, for the "land on a body" programs, is I'd build my craft in the VAB, then see how long KCT said it needed to build. Then, that many days (plus a few just in case) before the launch/transfer window I'd start the strategy, and get my craft building.
Link to comment
Share on other sites

[quote name='severedsolo']I was just wondering about KCT myself. Although I don't think it would be too bad. I think, what I would do, for the "land on a body" programs, is I'd build my craft in the VAB, then see how long KCT said it needed to build. Then, that many days (plus a few just in case) before the launch/transfer window I'd start the strategy, and get my craft building.[/QUOTE]

At some point I was going to do KCT and BROKE integration. I haven't decided if it will be strategies tailored to each of those (eg. a standalone strategy that decreases KCT build time), or just module manager additions to other strategies (eg. you get decreased build times as part of the Moon Program).
Link to comment
Share on other sites

[quote name='nightingale']At some point I was going to do KCT and BROKE integration. I haven't decided if it will be strategies tailored to each of those (eg. a standalone strategy that decreases KCT build time), or just module manager additions to other strategies (eg. you get decreased build times as part of the Moon Program).[/QUOTE]

Let me know if you need anything on my end! I really need to get back to finishing BROKE and the KCT API, been too distracted with work+other games lately. Currently there aren't ways for other mods to modify the build times, but that can certainly be something I add in when I (eventually) get around to doing the API. I got a lot of work done around the holidays last year, so perhaps I'll crank out most of the API this year.
Link to comment
Share on other sites

[quote name='magico13']Let me know if you need anything on my end! I really need to get back to finishing BROKE and the KCT API, been too distracted with work+other games lately. Currently there aren't ways for other mods to modify the build times, but that can certainly be something I add in when I (eventually) get around to doing the API. I got a lot of work done around the holidays last year, so perhaps I'll crank out most of the API this year.[/QUOTE]

Definitely! I was going to wait until I was working on specific stuff, but probably good to be proactive. I haven't looked at the code for either recently, but here's some of the ideas for KCT. These would be implemented as StrategyEffects on my end, and worked into various strategies that I may or may not have thought of yet:
[LIST]
[*]Modify (increase/decrease) build times by a percentage
[*]Modify (increase/decrease) research times by a percentage
[*]Unlock a separate build queue that will disappear when the strategy is deactivated
[*]Modify (increase/decrease) upgrade point cost
[/LIST]
And for BROKE :
[LIST]
[*]Add a customer funding modifier line
[*]Increase/Decrease all/certain funding modifiers by a percentage
[/LIST]
If there's others that make sense, I'm certainly open.
Link to comment
Share on other sites

This looks nice, some thoughts I had...

[LIST]
[*] The deadlines will not mean much to the player. Having one year to get to Duna just means the player will activate this strategy with a kerbal in orbit of Duna. There needs to be some kind of balancing mechanism there. I cannot think of one off of the top of my head at the moment. Contracts generally deal with this sort of thing by requiring a new vessel, or by having a secondary objective of some kind that ensures that the player puts some sort of effort into his accomplishment.

[*] Remember that 1.0.5 added support for progress tracking for both manned and unmanned progression. The milestones intentionally do not care how you achieve something, but maybe your strategies can... ;)
[/LIST] Edited by Arsonide
Link to comment
Share on other sites

[quote name='nightingale']
[LIST]
[*]Modify (increase/decrease) build times by a percentage
[*]Modify (increase/decrease) research times by a percentage
[*]Unlock a separate build queue that will disappear when the strategy is deactivated
[*]Modify (increase/decrease) upgrade point cost
[/LIST]
[/QUOTE]

I'll keep these in mind when I start working on that. I definitely was planning on having the ability to add/remove upgrade points (perhaps even directly to an upgradeable rather than to the available pool), but you make me realize that I should also have a way to tack things onto the existing formulas without permanently modifying them (and maybe also an event when a formula is parsed so you can just act on that value). These will take a while, but it sounds like that's later on down the line anyways.

[quote name='nightingale']
And for BROKE :
[LIST]
[*]Add a customer funding modifier line
[*]Increase/Decrease all/certain funding modifiers by a percentage
[/LIST]
If there's others that make sense, I'm certainly open.[/QUOTE]

Custom funding modifiers you can already do, so that part's done on my end at least ;) I'll have to think about how to handle other mods adjusting other funding modifiers. I'm not a huge fan of the idea of someone overwriting someone else's FM (rather than just writing their own FM to have a similar effect) but perhaps I'll add a way to adjust an Invoice when they're created (aka, more events), since I don't think anyone would do anything stupid/malicious on purpose (which does make me think about the licensing issues that could be present with FMs. They should probably follow the official mod rules in that they need a license and otherwise are considered ARR).


As for other thoughts, I don't have any at the moment. I think BROKE's flexible enough that you can easily do whatever you want with it after I add events for Invoices. KCT's a bit more of a hassle, but if you can modify the formulas then you can do just about anything. You could play around with the part inventory as well if you wanted people to use certain parts (that'd actually be great for contracts).
Link to comment
Share on other sites

[quote name='Arsonide']This looks nice, some thoughts I had...

[LIST]
[*] The deadlines will not mean much to the player. Having one year to get to Duna just means the player will activate this strategy with a kerbal in orbit of Duna. There needs to be some kind of balancing mechanism there. I cannot think of one off of the top of my head at the moment. Contracts generally deal with this sort of thing by requiring a new vessel, or by having a secondary objective of some kind that ensures that the player puts some sort of effort into his accomplishment.
[*] Remember that 1.0.5 added support for progress tracking for both manned and unmanned progression. The milestones intentionally do not care how you achieve something, but maybe your strategies can... ;)
[/LIST]
[/QUOTE]

Well, right now you can't activate the strategy if you've reached Duna. But yes, that just means they have to activate it just outside the SOI boundary instead. I could move the boundary to "leaving Kerbin", but that has the drawback of disallowing the player from taking a new Planetary Program strategy. Oh that gives me a thought... I'll have to look at stuff to see if it's possible to do this on an unloaded vessel, but I can loop through all the vessels and disallow the strategy if there are any vessels that have a closest intercept with Duna within the time limit that is less than a given tolerance, and then disallow the strategy. It could work...

Good reminder on the manned/unmanned. Since I'm considering unmanned variants on this strategy, I'll have to change some stuff over to look at the appropriate progress item.

[COLOR="silver"][SIZE=1]- - - Updated - - -[/SIZE][/COLOR]

[quote name='magico13']I'll keep these in mind when I start working on that. I definitely was planning on having the ability to add/remove upgrade points (perhaps even directly to an upgradeable rather than to the available pool), but you make me realize that I should also have a way to tack things onto the existing formulas without permanently modifying them (and maybe also an event when a formula is parsed so you can just act on that value). These will take a while, but it sounds like that's later on down the line anyways.



Custom funding modifiers you can already do, so that part's done on my end at least ;) I'll have to think about how to handle other mods adjusting other funding modifiers. I'm not a huge fan of the idea of someone overwriting someone else's FM (rather than just writing their own FM to have a similar effect) but perhaps I'll add a way to adjust an Invoice when they're created (aka, more events), since I don't think anyone would do anything stupid/malicious on purpose (which does make me think about the licensing issues that could be present with FMs. They should probably follow the official mod rules in that they need a license and otherwise are considered ARR).


As for other thoughts, I don't have any at the moment. I think BROKE's flexible enough that you can easily do whatever you want with it after I add events for Invoices. KCT's a bit more of a hassle, but if you can modify the formulas then you can do just about anything. You could play around with the part inventory as well if you wanted people to use certain parts (that'd actually be great for contracts).[/QUOTE]

If you haven't seen them, look at how the stock strategies work, I think it's a good solution for [I]simplistic cases[/I]. Every time something is about to spend Funds (for example), it'll fire a CurrencyModifierQuery game event. One of the objects in that event represents the funding change that is going to happen, and can be modified by event handlers. Something similar with a construction time query even would allow me to easily do a percentage based modification. It breaks down quickly if there's multiple modifiers being applied (they get applied manipulatively instead of additively). I guess it's a question of where in the formula is the best place to apply a given modifier. Which if I haven't yet looked to see what is the formula being used, then I'm just kind of babbling. :D
Link to comment
Share on other sites

[quote name='nightingale']Well, right now you can't activate the strategy if you've reached Duna. But yes, that just means they have to activate it just outside the SOI boundary instead. I could move the boundary to "leaving Kerbin", but that has the drawback of disallowing the player from taking a new Planetary Program strategy. Oh that gives me a thought... I'll have to look at stuff to see if it's possible to do this on an unloaded vessel, but I can loop through all the vessels and disallow the strategy if there are any vessels that have a closest intercept with Duna within the time limit that is less than a given tolerance, and then disallow the strategy. It could work...[/QUOTE]

The issue here is feedback to the player. "Why does this ship work, and this ship not work?" It might cause some confusion if not presented properly, and really you want to present it in the simplest way possible. That's why I opted for "a new vessel" back in the day. It's boolean, it's clear, and it's concise. Even that has issues though: "When did I launch this vessel? I forget..." With the contract I have the benefit of a visible check box in the contract app. A strategy doesn't have this, making communication all the more important. Closest intercept is a bit complex and abstract to convey in a concise manner.

Of course you could just leave it in the player's hands. At a certain point you have to realize, cheaters are going to cheat. All they have to do is hit Alt-F12. Edited by Arsonide
Link to comment
Share on other sites

[quote name='Arsonide']The issue here is feedback to the player. "Why does this ship work, and this ship not work?" It might cause some confusion if not presented properly, and really you want to present it in the simplest way possible. That's why I opted for "a new vessel" back in the day. It's boolean, it's clear, and it's concise. Even that has issues though: "When did I launch this vessel? I forget..." With the contract I have the benefit of a visible check box in the contract app. A strategy doesn't have this, making communication all the more important. Closest intercept is a bit complex and abstract to convey in a concise manner.

Of course you could just leave it in the player's hands. At a certain point you have to realize, cheaters are going to cheat. All they have to do is hit Alt-F12.[/QUOTE]

Way ahead of you, my next preview post will be about some of the quality of life changes I've made for these strategies, one of them being a list of requirements for activating the requirement in the description that highlight green/red as they are met/unmet. I won't say what the others are, because then I'll spoil the post. :D

In this case I can just abstract all the detail into a text line that says "Have no ships near or en-route to Duna".

But I'll need to think about if that's the solution I really want to go with.
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...