Combat Tricks: Increasing Combat Challenge (OBS Mod and Guide)

The place to discuss scripting and game modifications for X³: Terran Conflict and X³: Albion Prelude.

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

User avatar
DrBullwinkle
Posts: 5715
Joined: Sat, 17. Dec 11, 01:44
x3tc

Post by DrBullwinkle » Mon, 8. Jul 13, 04:34

nap_rz wrote:it's not really a matter of toughness but lag problem
What is a lag problem?

You're right that I have MaxMultiplier set at 15, which is very high. That is unintentional. I intended to set it at 12, although 10 might be even better for many players.

Try reducing MaxMultiplier to 10 (or less).

As for multiple waves of enemies, that depends on the mission.
  • (Please do not quote entire messages. It adds nothing to the conversation and only makes a confusing mess out of the thread.)

nap_rz
Posts: 1383
Joined: Sun, 25. Dec 05, 10:42
x3tc

Post by nap_rz » Mon, 8. Jul 13, 05:20

lag problem probably not your mod fault, I'm using many mods and scripts which resulted in hundreds of ships/floating objects in a sector when such missions happening, those 800 objects I've shown before? that was the most extreme so far.

bigshipthreshold, am I right to assume that the lower number = less fighters in higher combat rank missions?

User avatar
DrBullwinkle
Posts: 5715
Joined: Sat, 17. Dec 11, 01:44
x3tc

Post by DrBullwinkle » Mon, 8. Jul 13, 05:26

Yes, having many objects in a sector can create lag.

I do not know why you had 800 enemies on a mission, but that is not normal OBS behavior, not even with my modified OBS.


nap_rz wrote:bigshipthreshold, am I right to assume that the lower number = less fighters in higher combat rank missions?
No, it is just a threshold. If the total multiplier is above the threshold then there will be fewer fighters. You can safely set the BigShipThreshold to 0. (Probably).

nap_rz
Posts: 1383
Joined: Sun, 25. Dec 05, 10:42
x3tc

Post by nap_rz » Mon, 8. Jul 13, 05:57

DrBullwinkle wrote:Yes, having many objects in a sector can create lag.

I do not know why you had 800 enemies on a mission, but that is not normal OBS behavior, not even with my modified OBS.


nap_rz wrote:bigshipthreshold, am I right to assume that the lower number = less fighters in higher combat rank missions?
No, it is just a threshold. If the total multiplier is above the threshold then there will be fewer fighters. You can safely set the BigShipThreshold to 0. (Probably).
haha no, you misunderstood, there wasn't 800 enemies there but the total combined objects in space at that time that came from : well duh the spawned enemies, bailed out ships and astronauts due to npc bail addon, IR2 RRF forces, XRM RRF. XRM war ships etc

and what if I increase the bigshipthreshold?

User avatar
DrBullwinkle
Posts: 5715
Joined: Sat, 17. Dec 11, 01:44
x3tc

Post by DrBullwinkle » Mon, 8. Jul 13, 05:59

nap_rz wrote:what if I increase the bigshipthreshold?
Then the threshold will be higher.

Please do not quote entire messages. It adds nothing to the conversation and only makes a confusing mess of the thread.

Tom5Cat
Posts: 107
Joined: Sun, 13. Jan 08, 19:35
x3ap

Post by Tom5Cat » Thu, 13. Feb 14, 21:16

Hi DrB.

Playing TC and fully agree with you the vanilla combat is way too easy. So I was happy to find your script, but I'm getting unplayable situations. I'm at combat level 27 (overlord). I have no other scripts running handling this part of the game.

Start values (from the download) were:
MinMultiplier = 3
LowMultiplier = 4
MaxMultiplier = 15
FightRankDivisor = 3
BigShipsOnlyThreshold = 7

In a 'kill that guy' mission, I got to deal with a dozen or so pirate cap ships and well over 250 fighters. I thought the number of fighters was a bit overkill, so I adjusted the settings to...

MinMultiplier = 3
LowMultiplier = 4
MaxMultiplier = 12
FightRankDivisor = 3
BigShipsOnlyThreshold = 5

Tried a patrol mission with the new setting and all hell broke loose...
19 Xenon cap ships + about 300 fighters. I'm guessing this kind of mission generates more enemies than a 'kill that guy' mission anyway, but this result seems extreme. Started working my way through (mind you, I'm just in my one scripted Star Destroyer M1, with just 15 fighters onboard), but after 10 minutes or so a second wave (same number of ships) jumped in. After 10 minutes another wave etc. Read something about these waves in another post in this thread and it was suggested that this might have to do with another script, but I have the same happening in my game, it's got to be about your script. Shortly after wave six (!) jumped in, my game just froze up completely (after going slower and slower). Not surprisingly, by that time facing over 100 Xenon cap ships and about 1500 fighters :roll:

So I adjusted the settings once more to:

MinMultiplier = 3
LowMultiplier = 4
MaxMultiplier = 10
FightRankDivisor = 3
BigShipsOnlyThreshold = 2

With these setting I tried another patrol mission. Pirates this time. Less cap ships this time (about 14), but still well over 200 fighters and, more importantly, I just waited to see if other waves would come and they did indeed. After the second wave I just gave up, expecting to face far too many enemies again otherwise.

Any advice on settings to get a result at this stage in the game (fight rank 27) of about 10 cap ships and 100 fighters, without waves(!)? Or at least how to get rid of those waves?
Thanks in advance :wink:

User avatar
DrBullwinkle
Posts: 5715
Joined: Sat, 17. Dec 11, 01:44
x3tc

Post by DrBullwinkle » Thu, 13. Feb 14, 21:43

The waves do not have anything to do with OBS. They are generated by the mission that calls OBS.

I am surprised that you are seeing so many fighters. No fighters at all should be generated above the BigShipsOnly threshold (other than carrier escorts). Something seems not quite right there. The only guess that I have is that perhaps you have many M1's being created? Can you tell whether all of the fighters belong to carriers?

Also, I have not tested at such a high fight rank. I tend to steal enemy capital ships rather than kill them all, so my fight rank never gets much higher than about 20-ish.
  • (In fact, my research indicates that fight rank is not a good indicator of a player's fight *skill*, which is why it is impossible for the game to do a good job of automatic scaling. My fight skill is extremely high, but my rank is modest. The customizable factors are my best attempt, so far, to make the difficulty adjustable by the player.)


You may want to reduce your MaxMultiplier to compensate for your high fight rank. Experiment with it... try 5. Or 3. Some value will give you the effect that you seek.

Please let me know what works for you. I have no data at high fight ranks, so that will be helpful input.

Thank you for your detailed report.

Tom5Cat
Posts: 107
Joined: Sun, 13. Jan 08, 19:35
x3ap

Post by Tom5Cat » Fri, 14. Feb 14, 01:42

Thx for your swift response!

I'm sorry to say (I realise you don't like to hear it) that I'm pretty sure the waves are connected to your script in some way. I have never (ever!) had multiple waves thrown at me before. I install this script and suddenly, it happens in 2 of 3 occasions. Didn't happen on the 'kill that guy' mission, but did on the sector patrol on both times I tried them after installing the script. Hence... it must be your script, somehow. As to why, I don't have a clue, but I thought you should know this. Hopefully it'll make sense to you somehow further down the road, now knowing waves are caused by the script in certain situations. Reading in your last post about not having tested it on higher fighting skill levels probably explains that this is a condition waves become active on. Weither this is because I happen to have jumped from fight skill level 26 to 27 just as I installed your script (do waves start occuring from level 27 on in vanilla?), or if it's a combination of factors that made it happen, I don't know. Again, it's not my cup of tea to know how these things come about. I'm not a scripter at all. You're somewhat of a brilliant one, as far as I'm concerned. I just like to share my findings with you, as a form of appreciation for all your hard work and for sharing your scripts with the community.

I'd like to state specifically that, of course, I do not blame you for not having tested this on higher levels. As you stated yourself, you have a different way of playing the game. Indeed, I like to just go for the kill. I have no problem boarding ships succesfully at all. It just takes too G**damn long. Be that as it may, I'm pretty skilled at fighting anyway :wink:

About the fighters... Indeed, I do believe they are carrier escorts. I noticed them being 'launched' from them, 6 at a time. From all the cap ships, about 3/4 were carriers. In case of the Xenon episode I had, I counted 5 K's and 14 J's per wave (each wave being the same). I guess each carrier launched about 20 fighters.

Something else I noticed... The cap ships jump in being blue, so non-enemy, changing to red as soon as they've all jumped in. It took about 2 seconds, from the first few appearing until all of them turned red. Then the fighters jump in/launch. I don't know if the 2 second delay and the blue turning red has to do with your script as such though. I rather think it has to do with the high number of extra ships that have to be put in play all of the sudden and the way the game itself does that, triggered by the MD. Guess it waits to turn them into enemies until they're all there. Maybe, just guessing here, it is this technique that somehow causes the waves too, in collaboration with your script? Something like... the script causes huge numbers of enemies in certain conditions, the MD tries to get them in, faces that 'wait', which causes the script to get reset, installing a next wave. Or something in that order?

I will follow your advice on the MaxMultiplier in the next few days and report back on my findings.

User avatar
DrBullwinkle
Posts: 5715
Joined: Sat, 17. Dec 11, 01:44
x3tc

Post by DrBullwinkle » Fri, 14. Feb 14, 01:58

Scripts are not magic, TomCat. They can only do what they can do. OBS does not generate waves as far as I can tell. I wish that it did, TBH, because that would be a better way to manage difficulty without creating lag due to too many ships in-sector at one time.

Tom5Cat wrote:I counted 5 K's and 14 J's per wave (each wave being the same). I guess each carrier launched about 20 fighters.
14x20 = 300 fighters (approximately), so that perhaps explains the fighters. If I make another version then I will adjust the balance toward more M2's and fewer M1's at higher levels.

I look forward to hearing your report about lower MaxMultiplier.

Tom5Cat
Posts: 107
Joined: Sun, 13. Jan 08, 19:35
x3ap

Post by Tom5Cat » Fri, 14. Feb 14, 23:28

Here's my report :-)

First of all, I owe you an apology, DrB.!!
What I did? I disabled your script through the Plugin Manager and dove right into the game again to see about the waves. Turns out, indeed, waves are a vanila thing!! What got me on the wrong foot was probably the massive numbers of ships I had to face, being unable to kill them all before the next wave arrived. It takes some time before the next wave jumps in, so in vanilla I easilly managed to kill all enemies and then use SETA to get the next mission directive, which indeed is the next batch of enemies. Thus, it didn't really feel like waves, while it does when the next one turns up before being able to take care of the former one. In any case... You are definitely right and I beg your pardon!!

Being in vanila, I made use of it by taking note of what ships I got served, as a reference. To approach this scientifically (more or less),
these rules apply in both following examples:
- Game X3-TC (fully patched).
- Fight skill level 27 (overlord).
- 'Very hard patrol'.
- Xenon enemy.
- I bound a hotkey to the cheat command to destroy the target instantly. I used it to kill the ships of each wave, one by one, as soon as the full wave had entered, but making sure the carriers had launched all their fighters (so the number of fighters is always escorts included).
- I kept 1 destroyer alive with SETA on full for a while, making sure no next wave arrived in that sector, before finishing that one off too and getting the command to fly to the next sector. I followed this pattern until the mission was fully finished.

P.s.: You gotta love X3 for resetting/changing the (non-plot-)missions on every gameload. To find a 'very hard patrol' mission after re-enabling your script, I had to check out about 50 sectors :evil: Probably should have provided myself with a savegame after accepting the first one, but then again, mayby that would have caused trouble with your script.

Anyway... So, vanilla results:
Sector 1 - wave 1 / 1 J - 1 K - 0 Q - 0 P - 0 Viper - 24 fighters.
Sector 1 - wave 2 / 1 J - 0 K - 0 Q - 2 P - 0 Viper - 24 fighters.
Sector 1 - wave 3 / 1 J - 0 K - 0 Q - 1 P - 0 Viper - 24 fighters.
Sector 1 - wave 4 / 1 J - 1 K - 0 Q - 0 P - 0 Viper - 24 fighters.
Sector 1 - wave 5 / 1 J - 0 K - 1 Q - 2 P - 0 Viper - 30 fighters.
Sector 2 - wave 1 / 0 J - 1 K - 2 Q - 2 P - 0 Viper - 08 fighters.
Sector 3 - wave 1 / 1 J - 1 K - 0 Q - 0 P - 0 Viper - 24 fighters.
Total this patrol / 6 J - 4 K - 3 Q - 7 P - 0 Viper - 158 fighters.

Afterwards, of course, I re-enabled your script. The results:
Sector 1 - wave 1 / 2 J - 2 K - 3 Q - 1 P - 1 Viper - 47 fighters.
Sector 1 - wave 2 / 2 J - 1 K - 2 Q - 2 P - 4 Viper - 55 fighters.
Sector 1 - wave 3 / 3 J - 1 K - 0 Q - 0 P - 0 Viper - 73 fighters.
Sector 1 - wave 4 / 0 J - 4 K - 2 Q - 1 P - 4 Viper - 00 fighters.
Sector 2 - wave 1 / 3 J - 1 K - 2 Q - 1 P - 0 Viper - 68 fighters.
Sector 2 - wave 2 / 2 J - 2 K - 0 Q - 0 P - 0 Viper - 46 fighters.
Sector 3 - wave 1 / None.
Total this patrol / 12 J - 11 K - 9 Q - 5 P - 9 Viper - 289 fighters.

This with the following settings:
MinMultiplier = 2 (what does this do?)
LowMultiplier = 4 (what does this do?)
MaxMultiplier = 3
FightRankDivisor = 3
BigShipOnlyThreshold = 1

My conclusions:
- For a fight skill of 27, vanilla offers indeed ridiculous numbers of enemies.
- Your script absolutely has an impact, to say the least :lol:
- On high fighting skill level, it is still a bit too much, imho, the problem being solely the number of fighters. Taking into account I started the mission flying my M1 with 15 fighters onboard and not having any backup elsewhere, facing about 7 cap ships each wave is an appealing and challenging mission, thus highly succesful on account of you and your script, but the number of fighters just makes it lose a lot of its appeal, not to say it adds too much to lag issues. After all, you can get these mission on rock infested sectors too, putting the objects count way up there. Also, every wave takes about 5 minutes to jump in after the previous one. That's too short to take care of the former wave, no matter how good of a fighter you are. This adds to the total number of enemies being faced at one time, especially in case of 4 or 5 waves in the same sector. That many fighters, for me, takes out the fun a bit.

On a bright note, I did get better numbers already compared to the MaxMultiplier of 12 :) I now face the difficult decision... what to choose? The number of cap ships is perfect, but still too many fighters, so lowering the MaxMultiplier to 2 will probably cause a few less fighters, but also less cap ships.

What are your thoughts after reading this, Dr.B?

Guest

Post by Guest » Fri, 14. Feb 14, 23:42

... if I´ve understood it correctly then (some of) U are trying to make vanilla missions "more difficilt" (???)
... if so, then OBS is not really the right file to change
=> it would be better to change the file ...\director\constants.xml ;)

... there are the "strength values" (depending on "fight_rank_number") set which are used by OBS.xml
... another way to make mission-spawned ships more powerful is to give them better (or randomized) weapons
// but that´s not "very" easy with the MD, the smarter way is to run a "equipment-script" (= could be made like this)

User avatar
DrBullwinkle
Posts: 5715
Joined: Sat, 17. Dec 11, 01:44
x3tc

Post by DrBullwinkle » Sat, 15. Feb 14, 01:58

JonfersonSDD wrote:... if I´ve understood it correctly then (some of) U are trying to make vanilla missions "more [challenging]"?
Yes, exactly.

... if so, then OBS is not really the right file to change
=> it would be better to change the file ...\director\constants.xml
No, constants only adjusts the point pool levels attached to each fight rank. My OBS mod is much more sophisticated than that.

another way to make mission-spawned ships more powerful is to give them better (or randomized) weapons
It is easy enough to give ships "full" equipment in MD, and that may be a good idea for higher levels. However, the difference in strength of enemies is very small. This OBS mod is capable of creating much greater combat challenge.

"equipment-script" (= could be made like this)
Perhaps Google Translate is limited, but I do not see much actual content in that thread. It appears to be mostly a few guesses traded back and forth, with no real conclusions. Did I read that correctly?


In any case, I think that you will find Combat Tricks OBS produces much better results than either equipment changes or changes to constants.xml.
Last edited by DrBullwinkle on Sat, 15. Feb 14, 03:05, edited 1 time in total.

User avatar
DrBullwinkle
Posts: 5715
Joined: Sat, 17. Dec 11, 01:44
x3tc

Post by DrBullwinkle » Sat, 15. Feb 14, 02:18

Tom5Cat wrote:What are your thoughts after reading this, Dr.B?
That I need to reduce the number of fighters per carrier at higher levels. And maybe adjust the balance so that more M2's and M7's are generated (and fewer M1's).

I will get to work on that.

Thanks for the report, TomCat.


* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Regarding MinMultiplier and LowMultiplier, they are documented in the t file:

Formula is LowMultiplier + (player.fightrank.rank / FightRankDivisor)

Total Multiplier is never greater than MaxMultiplier.

At very lowest fight rank, the MinMultiplier is used instead of LowMultiplier. (This means that the MinMultiplier is the minimum multiplier -- instead of using the formula. This setting is useful early in the game, but be careful not to set it too high because it can make the early game *very* challenging!).

For example, when your fight rank is 1, then the default values give you:
4 + (1/3) = 4 (due to integer math).

That might be too high. A MinMultiplier of 2 or 3 is more appropriate. It means that your starting multiplier will be 3 by default (rather than 4 which is the result of the formula). Does that make sense?

(Perhaps it would be easier to think of "LowMultiplier" as simply "Multiplier" or "Base Multiplier")

Default values result in a range from 3 to 15x vanilla values.

Guest

Post by Guest » Sat, 15. Feb 14, 03:08

DrBullwinkle wrote:
... if so, then OBS is not really the right file to change
=> it would be better to change the file ...\director\constants.xml
No, constants only adjusts the point pool levels attached to each fight rank. My OBS mod is much more sophisticated than that.
... we R speaking about the same effect ;)
... your mod increases {value@OBS.TempPointPool}, my suggestion was to decrease the value (e.g.: {value@Constant {lookup.class@m6} Points}) which will be compared to {value@OBS.TempPointPool} (to select the enemy object class)
OBS.xml file wrote:<do_when value="{value@OBS.TempPointPool}" min="{value@Constant {lookup.class@m6} Points}" max="{value@Constant {lookup.class@m8} Points}-1" comment="M6 or M3">
DrBullwinkle wrote:It is easy enough to give ships "full" equipment in MD, and that may be a good idea for higher levels. However, the difference in strength of enemies is very small. This OBS mod is capable of creating much greater combat challenge.
... yes, it is easy to give a ship full equipment, but (e.g.) a carrack with about 16 CIG and NOT A SINGLE FAA ?? ... dangerous ?! *hehe* :roll:
... by using a script (to equip the enemies) U can check easily if ship-turret can use a specific laser and how much could be installed etc.

the doc. wrote:
jonny wrote:"equipment-script" (= could be made like this)
Perhaps Google Translate is limited, but I do not see much actual content in that thread. It appears to be mostly a few guesses traded back and forth, with no real conclusions. Did I read that correctly?
... in the beginning of that topic I didn´t know anything about MD-scripting, so we guessed there how it would be best to give [PLAYERSHIP] a heavy kick in the a** ;)
// meanwhile that topic is "finished": my "conclusions" are those I post here ;)
(using MSCI to equip enemies, allowing ship types M3+ M4+ M5+ M6+ etc. [hardcore-version: M7M], spawning more ships [by reducing ship-strength-values in constants.xml])

User avatar
DrBullwinkle
Posts: 5715
Joined: Sat, 17. Dec 11, 01:44
x3tc

Post by DrBullwinkle » Sat, 15. Feb 14, 03:42

JonfersonSDD wrote:we R speaking about the same effect
Not the same effect at all, no.

Constants.xml only changes the point pool at various combat ranks. Any numbers that I change there will be wrong for most players. Also, a mod of constants has a good chance of conflicting with other MD mods.

Combat Tricks OBS does not conflict with other MD scripts, is adjustable by the player, and modifies the *types* of ships that are generated at higher fight levels (in SRST). It generates only BigShip and HugeShip types above a configurable threshold. Vanilla OBS generates far too many fighters at higher point pool levels. If you are flying an M7 or larger, then fighters make little difference to combat challenge -- they mostly create lag.

Plus, Combat Tricks OBS gives M7M's and M8's to Xenon, and M8's to Kha'ak. Constants.xml is not going to do that. :)



I understand your point about adding weapons, but the difference in challenge is very small (unless you are flying a fighter).

I *could* make a script that makes enemies more lethal, by using some of the alien tech employed by DCS2 carriers. That alien tech allows me to create stronger weapon generators and stronger shields, which could make enemies much more formidable. It is on my list of enhancements for a possible future version.
Last edited by DrBullwinkle on Sat, 15. Feb 14, 04:14, edited 2 times in total.

Tom5Cat
Posts: 107
Joined: Sun, 13. Jan 08, 19:35
x3ap

Post by Tom5Cat » Sat, 15. Feb 14, 03:57

Makes perfect sense. Thank you for your explanaition, Dr.B!

And I perfectly agree with your conclusion as to what changes the script would benefit from at higher levels.

Also, I really appreciate your willingness to alter those things in the script. I realise all to well you yourself will never benefit from them, according to your playing style (not going for those kills all the time, but rather stealing the cap ships). This is one of those things that typically define the greatness of this community. Something to look up to, for sure. Thank you!

Should I try some other settings and report on it, as to use for reference? Or did we pretty much cover everything now? I guess that, in my present settings, the MaxMultiplier is used no matter what, only taking into account the BigShipsOnlyThreshold. Not much more I can try, I think, without losing a number of cap ship targets.

User avatar
DrBullwinkle
Posts: 5715
Joined: Sat, 17. Dec 11, 01:44
x3tc

Post by DrBullwinkle » Sat, 15. Feb 14, 04:01

Yes, I think we have covered the bases, Tom5Cat. The bottom line is that "no additional fighters" is not sufficient at high fight ranks. I have to dig deeper and alter the M1 balance as well.

As you say, MaxMultiplier is the only one that affects you at this stage of your game.

Thanks for your enthusiastic tests and reports.

Tom5Cat
Posts: 107
Joined: Sun, 13. Jan 08, 19:35
x3ap

Post by Tom5Cat » Sat, 15. Feb 14, 04:04

DrBullwinkle wrote:Thanks for your enthusiastic tests and reports.
You're very welcome :)

Tom5Cat
Posts: 107
Joined: Sun, 13. Jan 08, 19:35
x3ap

Post by Tom5Cat » Sat, 15. Feb 14, 13:33

Sorry, something else too got me wandering, so another question...
DrBullwinkle wrote:For example, when your fight rank is 1, then the default values give you:
4 + (1/3) = 4 (due to integer math).
That integer math calculation, is it like:
1/3=0
2/3=0
3/3=1
or like:
1/3=0
2/3=1
3/3=1
?
So I guess what I'm asking is, is it always rounding down, or up too?

User avatar
DrBullwinkle
Posts: 5715
Joined: Sat, 17. Dec 11, 01:44
x3tc

Post by DrBullwinkle » Sat, 15. Feb 14, 16:53

Always rounds down.

Post Reply

Return to “X³: Terran Conflict / Albion Prelude - Scripts and Modding”