[MOD] Faster Crew Leveling 0.15

The place to discuss scripting and game modifications for X4: Foundations.

Moderators: Moderators for English X Forum, Scripting / Modding Moderators

Mackan
Posts: 143
Joined: Thu, 1. Aug 13, 05:59
xr

[MOD] Faster Crew Leveling 0.15

Post by Mackan » Wed, 8. Apr 20, 08:17

Faster Crew Leveling, version 0.15

Description

A quick and dirty modification to the level up rates of crew.

Every skill except boarding and engineering will now level up a lot faster. In addition, activities with a level cap of 3 stars have been changed to 4 stars. Level caps for morale have been removed.

The new rates are currently tentative and are probably unbalanced. Feedback welcome.


Download

Steam Workshop: https://steamcommunity.com/sharedfiles/ ... 2050537227

Direct download: https://drive.google.com/open?id=1I8YKs ... _7mcTPibsj


Change log

Release 0.15
  • Made miners exempt from the "bad trade" penalty
Release 0.10
  • First release

Mackan
Posts: 143
Joined: Thu, 1. Aug 13, 05:59
xr

Re: [MOD] Faster Crew Leveling 0.15

Post by Mackan » Wed, 8. Apr 20, 09:18

While working on this mod I've had a few ideas on changes I would like to implement to the leveling system. I'm very hesitant to go ham though as leveling is nestled into multiple AI scripts and I don't want to get too crazy as to avoid breaking stuff and ensure compatibility with other current or future mods. If I make any drastic additions I'll probably separate them into a new mod while keeping this one as simple as possible.

Anyway, ideas so far:

Rework morale. Morale is essentially treated as any other skill right now and this is something I would like to change. I've wrestled with some ideas on how to do this while keeping with the theme of the skill's namesake, but it's probably going to be tricky to get working in a way that is fun.

The first idea I had was to make the skill a lot more dynamic. Easy to gain, easy to lose. And essentially base the level cap of other skills on the current morale level. Again, while it might sound interesting it can get annoying fast, especially as the leveling system in this game is terrible at explaining to the player how it works. I would have to figure out a way to adequately explain to the player what morale does, how to gain it and what causes a loss of it. But it shouldn't be too hard to get working under the hood.

The second idea I have I like more. Basically scrap the morale concept entirely, rename the skill to "rank" or something similar and only allow leveling it in increments of 3 (3 levels = one star). This "rank" skill would essentially work as a hard level cap for all other skills (except boarding and engineering) where they can't go beyond what the current rank level is. So 3 stars in rank would only make it possible to level up to 3 stars in piloting etc. Rank would only be possible to level up with seminars, which I would rename to "licence" or something similar. A seminar, or licence, would level up rank by 3 levels meaning you would only need one seminar per star. I'd also scrap other seminars with this change making you only have to hunt for a single type. To solve the issue of auto trading with this system I'd probably make it based on just rank rather than combined skill if possible, so you can make even a level 1 pilot an auto trader as long as their rank is 3 stars or whatever.

The issue with this system is it would have to accommodate NPC factions appropriately. I would also have to find every instance of skill checks where service crew and marines are involved and subtract morale from them. These issues are solvable from what I can tell and this idea is probably the one I'm most likely to go forward with. It's less fire-and-forget than just having crew auto level from zero to five stars but streamlines the investment required for key personnel as you only need one type of seminar, in lesser quantities.

I'm also interested in making a custom menu for skill overview of NPCs, with information on level up rates for common activities based on the NPC's current skill levels. I'd also probably migrate seminar application to this menu, to make that whole system way less annoying. I still haven't figured out how to modify the context interaction menu for NPCs though, so work on that is slow.

AkiraR
Posts: 35
Joined: Sun, 15. Apr 18, 02:05
x3tc

Re: [MOD] Faster Crew Leveling 0.15

Post by AkiraR » Wed, 8. Apr 20, 10:48

Definitely like option 2 the best, and it sounds like it's more thought out, really like this mod as it was massively needed, any idea if it will conflict with VRO and FE?

Mackan
Posts: 143
Joined: Thu, 1. Aug 13, 05:59
xr

Re: [MOD] Faster Crew Leveling 0.15

Post by Mackan » Wed, 8. Apr 20, 11:49

AkiraR wrote:
Wed, 8. Apr 20, 10:48
Definitely like option 2 the best, and it sounds like it's more thought out, really like this mod as it was massively needed, any idea if it will conflict with VRO and FE?
It shouldn't conflict with those mods, no.

Neloth23
Posts: 71
Joined: Thu, 13. Jul 17, 18:31
x4

Re: [MOD] Faster Crew Leveling 0.15

Post by Neloth23 » Wed, 8. Apr 20, 18:31

Thanks a lot for putting a non-steam link! I will test your mod in my playthrough right away.

Leaving engineers and marines as they are seems a good idea to me. They weren't much a problem.

I also like your second idea about ranks. I think it would make the leveling system a lot less obscure for players.

Just a small thing, when I experimented in experiences.xml, I didn't manage to get whole stars at once. The most I got was 1 point per trade run for instance (with a 10.0 base and 0.68 falloff). So I'm not sure if it is possible to get 3 stars in a row. Could there be a hard limit on the experience delivered per operation? Or maybe I should have tried a base of 100 ? :D

I'm really interested in where you can go with this mod. Thanks again for releasing it!

Mackan
Posts: 143
Joined: Thu, 1. Aug 13, 05:59
xr

Re: [MOD] Faster Crew Leveling 0.15

Post by Mackan » Wed, 8. Apr 20, 19:30

Neloth23 wrote:
Wed, 8. Apr 20, 18:31
Just a small thing, when I experimented in experiences.xml, I didn't manage to get whole stars at once. The most I got was 1 point per trade run for instance (with a 10.0 base and 0.68 falloff). So I'm not sure if it is possible to get 3 stars in a row. Could there be a hard limit on the experience delivered per operation? Or maybe I should have tried a base of 100 ? :D
I think base is just a chance coefficient and apply_experience will always add either 1 or -1 if the roll is successful. If you would want to modify level by more than one point at a time you'd have to use either set_skill or add_skill. Seminars for example use add_skill to apply levels, in md/conversations.xml, making it very easy to modify how many levels a seminar should apply (set to 1 in vanilla :().

Neloth23
Posts: 71
Joined: Thu, 13. Jul 17, 18:31
x4

Re: [MOD] Faster Crew Leveling 0.15

Post by Neloth23 » Wed, 8. Apr 20, 20:18

Mackan wrote:
Wed, 8. Apr 20, 19:30
I think base is just a chance coefficient and apply_experience will always add either 1 or -1 if the roll is successful. If you would want to modify level by more than one point at a time you'd have to use either set_skill or add_skill. Seminars for example use add_skill to apply levels, in md/conversations.xml, making it very easy to modify how many levels a seminar should apply (set to 1 in vanilla :().
True, I had forgotten about the randomness of it all.
That's indeed good news if you can bypass this with seminars. Good call!

User avatar
hourheroyes
Posts: 346
Joined: Mon, 9. Apr 12, 05:14
x4

Re: [MOD] Faster Crew Leveling 0.15

Post by hourheroyes » Fri, 10. Apr 20, 17:51

My only issue with the seminar idea is trying to level 50 marines to level 2 or 3 is going to be a nightmare of UI wrestling..
Rode my bicycle across the USA in 2014. Here's the travel blog with lots of words & pictures.

Sirilius
Posts: 303
Joined: Fri, 26. Dec 03, 23:59
x4

Re: [MOD] Faster Crew Leveling 0.15

Post by Sirilius » Fri, 10. Apr 20, 21:25

Loving this mod. IMHO I don’t think this mod feels like cheating. I lost a rank 3 auto trader the other day and I honestly wanted to hold a funeral cause they take a while to level up.

I currently have a very small mining fleet with 3 small miners acting as a “training” school. Even waiting for them to get to level three so I can swap the pilot out is pretty hands on.

I also saw that the dev said they are fixing something you noticed, well done! How will this affect how you approach the mod following the update fix?

At the moment I don’t have a combat fleet at all so I’ve not idea how quickly pilots in combat or patrol levels with this mod. I would find it strange if all my fighter pilots had to grind through hours of mining in a small ship before getting a combat position...

Thanks for the work in this mod

Mackan
Posts: 143
Joined: Thu, 1. Aug 13, 05:59
xr

Re: [MOD] Faster Crew Leveling 0.15

Post by Mackan » Fri, 10. Apr 20, 23:38

hourheroyes wrote:
Fri, 10. Apr 20, 17:51
My only issue with the seminar idea is trying to level 50 marines to level 2 or 3 is going to be a nightmare of UI wrestling..
Yep, so the rank idea I would only apply to piloting and managing. Engineering and boarding I would leave alone, and maybe decouple some morale checks from the repair and boarding scripts too if necessary.
Sirilius wrote:
Fri, 10. Apr 20, 21:25
I also saw that the dev said they are fixing something you noticed, well done! How will this affect how you approach the mod following the update fix?
I might slightly nerf chance to level up for mining as miners would level up twice as fast after the fix.
Sirilius wrote:
Fri, 10. Apr 20, 21:25
At the moment I don’t have a combat fleet at all so I’ve not idea how quickly pilots in combat or patrol levels with this mod. I would find it strange if all my fighter pilots had to grind through hours of mining in a small ship before getting a combat position...
Combat leveling is a bit awkward once you really scale up your fleets as your ships will essentially compete against each other for experience. And you tend to stop caring about pilot levels anyway once you start pumping out hundreds of small ships as level micromanagement kind of becomes impossible at that point.

I've been thinking about making small and medium combat ships use their commander's combined skill for combat performance if it's higher than their own. That way the level system would still be engaging during later stages of gameplay as you'd be rewarded for being conscious about fleet composition. Not all combat behavior can be changed to use commander skill though, but I would probably rescale those so that they max out at 3 stars instead of 5. It would make the game harder for the player, but eh you gain some and you lose some. /shrug

I've almost mapped out all of the scripts I would need to modify for a level mechanic rework. The only thing left is to figure out how to make a working crew academy module for player shipyards and make a check to see if it's been built. The idea is that once you've got one, all new hires will start with higher levels. The blueprint for it won't be cheap. ;)

All of this stuff will be in a separate mod though. I'd like to limit this one to just increasing level up rates, for people who still want the system as close to vanilla as possible.

User avatar
StoneLegionYT
Posts: 1428
Joined: Fri, 4. Nov 05, 01:18
x4

Re: [MOD] Faster Crew Leveling 0.15

Post by StoneLegionYT » Sat, 11. Apr 20, 03:25

I love to have faster but not too fast hehe. Clearly the curve for say sector miner hits a wall at level 2. Love that to not be as bad but I don't want to level from 0-3 where might be way less then it is now level 1-2ish.

Sirilius
Posts: 303
Joined: Fri, 26. Dec 03, 23:59
x4

Re: [MOD] Faster Crew Leveling 0.15

Post by Sirilius » Sat, 11. Apr 20, 12:53

Mackan wrote:
Fri, 10. Apr 20, 23:38

I've been thinking about making small and medium combat ships use their commander's combined skill for combat performance if it's higher than their own. That way the level system would still be engaging during later stages of gameplay as you'd be rewarded for being conscious about fleet composition. Not all combat behavior can be changed to use commander skill though, but I would probably rescale those so that they max out at 3 stars instead of 5. It would make the game harder for the player, but eh you gain some and you lose some. /shrug
That sounds cool and very engaging. If and when you have the time, would you be able to explain how ranks affect combat? Is there some sort of increase in damage or are they given better AI (this would suck as the AI already seems pretty dumb).

I wonder if you can use some of the khaak AI to form some of kind “wingman” system. Where it might be advantageous to form smaller groups of fighters which look out for each other.
Mackan wrote:
Fri, 10. Apr 20, 23:38

I've almost mapped out all of the scripts I would need to modify for a level mechanic rework. The only thing left is to figure out how to make a working crew academy module for player shipyards and make a check to see if it's been built. The idea is that once you've got one, all new hires will start with higher levels. The blueprint for it won't be cheap. ;)
Nice. I had intended to reactivate Professional Crew mod once I had a proper empire going. This sounds better.
Mackan wrote:
Fri, 10. Apr 20, 23:38


All of this stuff will be in a separate mod though. I'd like to limit this one to just increasing level up rates, for people who still want the system as close to vanilla as possible.
You could just do what Mysterial does and have the mod come packaged and people can choose which module they want active. Might be easier to keep track of the forum discussions.

zakaluka
Posts: 519
Joined: Sat, 16. Nov 13, 19:47

Re: [MOD] Faster Crew Leveling 0.15

Post by zakaluka » Sun, 12. Apr 20, 05:17

Mackan wrote:
Fri, 10. Apr 20, 23:38
Combat leveling is a bit awkward once you really scale up your fleets as your ships will essentially compete against each other for experience. And you tend to stop caring about pilot levels anyway once you start pumping out hundreds of small ships as level micromanagement kind of becomes impossible at that point.
I've been wondering about this. You know how, as the player, if you assist a kill, you get full credit? Is it possible the same applies to AI pilots?

Don't get me wrong, leveling is absurdly slow. But I have fleets guarding some important exits from Xenon space, each one of them with 10+ asps and 2 or more destroyers. It seems like my pilots are leveling faster than they should be if ONLY a killing blow counts as a kill. Given the graph and percentages you showed us for combat and leveling.

Mackan
Posts: 143
Joined: Thu, 1. Aug 13, 05:59
xr

Re: [MOD] Faster Crew Leveling 0.15

Post by Mackan » Sun, 12. Apr 20, 13:53

Sirilius wrote:
Sat, 11. Apr 20, 12:53
If and when you have the time, would you be able to explain how ranks affect combat? Is there some sort of increase in damage or are they given better AI (this would suck as the AI already seems pretty dumb).
Higher skill mostly increases reaction time, better positioning calculations and such. Higher skilled pilots are also less likely to bail. As for stats, there are modifiers to maneuverability based on skill. Starts at 0.2 at 0 stars and ends at 1.0 at 5 stars. It's not linear, the increase is higher at lower levels.

Code: Select all

      <skill level="0" strafespeed="0.2" strafeacc="0.2" steeringspeed="0.2" steeringacc="0.2" reactiontime="0.0">
...
      <skill level="1" strafespeed="0.5" strafeacc="0.5" steeringspeed="0.5" steeringacc="0.5" reactiontime="0.0">
...
      <skill level="2" strafespeed="0.7" strafeacc="0.7" steeringspeed="0.7" steeringacc="0.7" reactiontime="0.0">
...
      <skill level="3" strafespeed="0.8" strafeacc="0.8" steeringspeed="0.8" steeringacc="0.8" reactiontime="0.0">
...
      <skill level="4" strafespeed="0.85" strafeacc="0.85" steeringspeed="0.85" steeringacc="0.85" reactiontime="0.0">
...
      <skill level="5" strafespeed="1.0" strafeacc="1.0" steeringspeed="1.0" steeringacc="1.0" reactiontime="0.0">
There are some combat maneuvers that seem to be locked behind skill level as well but none of those require more than 2 2/3 stars from what I can tell.

zakaluka wrote:
Sun, 12. Apr 20, 05:17
I've been wondering about this. You know how, as the player, if you assist a kill, you get full credit? Is it possible the same applies to AI pilots?

Don't get me wrong, leveling is absurdly slow. But I have fleets guarding some important exits from Xenon space, each one of them with 10+ asps and 2 or more destroyers. It seems like my pilots are leveling faster than they should be if ONLY a killing blow counts as a kill. Given the graph and percentages you showed us for combat and leveling.
Levels aren't given only for killing blows, no. However, chance factor of leveling is based on an arbitrary calculation of the ship's contribution to the the battle. The script basically pools the combined hull of all enemies and the combined dps of all allies in the battle, then checks the ship's dps against that.

This is only for hard kills though, easy kills always give the same chance factor regardless of contribution. In addition, hard kills also give an extra easy kill roll. So the "competition" for experience won't be as noticeable until the ship hits the level cap for easy kills (Vanilla: 3 stars piloting, 4 stars morale. This mod: 4 stars piloting, 5 stars morale).

zakaluka
Posts: 519
Joined: Sat, 16. Nov 13, 19:47

Re: [MOD] Faster Crew Leveling 0.15

Post by zakaluka » Sun, 12. Apr 20, 15:51

Mackan wrote:
Sun, 12. Apr 20, 13:53
Levels aren't given only for killing blows, no. However, chance factor of leveling is based on an arbitrary calculation of the ship's contribution to the the battle. The script basically pools the combined hull of all enemies and the combined dps of all allies in the battle, then checks the ship's dps against that.

This is only for hard kills though, easy kills always give the same chance factor regardless of contribution. In addition, hard kills also give an extra easy kill roll. So the "competition" for experience won't be as noticeable until the ship hits the level cap for easy kills (Vanilla: 3 stars piloting, 4 stars morale. This mod: 4 stars piloting, 5 stars morale).
This is such useful information.

The answer brings up another question. If each ship gets a portion of the credit - suppose I have a fleet with 1 battleship and 10 scout ships (1 hardpoint each - goal is to make an M count as "hard"). When we take out an M, does it count as "easy" because of the battleship? Or can the scouts still get credit for a hard kill?

Mackan
Posts: 143
Joined: Thu, 1. Aug 13, 05:59
xr

Re: [MOD] Faster Crew Leveling 0.15

Post by Mackan » Sun, 12. Apr 20, 19:44

zakaluka wrote:
Sun, 12. Apr 20, 15:51
This is such useful information.

The answer brings up another question. If each ship gets a portion of the credit - suppose I have a fleet with 1 battleship and 10 scout ships (1 hardpoint each - goal is to make an M count as "hard"). When we take out an M, does it count as "easy" because of the battleship? Or can the scouts still get credit for a hard kill?
The difficulty check currently in use is completely individual-based, so in your scenario the battleship would be credited an easy kill while the scouts would be credited a hard kill. :)

There's also a battle-wide difficulty check but it's not applied to anything.

razaron
Posts: 15
Joined: Mon, 13. Apr 20, 10:35

Re: [MOD] Faster Crew Leveling 0.15

Post by razaron » Tue, 14. Apr 20, 18:14

How did you find the formula "basevalue * falloff^currentlevel"? I can't find anything like it in the game files.

Mackan
Posts: 143
Joined: Thu, 1. Aug 13, 05:59
xr

Re: [MOD] Faster Crew Leveling 0.15

Post by Mackan » Tue, 14. Apr 20, 19:28

razaron wrote:
Tue, 14. Apr 20, 18:14
How did you find the formula "basevalue * falloff^currentlevel"? I can't find anything like it in the game files.
We don't have access to a formula but we can modify base and falloff, in libraries/experiences.xml.

The formula itself is just an extrapolation from data I got while playing with the falloff value and spam leveling a pilot tens of thousands of times with debug scripts.

Sirilius
Posts: 303
Joined: Fri, 26. Dec 03, 23:59
x4

Re: [MOD] Faster Crew Leveling 0.15

Post by Sirilius » Tue, 14. Apr 20, 22:07

Mackan wrote:
Tue, 14. Apr 20, 19:28

We don't have access to a formula but we can modify base and falloff, in libraries/experiences.xml.

The formula itself is just an extrapolation from data I got while playing with the falloff value and spam leveling a pilot tens of thousands of times with debug scripts.
You're a true hero.

I wish Egosoft just made it clear how pilots actually level. Everything you've explain seems pretty good on paper but in practice requires way more tweaking.

Thanks for explaining it all :)

razaron
Posts: 15
Joined: Mon, 13. Apr 20, 10:35

Re: [MOD] Faster Crew Leveling 0.15

Post by razaron » Tue, 14. Apr 20, 22:37

Mackan wrote:
Tue, 14. Apr 20, 19:28
razaron wrote:
Tue, 14. Apr 20, 18:14
How did you find the formula "basevalue * falloff^currentlevel"? I can't find anything like it in the game files.
We don't have access to a formula but we can modify base and falloff, in libraries/experiences.xml.

The formula itself is just an extrapolation from data I got while playing with the falloff value and spam leveling a pilot tens of thousands of times with debug scripts.
Thanks for doing the lords work. I was going to start playing without your mod then I found out about this formula... Egosofts concept of balance is interesting to say the least. Assuming 5 minutes per a "good trade" it would take 1000 hours to hit rank 9 and 1000000 to hit rank 15. Nice.

For now I'm going to tweak the values to what I consider "fair". Since you mentioned possibly eventually making this mod balanced you might find this spreadsheet interesting. https://1drv.ms/x/s!ArGARYAPed1eiFOUYV9 ... b?e=Hna9xP
The way I'm thinking of balancing it for myself is that it should never take longer than 25 hours to hit rank 9 and 400 hours (60h seta + 40h real) to hit rank 15, figuring out how long tasks take on average will be the hard bit.

Post Reply

Return to “X4: Foundations - Scripts and Modding”