Jump to content

Mod Query: Experience Overhaul


FirroSeranel

Recommended Posts

So I've been in the modding scene for a while... assisted on a few mods, done some playtesting and bug-hunting, and made a few small mods of my own. There's one aspect of KSP though that bothers me to no end, yet nobody I'm aware of has made a mod for it yet: experience.

I don't just mean leveling up as you play, as that's now just a menu option... in my opinion the entire experience system (being location-based) is just garbage.

To illustrate, let me ask a question. Let's say you're a space tourist. You're looking to spend hundreds of thousands of roots (hundreds of millions of dollars in my estimation) to go on a tour and land on Minmus. You have two choices of pilot:

Pilot A: Abel Kerman. Abel has over one hundred Minmus landings under his belt. He's done this exact mission dozens of times before, plus multiple Mun landings. He has almost a year of flight time aboard a Minmus-orbiting fuel and science station, has dozens more precision landings on Minmus with a fuel freighter, and boasts hundreds of launches and de-orbits from Kerbin.

Pilot B: Baker Kerman. Baker has only ever gone on one mission. Though he's a pilot, he's never actually touched the controls himself; on his single mission, he basically rode shotgun for an AI probe core that actually did the flying because he can't figure out how to point toward a maneuver node or a targeted vessel. He's launched once, happened to ride to Duna and back, and landed once, and... well that's it. One mission, ever, zero actual flying time, just a year or so of floating in space as a fifth wheel.

Obviously you'd want Abel, right? Clearly he's the more experienced kerbal, the obvious man for the job. In fact, if you wanted to send a mission to Laythe, I'm guessing you'd want Abel for that, too, wouldn't you? He's obviously a vastly better and more experienced pilot. Though he's not yet left Kerbin's SOI, he's seen all kinds of crazy scenarios and emergency situations, and come out of all of them alive, while Baker... pushed a button once, then watched the pretty pictures go by as the probe core flew the mission for him.

Yet in the game, Abel is level 2, and the novice ride-along guy is level 4. See the problem? The XP has nothing to do with, y'know... experience.

 

So what I would like to create, or to inspire someone who knows their way around the deeper working of KSP than I do into creating, would be a total overhaul of the XP system.

It would ideally use some weighted average of total flight time, number of landings (with more distant bodies weighted more heavily than Kerbin but not obscenely so like it is now), number of docking maneuvers or rendezvous... Maybe that could even just be for pilots... Scientists would be total time working in an active laboratory module, number of surface samples returned (again weighted for distance of body), total science points earned. Engineers could be total resources mined, flight time aboard space stations, and (with KAS/KIS installed) number of EVA construction operations or something like that.

Obviously those would take some fine-tuning, and -that- is the kind of thinking and work that I'd be happy to do, to game out statistically etc. What I don't know is if the experience system is even possible to modify at all. I'm 99% sure it can't be just using .cfg file editing, and unfortunately I've never gone into scripting at all. I probably could learn, but that'd be probably a several-hundred-hour project, where I suspect a more experienced modder could do that part of it (assuming it's possible) in more like 10-20 hours.

 

Is anyone interested in this? Either in taking it on themselves, or in co-authoring a mod with me? Or even just guiding and mentoring me to learn in as efficient way as possible?

Does anyone know of any mods in the annals of abandoned mod history that could be resurrected for 1.8?

Edited by FirroSeranel
Link to comment
Share on other sites

Oh, hey, nice! Thanks for pointing it out! And making it, it looks like.

That may be close enough for what I want. Not quite as immersive as what I proposed, but functionally it'll let me get higher level kerbals without having to send them on really complicated interplanetary missions every time (especially complex because of life support mods).

Is it working in 1.8 currently?

Edited by FirroSeranel
Link to comment
Share on other sites

3 hours ago, FirroSeranel said:

Oh, hey, nice! Thanks for pointing it out! And making it, it looks like.

That may be close enough for what I want. Not quite as immersive as what I proposed, but functionally it'll let me get higher level kerbals without having to send them on really complicated interplanetary missions every time (especially complex because of life support mods).

Is it working in 1.8 currently?

@Efour made it originally, I just polished it up a bit. :D

 

I haven't heard either way - which usually means it is fine. Nothing (that I know of (*knocking on Jeb's Head*)) should be affected by the changes brought to light by 1.8.

I haven't installed 1.8 yet - so haven't tried it either; normally I wait until the first bug patch (1.8.1 in this case) to recompile if nothing has been reported.

At the same time I am going to *try* to implement some new features (at least in the FTL).

Link to comment
Share on other sites

I tried to do something like this once (I even have some old proof of concept code I think) - the big problem that I ran into was that I couldn't figure out a way to get the stock experience system to get out of the way.

The only way I could figure out to completely disregard the stock experience points was to rip up the fight log, but that causes problems elsewhere (some mods use it), but I haven't looked at it in a long time

Edited by severedsolo
Link to comment
Share on other sites

I had a very similar idea some time ago and made a list of the various things I wanted to track for each profession. Got as far as locating some of the variables I would need but it never went beyond that I afraid.

Link to comment
Share on other sites

  • 2 weeks later...
On 10/22/2019 at 1:41 AM, severedsolo said:

I tried to do something like this once (I even have some old proof of concept code I think) - the big problem that I ran into was that I couldn't figure out a way to get the stock experience system to get out of the way.

The only way I could figure out to completely disregard the stock experience points was to rip up the fight log, but that causes problems elsewhere (some mods use it), but I haven't looked at it in a long time

Yeah, I was worried that the stock XP system would be baked in pretty deep. What if you discarded the flight log, but then kept the relevant stuff stored inside the mod somehow? Maybe a renamed variable that other mods could adapt to with a simple MM redefine, but that the game itself won't recognize to use for the XP system?

Link to comment
Share on other sites

30 minutes ago, FirroSeranel said:

Yeah, I was worried that the stock XP system would be baked in pretty deep. What if you discarded the flight log, but then kept the relevant stuff stored inside the mod somehow? Maybe a renamed variable that other mods could adapt to with a simple MM redefine, but that the game itself won't recognize to use for the XP system?

What you need to do is create a new experience system which will live alongside the stock system.  It would apply adjustments depending on the situation.

Your example of a pilot is good, but more definition is needed, especially for the other specialists.  You need to define the effect of the experience (or lack thereof).  Once the effect is defined, you can then think about how to implement it.  The stock XP is embedded, but doesn't really do that much, so IMHO, it can be mostly ignored.

Example of pilot experience:

  • Entry level pilot:   Very shaky on the controls.  Maybe not able to control at all vessels beyond a specified size.  Shaky controls can be implmented by applying random inputs of various sizes to the axises.  Not able to control a rocket in descent 
  • Medium level  pilot:  Controls are relatively smooth, but when descending, still somewhat shaky.  Can control larger vessels than the entry level pilot
  • High level pilot:  Controls are smooth, no issue with controlling vessels of any size.  Landings are also smooth (no random inputs)
Link to comment
Share on other sites

1 hour ago, linuxgurugamer said:

What you need to do is create a new experience system which will live alongside the stock system.  It would apply adjustments depending on the situation.

Your example of a pilot is good, but more definition is needed, especially for the other specialists.  You need to define the effect of the experience (or lack thereof).  Once the effect is defined, you can then think about how to implement it.  The stock XP is embedded, but doesn't really do that much, so IMHO, it can be mostly ignored.

Example of pilot experience:

  • Entry level pilot:   Very shaky on the controls.  Maybe not able to control at all vessels beyond a specified size.  Shaky controls can be implmented by applying random inputs of various sizes to the axises.  Not able to control a rocket in descent 
  • Medium level  pilot:  Controls are relatively smooth, but when descending, still somewhat shaky.  Can control larger vessels than the entry level pilot
  • High level pilot:  Controls are smooth, no issue with controlling vessels of any size.  Landings are also smooth (no random inputs)

Interesting... I was mostly just looking for a more realistic way to gain experience, to replace the need for long, involved training missions, and so a kerbal who's done dozens of fuel station delivery runs, or outpost supply runs can still be an experienced operator.

I hadn't thought of changing what the experience levels actually *do*. It's a neat thought... although I'm not sure that I, as a player, would actually want random control inputs. That edges too far into the territory of my skill as a player, to me. Still, the craft size limitations are interesting.

I can think of similar ideas for engineers and scientists, but now we're getting into some pretty major overhaul territory, reimagining the entire game as far as the purpose and usage of kerbals.

Mostly, though, I'm just so tired of having to either bring a probe core for full control, or run pilots through complicated training missions every time I want a new one trained up, that I'd started a career mode with kerbal levels disabled altogether.

I like the idea of experience mattering for kerbals in principle, I just think the way they implemented it makes no sense.

 

So I guess there are two elements to my motivation to make this mod... philosophical and practical.

Philosophically, it makes no sense that a kerbal who rode along as a more experienced pilot launched, landed on Minmus, planted a flag, dipped the ship's nose outside of Kerbin's SoI for all of an hour, then gravity assisted around the Mun and landed on kerbin, has more skills than a kerbal who's done six or seven Mun missions and a handful of Minmus missions to every biome, constructed several space stations and a mining colony on Minmus, and then done a bunch of delivery runs, but just never took that little nose dip out of the Kerbin system. That still exists... but with KSP2 on the horizon (which will hopefully do away with this abysmal XP system and replace it with something sensible), I'm not sure that's enough by itself.

Practically, I'm just -tired- of doing that "Minmus Flag Plant, SoI change, Mun-flyby" mission to get a pilot to be able to hold maneuver and point at another ship to dock, after doing it dozens and dozens of times. -That- problem is solved by the Kerbalnaut Training mod sufficiently that I think it kills my motivation to learn the inner workings of KSP to the extent I'd need to to create my own mod for this. It isn't solved in an ideal fashion, or how I would personally do it, but... it works, and it's good enough for me, for now.

 

Hmm... though looking at the Star levels and what they do... they could use some extra stuff. Maybe not random control inputs (or make that an option), but maybe a staged approach to adding SAS locks by ship size... so that for small ships (what you'd reasonably need to complete the tech tree in a normal sense), it's like it is now, but for 100t ships and above to get each unlock takes +1 star (so 4* for Maneuver/Target for 100t ships), and for 1000t plus requires +2 stars, so 5*. I've seen other mods make pilot levels 4 and 5 start adding bonuses to engine ISP, but the engineer in me just can't quite get around the lack of realism there. I can -almost- do it, like maybe the pilot is so good they're taking a more optimal trajectory through the system, but... at the end of the day what the engine can do is what the engine can do.

Scientists already have (or I thought they did; the wiki is saying they get basically nothing) a nice smooth progression of extra science recovered when they gather it, which makes sense. A better scientist takes better quality samples, doesn't contaminate samples during transfers, understands what details to notate, etc. And engineers get substantial progression with mining, with what they can repair, etc.

 

Anyway, I'm rambling at this point. Point being, there are a lot of things I'd change if I could, but I don't know enough about the game's architecture, or about how to program for it, to do it without tons of effort. I could learn, but with KSP 2 not too far off, and a solution to at least the practical side already existing, I just don't think I'm up for it.

 

Edit: I just strikes me that like so many things about KSP 1 (which I love, don't get me wrong, I have many thousands of hours in the game!), the XP system (along with the science system especially) feels tacked on and half-baked, and ends up being an obstacle to the fun of the game rather than a part of it, to me. I really hope KSP 2 really fully integrates both science and XP right from the get-go, along with colonization, to make a "complete experience" rather than a "core game plus tacked-on elements and mods making up the difference where they can" feel of KSP 1.

Edited by FirroSeranel
Link to comment
Share on other sites

  • 1 month later...
On 11/4/2019 at 10:53 AM, FirroSeranel said:

I just strikes me that like so many things about KSP 1 (which I love, don't get me wrong, I have many thousands of hours in the game!), the XP system (along with the science system especially) feels tacked on and half-baked,

Most everything about KSP is tacked-on and half-baked. It's a work of love that sort of morphed and developed over time. The "Fresh Start(tm)" of KSP2 will hopefully integrate these things a whole lot better from the get-go. It's true that part of KSP's attraction is the premise and not exactly the execution. It's charmingly flawed. :)

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...