[SCR] OOS Combat Rebalance (alpha 0.32 - 06.08.10)

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

Post Reply
silenced
Posts: 4967
Joined: Tue, 20. Jun 06, 19:43
x4

Post by silenced » Fri, 12. Jun 09, 12:31

About the OWP's, whenever I start a XI + protect Dock/Outpost in a sector with a large OWP close to the gate where the Xenon come from -> all caps trying to attack that thing are going to be TOASTED and the OWP might be down to 25% shields in the end.


Nice fireworks all the time. =)


So they're already VERY powerful IS even with their LIGHT weaponry.



Btw., you're crazy :).
... what is a drop of rain, compared to the storm? ... what is a thought, compared to the mind? ... our unity is full of wonder which your tiny individualism cannot even conceive ... I've heard it all before ... you're saying nothing new ... I thought I saw a rainbow ... but I guess it wasn't true ... you cannot make me listen ... I cannot make you hear ... you find your way to heaven ... I'll meet you when you're there ...

User avatar
wyvern11
Posts: 1703
Joined: Sat, 15. Jul 06, 20:59
x3

Post by wyvern11 » Fri, 12. Jun 09, 15:21

sorry ragamer for being too unspecific... I didn't mean you to post your advice to the old discussion thread. it is best to discuss all issues here i think. for convenience sake i have requoted your idea here again.

one thing that does spring to eye is "hull length" which is not easily calculated oos and has some strong limitations. second thing is that since basic damage tables already contain strong statistical information about
fighter damage intake from big/huge weaponry, evasion will probably designed, that capable pilots may reduce the damage but not totally avoid it...

for the moment let us gaze in awe at gazz's scripts and hope oos-rebalance turns out to be what we intended (there is no chance to correct his course, anyway :D)
I have redirected from the Real Script thread to the "Brainstorming one" so here goes my ideas regarding OOS that simulates IS.

This are just the basic MODELING ideas... How to make them IMPLEMENTED in a light load algorithm is a different issue that I will discuss later if some of the concepts here are of interest.

Notice the idea is not realistic... It strictly tries to simulate what X3 IS combat looks like (Don't get confused to what X3 AI IS combat SHOULD like... As X3 AI combat is faaaaaar from perfect and OFC do not match what a player can do). Notice also that the idea tries to use raw data from the game to make this OOS system adapt to whatever custom content is added.

Evasion Model

What follows will be a proposal on how to calculate the evasion chances of an average figther (That uses the dumb AI they all have IS) (All units in meters or meters/second). The logic used is a comparison between Time to Hit (TTH) and Time to Evade (TTE):

TTH: LR / BS

TTE: HS / SS

Evasion Factor (EF): TTH / TTE

Where:
LR: Laser Range of the Attacking Fighter
BS: Bullet Speed of the Shooting Battery
HS: Hull Length in the direction of movement
SS: Attacking Fighter Speed

The actual chances can be calculated using different conversions between EF and real chances to avoid completely a hit. The proposal I will give is just a tabular example (the numbers are just a guide and OFC subject to fine tuning):

EF
1-: 0%
2-: 10%
4-: 20%
8-: 40%
12-: 60%
20-: 80%
20+: 90%

It's important that this chance is an ALL or NOTHING effect, to take into account the real effect on X3 IS combat when a Capital spends all his firepower stupidly on a nimble fighter.

This idea will also automatically adress custom weapons and special case as Flaks and Beams... PSG and Plasma Bursts are very special weapons that could be modeled as impossible to dodge and thus highly effective OOS (But it's basically the same as IS... As anyone fighting Yaki can realize).

There are a lot of details and rationale to explain still and some tricks to speed-up a calculation process like the above... But the post is already big enough so I will add them if there is interest on an idea like this.
EDIT

I wouldn't call what we do just now finetuning - but rather scaling the order of magnitude...
Redest du noch - oder denkst du schon ?

User avatar
Gazz
Posts: 13244
Joined: Fri, 13. Jan 06, 16:39
x4

Post by Gazz » Fri, 12. Jun 09, 15:45

The logic used is a comparison between Time to Hit (TTH) and Time to Evade (TTE):

TTH: LR / BS

TTE: HS / SS

Evasion Factor (EF): TTH / TTE
This would not be compatible with the current system.

Effective Laser DPS already includes bullet speed and is further tuned to hit "it's" equal target.size.class.
(Tables in the 2nd post)

Also "Lasers" do not exist OOS, only up to 3 generic batteries that can contain a multitude of bullet speeds.

The basic rules of "my" game are in the first 2 posts here. Suggestions built on top of these rules are more likely to be used than something that requires a complete rewrite.
Right now, 1 PPC hits a fighter for an average of 1400 shield DPS.

Vanilla TC Laser data as used OOS

Code: Select all

OOS Combat  upgrading  from v27 to v 28,  using data of MARS v462
OOSD:  Laser list - base damage values
Laser.size.class;DPS shield;DPS hull;DPS pierce;speed corrected %;Laser
2;28043;4986;0;60;Photon Pulse Cannon;Amount:;100
2;13638;5178;0;54;Point Singularity Projector;Amount:;100
0;7941;5942;0;84;Phased Array Laser Cannon;Amount:;100
0;10052;7100;0;90;Tri-Beam Cannon;Amount:;100
0;10783;4054;0;90;Plasma Beam Cannon;Amount:;100
2;24992;4422;0;54;Incendiary Bomb Launcher;Amount:;100
2;43836;2516;0;66;Ion Cannon;Amount:;100
...
0;2101;1050;0;90;Alpha Kyon Emitter;Amount:;100
0;11334;600;0;14;Phased Shockwave Generator;Amount:;100
0;763;72;0;52;Impulse Ray Emitter;Amount:;100
0;0;0;70;38;Mass Driver;Amount:;100
0;16372;606;0;90;Pulsed Beam Emitter;Amount:;100
0;2465;7;0;74;Ion Disruptor;Amount:;100
0;3291;840;0;22;Plasma Burst Generator;Amount:;100
How exactly evasion will take place I don't know yet.
I've been tossing some ideas around, toying with separate avoidance/mitigation stats for different ship classes and/or speeds.


I wouldn't call what we do just now finetuning - but rather scaling the order of magnitude...
Hehehe. I just halved most OOS damage in the last version. Sledgehammer finetuning.
My complete script download page. . . . . . I AM THE LAW!
There is no sense crying over every mistake. You just keep on trying till you run out of cake.

aka1nas
Posts: 1414
Joined: Thu, 7. Jul 05, 05:17
x4

Post by aka1nas » Sat, 13. Jun 09, 01:57

I realize that it's way too early for this kind of feature request, but the combat logging being posted back forth in the thread would make an awesome in-game report if formatted nicely. It would be amazing if I could pull up a somewhat detailed report of combat incidents involving my own ships.

ragamer
Posts: 523
Joined: Wed, 6. Nov 02, 20:31
x4

Post by ragamer » Sat, 13. Jun 09, 02:55

Mmmm I tought your scripts have prepared a "Table Calculation Phase" done at some point each time the game started or on user request (Like FCC libraries for example that the user can "reset" each time a change on Stations is included).

I'm understanding wrong (english is not by native language) or this means the tables will have to be recreated manualy each time custom mods on weapons/ships are used?

Also Hull Length is not a property you can check on ANY object IN SECTOR? FCC for example, uses a subroutine to spawn all Stations on a sector to calculate the sizes of any customization present (on user request, OFC). The test I just made on stations, ships and even asteroids IN SECTOR makes "get object size" function a valuable scanning tool.

Laser Range, Ship Speed and Laser Bullet Speed is not a problem neither...

...The REAL problem comes with the RoF of a Laser which is critical to calculate for ANY real DPS calculation to work and I didn't found ANY way to scan it (Unless the fire turret commands are returning ASAP after a shot is performed (fireretfree result), in which case you can spam ships compatible with the laser you want to meassure and check the number of shots in a certain time period. My script knowledge is a bit dusty still... As my experience is focused on X2 and X3:R interfaces)


My concern is that if you start to relay on static data DERIVED from Vanilla, this basically will prevent the use of this Scripts on Mods around which will be a tremendous Loss as an ambitious project like fixing once and for all OOS discrepancies with IS would have a HIGH desireability in X Community as a whole... That's why my suggestions are Models that get relevant data from IS magnitudes (that later can be "cooked" and tabulated for fast performance, OFC)

Lancefighter
Posts: 3144
Joined: Sun, 19. Dec 04, 02:41
x4

Post by Lancefighter » Sat, 13. Jun 09, 03:51

I believe that the MARS tables required contain the proper rof/range/etc stuff that the mod would need, hence why any mod with mars compatibility text file would instantly make this script compatible as well.

User avatar
Gazz
Posts: 13244
Joined: Fri, 13. Jan 06, 16:39
x4

Post by Gazz » Sat, 13. Jun 09, 11:45

ragamer wrote:Also Hull Length is not a property you can check on ANY object IN SECTOR? FCC for example, uses a subroutine to spawn all Stations on a sector to calculate the sizes of any customization present (on user request, OFC). The test I just made on stations, ships and even asteroids IN SECTOR makes "get object size" function a valuable scanning tool.
I'm familiar with most script instructions.
I have a working library for that function. I already outlined the reasons for not wanting to use it (if possible) in the development thread.

...The REAL problem comes with the RoF of a Laser which is critical to calculate for ANY real DPS calculation to work and I didn't found ANY way to scan it .
X3's timing is frame based so any attempt for an in-game accurate ROF measurement is going to fail.

Lancefighter wrote:I believe that the MARS tables required contain the proper rof/range/etc stuff that the mod would need, hence why any mod with mars compatibility text file would instantly make this script compatible as well.
Exactly. Ulfius provides the MARS data for his CMOD3 and I don't know of any other such mod.

Since MARS has quite a bit of popularity on it's own, I may actually leave this dependancy in.
That way modders only have to create one "MARS file".
And it's not that much work really since I can provide them with a spreadsheet to automatically export the data with proper formatting. No, I'm not distributing this freely. That would mean too many questions from people who can't really work with a spreadsheet spanning several tables.


Gazz wrote:Yes, I want some skill based damage mitigation(always) and avoidance (rare).

Avoidance and mitigation don't need to be constant, either.
Everquest uses these to balance the melee classes.
Real tanks (tm) have high mitigation, resulting in low but constant damage that the healers can rely on and keep up with.
Involuntary tanks like rangers and whatnot have high avoidance allowing them to often well... avoid getting hit. But if that fails it hurts. Really bad. So they can tank in a pinch but that keeps the healer on his toes.

X3 fighters would clearly use mostly avoidance, which would be based on speed (size?) as the "main attribute".
Dancing around PPC bullets is fine but if you do get hit, it's not funny.

An M2 is built to get hit. It's the main tank of our party.
Avoidance? Pah! Gimme your best shot!
M2 could get mitigation, making them the tough cookies they are supposed to be.

Variable evasion systems can probably be tailored to our needs easier than one "formula to rule them all".
I'm thinking about how evasion and such should work.

I could script damage mitigation for M2 and probably also M7 without hangers.
That would work OOS + IS.
Something like: every 1 sec, 30% of the sustained shield damage is restored.
That would allow me to selectively make M2 (as an example) last longer in a fight without having to rebalance the whole game like with changing TShields or TBullets.

I would tie that into the AI Ammo Cheat script, which I already consider a requirement for "believable" fights vs the AI.
So this script would only activate during a fight and completely vanish while there is nothing left to do.

wyvern11 wrote:for the moment let us gaze in awe at gazz's scripts and hope oos-rebalance turns out to be what we intended (there is no chance to correct his course, anyway :D)
You can't stop the Gazz, nobody can stop the Gazz.
Take the cold from snow, tell the trees, don't grow,
tell the wind, don't blow, 'cause it's easier.
No, you can't stop the Gazz, nobody can stop the Gazz.
Take the spark from love, make the rain fall up
'cause that's easier to do.

But still... suggestions that fit into what's currently there are always welcome. =)
My complete script download page. . . . . . I AM THE LAW!
There is no sense crying over every mistake. You just keep on trying till you run out of cake.

Draguun
Posts: 293
Joined: Mon, 19. Jan 09, 17:30
x3tc

Post by Draguun » Sat, 13. Jun 09, 14:05

A question or two to OWPs. Is it important or make it a difference if the MaxSpeed is "1" and not "0" like in Vanilla ?? Make your script a difference or is it equal ? Or is the main thing that it is an OWP !?
Actually I use (not your script) the OWPs with MaxSpeed=1, so they use OOS NOT their rocket script. They act like a huge fighter....very huge....finally speedless, but it works.
When I switch to your OOS :) , did they work or turn the OWPs into scrap metal ?
***modified*** und............geht auch nicht anders.

User avatar
Gazz
Posts: 13244
Joined: Fri, 13. Jan 06, 16:39
x4

Post by Gazz » Sat, 13. Jun 09, 14:29

Draguun wrote:A question or two to OWPs. Is it important or make it a difference if the MaxSpeed is "1" and not "0" like in Vanilla ?? Make your script a difference or is it equal ? Or is the main thing that it is an OWP !?
I corrected the actual bug in the OWP fight script so the workaround of giving them speed is no longer needed.

In fact, OWP are now better off using their OWP script because they were designed to do that in the first place.
My complete script download page. . . . . . I AM THE LAW!
There is no sense crying over every mistake. You just keep on trying till you run out of cake.

User avatar
Gazz
Posts: 13244
Joined: Fri, 13. Jan 06, 16:39
x4

Post by Gazz » Sat, 13. Jun 09, 19:25

Okay, damage mitigation already works.

However, it would be illogical to just use it OOS. It made no sense.


So, kinda as a spinoff I put it into:
http://forum.egosoft.com/viewtopic.php?t=248906

As a result, a Tiger will last longer as a Panther - both IS and OOS - even though they have identical shield and hull stats.
I invented... shield and hull armour.
And the Tiger has it while the Panther is a carrier.

Sucks to be a Panther. =)
My complete script download page. . . . . . I AM THE LAW!
There is no sense crying over every mistake. You just keep on trying till you run out of cake.

User avatar
wyvern11
Posts: 1703
Joined: Sat, 15. Jul 06, 20:59
x3

Post by wyvern11 » Tue, 16. Jun 09, 08:42

@nadrek
D) Balancing Statistics:
D1) Optimal: Run a thousand (rough statistics) to a million (fine tuning) "test combats" of each ship with each loadout against each other ship with each major loadout (combinations of 0/1/2), with a fleet of up to N ships on one (or both, though that goes cartesian to a greater degree) side(s). This would be relatively simple to do for the OOS combats in a simulator, given the very simple math involved; it's just a couple auto-generated tables cross joined to each other, and the results fed to a combat loop. Kick it off and let it run to completion; if you can get a few other people/computers involved, run it in parallel (break up the cross joined list). I have some dual core Linux machines that could easily run most standard languages, and have little better to do with their time, and I could build a VMWare virtual appliance specifically for these simulations if anyone else wants to chip in. Even without a simulator, it's just starting up X3TC in a test universe/loadgame and hitting the script (just pass around a savegame to whoever wants to contribute computer time)
So far, no randoms are involved, so at the moment there is only one test per ship. As you are proposing using a real OS ;-) for number crunching I' d say we should start like this:

- press the actual mathematical combat rules used from gazz or his scripts
- generate or make gazz generate a script rounding up all ships out of universe population with all combat info needed for computing rules
- based on rules and ship info calculate worst and best ship for each ship class (and possibly some in between)
- cross join each class as you said to get expectancy range
- superpose designed random-ness et voila

use basic linux scripting language to make it happen
Redest du noch - oder denkst du schon ?

fud
Posts: 9837
Joined: Wed, 25. Jan 06, 14:26
x3

Post by fud » Tue, 16. Jun 09, 13:00

Hmm.

I thought I'd give this script a go. I saw a lone Duke's transporter, so I jumped my other M7 in (for fun).

ABout 10 seconds later, I watched my M7 with 6GJ of shields go down to 20% hull.

The Duke's TS wasn't dead. It's shield/hull disappeared almost instantly, but the shield started to recharge (it didn't die).

Then the M7 took a beating.

It's a "special" M7 I made for entertainment. 6GJ shields and it was armed with 24 HEPT....

Is that right? A TS with a single rear gun, nearly wiping out an M7?

User avatar
wyvern11
Posts: 1703
Joined: Sat, 15. Jul 06, 20:59
x3

Post by wyvern11 » Tue, 16. Jun 09, 13:10

would you mind posting the log of this incident?

log01337.txt / log01338.txt

you can stringsearch for the name of the ship or for YM7...
Redest du noch - oder denkst du schon ?

fud
Posts: 9837
Joined: Wed, 25. Jan 06, 14:26
x3

Post by fud » Tue, 16. Jun 09, 14:21

Are the logs created automatically?

I didn't "save" anything, per se. But if it does, it should be there...

MutantDwarf
Posts: 711
Joined: Tue, 20. Jun 06, 02:29
x4

Post by MutantDwarf » Tue, 16. Jun 09, 14:26

Yeah, the logs are created automatically - it's one of the main reasons the script is so slow.

EDIT: It's in the My Documents\Egosoft\X3 Terran Conflict folder. Or maybe My Documents\Games\Egosoft\X3 Terran Conflict? *shrug*

fud
Posts: 9837
Joined: Wed, 25. Jan 06, 14:26
x3

Post by fud » Tue, 16. Jun 09, 17:26

From 01337:

Code: Select all

243906;YM6PR-63;SP2;ATTACK;Lehan's Legacy;ITPUK-11;Duke's Freight Transporter 
243906;YM6PR-63;SP2;add battery;2;shield DPS;0;hull DPS;0;pierce DPS;0;sec left;5;Effectivity Perc;10
243906;YM6PR-63;SP2;add battery;1;shield DPS;0null;hull DPS;0;pierce DPS;41793;sec left;5;Effectivity Perc;60
243906;YM6PR-63;SP2;add battery;0;shield DPS;0;hull DPS;0;pierce DPS;0;sec left;5;Effectivity Perc;100
243906;YM6PR-63;SP2;total damage;Shield;0null;hull;0;pierce;125375;t.size.class;0;sec;5
243906;YM6PR-63;SP2;Target status;ITPUK-11;Duke's Freight Transporter ;Shields;7000;Hull;20000
243906;YM6PR-63;SP2;Lasers fired at;ITPUK-11;Duke's Freight Transporter ;Shields left;null;Hull left;-105375
243906;ITPUK-11;Duke's Freight Transporter ;No laser battery for counterfire
~
243911;YM6PR-63;SP2;ATTACK;Lehan's Legacy;ITPUK-11;Duke's Freight Transporter 
243911;YM6PR-63;SP2;add battery;2;shield DPS;0;hull DPS;0;pierce DPS;0;sec left;5;Effectivity Perc;10
243911;YM6PR-63;SP2;add battery;1;shield DPS;0null;hull DPS;0;pierce DPS;41793;sec left;5;Effectivity Perc;60
243911;YM6PR-63;SP2;add battery;0;shield DPS;0;hull DPS;0;pierce DPS;0;sec left;5;Effectivity Perc;100
243911;YM6PR-63;SP2;total damage;Shield;0null;hull;0;pierce;125375;t.size.class;0;sec;5
243911;YM6PR-63;SP2;Target status;ITPUK-11;Duke's Freight Transporter ;Shields;3000;Hull;0
243911;YM6PR-63;SP2;Lasers fired at;ITPUK-11;Duke's Freight Transporter ;Shields left;null;Hull left;-125375
243911;ITPUK-11;Duke's Freight Transporter ;No laser battery for counterfire
~
243911;YM6PR-63;SP2;ATTACK;Lehan's Legacy;ITPUK-11;Duke's Freight Transporter 
243911;YM6PR-63;SP2;add battery;2;shield DPS;0;hull DPS;0;pierce DPS;0;sec left;0;Effectivity Perc;10
243911;YM6PR-63;SP2;add battery;1;shield DPS;0null;hull DPS;0;pierce DPS;41793;sec left;0;Effectivity Perc;60
243911;YM6PR-63;SP2;add battery;0;shield DPS;0;hull DPS;0;pierce DPS;0;sec left;0;Effectivity Perc;100
243911;YM6PR-63;SP2;total damage;Shield;0;hull;0;pierce;0;t.size.class;0;sec;0
243911;ITPUK-11;Duke's Freight Transporter ;No laser battery for counterfire
~
243913;ITPUK-11;Duke's Freight Transporter ;ATTACK;Lehan's Legacy;YM6PR-63;SP2
243913;ITPUK-11;Duke's Freight Transporter ;add battery;2;shield DPS;0;hull DPS;0;pierce DPS;0;sec left;5;Effectivity Perc;100
243913;ITPUK-11;Duke's Freight Transporter ;add battery;1;shield DPS;0null;hull DPS;0;pierce DPS;3462;sec left;5;Effectivity Perc;110
243913;ITPUK-11;Duke's Freight Transporter ;add battery;0;shield DPS;0;hull DPS;0;pierce DPS;0;sec left;5;Effectivity Perc;120
243913;ITPUK-11;Duke's Freight Transporter ;total damage;Shield;0null;hull;0;pierce;19040;t.size.class;2;sec;5
243913;ITPUK-11;Duke's Freight Transporter ;Target status;YM6PR-63;SP2;Shields;6000000;Hull;136000
243913;ITPUK-11;Duke's Freight Transporter ;Lasers fired at;YM6PR-63;SP2;Shields left;null;Hull left;116960
243913;YM6PR-63;SP2;No laser battery for counterfire
~
243918;ITPUK-11;Duke's Freight Transporter ;ATTACK;Lehan's Legacy;YM6PR-63;SP2
243918;ITPUK-11;Duke's Freight Transporter ;add battery;2;shield DPS;0;hull DPS;0;pierce DPS;0;sec left;5;Effectivity Perc;100
243918;ITPUK-11;Duke's Freight Transporter ;add battery;1;shield DPS;0null;hull DPS;0;pierce DPS;3462;sec left;5;Effectivity Perc;110
243918;ITPUK-11;Duke's Freight Transporter ;add battery;0;shield DPS;0;hull DPS;0;pierce DPS;0;sec left;5;Effectivity Perc;120
243918;ITPUK-11;Duke's Freight Transporter ;total damage;Shield;0null;hull;0;pierce;19040;t.size.class;2;sec;5
243918;ITPUK-11;Duke's Freight Transporter ;Target status;YM6PR-63;SP2;Shields;64800;Hull;116960
243918;ITPUK-11;Duke's Freight Transporter ;Lasers fired at;YM6PR-63;SP2;Shields left;null;Hull left;97920
243918;YM6PR-63;SP2;No laser battery for counterfire
~
243923;ITPUK-11;Duke's Freight Transporter ;ATTACK;Lehan's Legacy;YM6PR-63;SP2
243923;ITPUK-11;Duke's Freight Transporter ;add battery;2;shield DPS;0;hull DPS;0;pierce DPS;0;sec left;5;Effectivity Perc;100
243923;ITPUK-11;Duke's Freight Transporter ;add battery;1;shield DPS;0null;hull DPS;0;pierce DPS;3462;sec left;5;Effectivity Perc;110
243923;ITPUK-11;Duke's Freight Transporter ;add battery;0;shield DPS;0;hull DPS;0;pierce DPS;0;sec left;5;Effectivity Perc;120
243923;ITPUK-11;Duke's Freight Transporter ;total damage;Shield;0null;hull;0;pierce;19040;t.size.class;2;sec;5
243923;ITPUK-11;Duke's Freight Transporter ;Target status;YM6PR-63;SP2;Shields;32400;Hull;97920
243923;ITPUK-11;Duke's Freight Transporter ;Lasers fired at;YM6PR-63;SP2;Shields left;null;Hull left;78880
243923;YM6PR-63;SP2;No laser battery for counterfire
~
243929;ITPUK-11;Duke's Freight Transporter ;ATTACK;Lehan's Legacy;YM6PR-63;SP2
243929;ITPUK-11;Duke's Freight Transporter ;add battery;2;shield DPS;0;hull DPS;0;pierce DPS;0;sec left;6;Effectivity Perc;100
243929;ITPUK-11;Duke's Freight Transporter ;add battery;1;shield DPS;0null;hull DPS;0;pierce DPS;3462;sec left;6;Effectivity Perc;110
243929;ITPUK-11;Duke's Freight Transporter ;add battery;0;shield DPS;0;hull DPS;0;pierce DPS;0;sec left;6;Effectivity Perc;120
243929;ITPUK-11;Duke's Freight Transporter ;total damage;Shield;0null;hull;0;pierce;22848;t.size.class;2;sec;6
243929;ITPUK-11;Duke's Freight Transporter ;Target status;YM6PR-63;SP2;Shields;64800;Hull;78880
243929;ITPUK-11;Duke's Freight Transporter ;Lasers fired at;YM6PR-63;SP2;Shields left;null;Hull left;56032
243929;YM6PR-63;SP2;No laser battery for counterfire
~
243934;ITPUK-11;Duke's Freight Transporter ;ATTACK;Lehan's Legacy;YM6PR-63;SP2
243934;ITPUK-11;Duke's Freight Transporter ;add battery;2;shield DPS;0;hull DPS;0;pierce DPS;0;sec left;5;Effectivity Perc;100
243934;ITPUK-11;Duke's Freight Transporter ;add battery;1;shield DPS;0null;hull DPS;0;pierce DPS;3462;sec left;5;Effectivity Perc;110
243934;ITPUK-11;Duke's Freight Transporter ;add battery;0;shield DPS;0;hull DPS;0;pierce DPS;0;sec left;5;Effectivity Perc;120
243934;ITPUK-11;Duke's Freight Transporter ;total damage;Shield;0null;hull;0;pierce;19040;t.size.class;2;sec;5
243934;ITPUK-11;Duke's Freight Transporter ;Target status;YM6PR-63;SP2;Shields;64800;Hull;56032
243934;ITPUK-11;Duke's Freight Transporter ;Lasers fired at;YM6PR-63;SP2;Shields left;null;Hull left;36992
243934;YM6PR-63;SP2;No laser battery for counterfire
~
243935;YM6PR-63;SP2;ATTACK;Lehan's Legacy;ITPUK-11;Duke's Freight Transporter 
243935;YM6PR-63;SP2;add battery;2;shield DPS;0;hull DPS;0;pierce DPS;0;sec left;24;Effectivity Perc;10
243935;YM6PR-63;SP2;add battery;1;shield DPS;0null;hull DPS;0;pierce DPS;41793;sec left;24;Effectivity Perc;60
243935;YM6PR-63;SP2;add battery;0;shield DPS;0;hull DPS;0;pierce DPS;0;sec left;24;Effectivity Perc;100
243935;YM6PR-63;SP2;total damage;Shield;0null;hull;0;pierce;601800;t.size.class;0;sec;24
243935;YM6PR-63;SP2;Target status;ITPUK-11;Duke's Freight Transporter ;Shields;7000;Hull;0
243935;YM6PR-63;SP2;Lasers fired at;ITPUK-11;Duke's Freight Transporter ;Shields left;null;Hull left;-601800
243935;ITPUK-11;Duke's Freight Transporter ;No laser battery for counterfire
243935;ITPUK-11;Duke's Freight Transporter ;ATTACK;Lehan's Legacy;YM6PR-63;SP2
243935;ITPUK-11;Duke's Freight Transporter ;add battery;2;shield DPS;0;hull DPS;0;pierce DPS;0;sec left;1;Effectivity Perc;100
243935;ITPUK-11;Duke's Freight Transporter ;add battery;1;shield DPS;0null;hull DPS;0;pierce DPS;3462;sec left;1;Effectivity Perc;110
243935;ITPUK-11;Duke's Freight Transporter ;add battery;0;shield DPS;0;hull DPS;0;pierce DPS;0;sec left;1;Effectivity Perc;120
243935;ITPUK-11;Duke's Freight Transporter ;total damage;Shield;0null;hull;0;pierce;3808;t.size.class;2;sec;1
243935;ITPUK-11;Duke's Freight Transporter ;Target status;YM6PR-63;SP2;Shields;0;Hull;36992
243935;ITPUK-11;Duke's Freight Transporter ;Lasers fired at;YM6PR-63;SP2;Shields left;null;Hull left;33184
243935;YM6PR-63;SP2;No laser battery for counterfire
~
243938;ITPUK-11;Duke's Freight Transporter ;ATTACK;Lehan's Legacy;YM6PR-63;SP2
243938;ITPUK-11;Duke's Freight Transporter ;add battery;2;shield DPS;0;hull DPS;0;pierce DPS;0;sec left;3;Effectivity Perc;100
243938;ITPUK-11;Duke's Freight Transporter ;add battery;1;shield DPS;0null;hull DPS;0;pierce DPS;3462;sec left;3;Effectivity Perc;110
243938;ITPUK-11;Duke's Freight Transporter ;add battery;0;shield DPS;0;hull DPS;0;pierce DPS;0;sec left;3;Effectivity Perc;120
243938;ITPUK-11;Duke's Freight Transporter ;total damage;Shield;0null;hull;0;pierce;11424;t.size.class;2;sec;3
243938;ITPUK-11;Duke's Freight Transporter ;Target status;YM6PR-63;SP2;Shields;32400;Hull;33184
243938;ITPUK-11;Duke's Freight Transporter ;Lasers fired at;YM6PR-63;SP2;Shields left;null;Hull left;21760
243938;YM6PR-63;SP2;No laser battery for counterfire

Hope that means something to someone. :p

User avatar
wyvern11
Posts: 1703
Joined: Sat, 15. Jul 06, 20:59
x3

Post by wyvern11 » Tue, 16. Jun 09, 18:16

actually yes ;-)

Code: Select all


766314;IM4CK-50;Pirate Elite;No laser battery for counterfire

>>>>> means it has no small arms to auto-counterfire

766316;IM4AQ-56;Pirate Elite;ATTACK;Moo-Kye's Revenge;TFOYH-08;Soyery M alpha(Moo-Kye's Revenge)

>>>>> this is obvious

...

766316;IM4AQ-56;Pirate Elite;add battery;2;shield DPS;0;hull DPS;0;pierce DPS;0;sec left;5;Effectivity Perc;100

>>>>> pirate elite has no hugeship-guns

766316;IM4AQ-56;Pirate Elite;add battery;1;shield DPS;0;hull DPS;0;pierce DPS;0;sec left;5;Effectivity Perc;110

>>>>> dto. for bigship

766316;IM4AQ-56;Pirate Elite;add battery;0;shield DPS;3414;hull DPS;361;pierce DPS;0;sec left;5;Effectivity Perc;120

>>>>> but littleship-weapons 

766316;IM4AQ-56;Pirate Elite;total damage;Shield;20480;hull;2165;pierce;0;t.size.class;2;sec;5

>>>>> DPS * 5sec * effectivity/100

766316;IM4AQ-56;Pirate Elite;Target status;TFOYH-08;Soyery M alpha(Moo-Kye's Revenge);Shields;6193858;Hull;800000

>>>>> before fire

766316;IM4AQ-56;Pirate Elite;Lasers fired at;TFOYH-08;Soyery M alpha(Moo-Kye's Revenge);Shields left;6173378;Hull left;800000

>>>>> -20480 points on shields 

if you compare your log there's something botched with shield dps and pierce (massdriver effect):

Code: Select all

...
243906;YM6PR-63;SP2;add battery;1;shield DPS;0null;hull DPS;0;pierce DPS;41793;sec left;5;Effectivity Perc;60
...
Redest du noch - oder denkst du schon ?

User avatar
Gazz
Posts: 13244
Joined: Fri, 13. Jan 06, 16:39
x4

Post by Gazz » Tue, 16. Jun 09, 19:06

Some laser data must be whacky. Will this null please leave my integers!?

In Log 1337, what is the laser setup block for ITPUK-11;Duke's Freight Transporter ?


Nadrek wrote:B) Future Enhancement: Given that MARS and AI ships switch weapons in-flight IS, why would they be set with a single configuration OOS? When MARS sees a ship go from IS to OOS now, it loads up the most powerful weapons. When MARS sees a ship go from IS to OOS _after_ this is released and stable and so on, why wouldn't it calculate the ships three optimal loadouts: one for each target classification, based on the weapons in the hold.
This would extend (and much complicate =) the setup phase of a ship but at runtime it won't matter which array I fetch for the damage values.

The ship setup would have to trial-and-error the "best" laser for each single laser slot aboard.
So like 32 laser slots x all turret-compatible lasers. Times 3. For every ship.
I'd probably end up with a 3+ dimensional array and tentacles would start reaching out of mirrors.


At runtime there would be no difference. Only the numbers from the arrays are used OOS. Which or if any lasers are present in the laser bays during combat is irrelevant.

Nadrek wrote:C) Future Enhancement: While Ammo shouldn't run out in a strategic sense, Ammo should be able to run out during a single engagement. Perhaps fix it at X rounds of combat with the ammo based weapons per engagement, where X is either fixed, or depends on cargo free space with a hard minimum?
Ammo consumption is nasty because my "laser batteries" contain no EBC or Gauss.
They contain resulting damage. Finito.

That means keeping tabs on which battery has N Lasers using ammo X at ROF Y and has fired Z bullets from the virtual 200 round ammo crate.

If any of those should run out, the whole ship's damages have to be recalculated.

On top of that: If the AI was to "use" ammo, there needs to be a universe-wide supply system and Xenon, for instance, would have trouble buying their MAM and whatnot ammo.
If they are allowed to cheat ammo then the difference between a tactical and strategic ammo cheat would be hard to spot. OOS timers are just so... coarse.

I'm not convinced that the benefit of an "ammunition model" would outweigh the effort.

Nadrek wrote:D) Balancing Statistics:
I'm pretty sure the tables and rules used to generate "battery DPS" are all in the first 2 posts.

The tricky bits are
$Ship -> add default equipment (or something like that)
and
[THIS] -> select and switch lasers for target $victim in turret $turretid: scan for friends [TRUE]

The first one loads random "allowed" wares on the ship, completely ignorant of getting a useful laser mix.
The second is a black box instruction that loads uhh... some lasers depending on the target. Sometimes they fit. Maybe.

So you'd have to do a statistically significant number of add default equipment for each of the 370 shiptypes in X3, then run select and switch lasers on all it's turrets for each small / medium / big targets.

That would give you the 3 desired loadouts. Not optimised as by a player but possibly useful.



The next step, script wise, would be the evasion ruleset and how it is connected to skill and ship speed / class / taste / size.
My brain is too foggy ATM and I need one or two days off to recharge my design chakras so I can get my scripting feng shui going.

I'm just playing a bit of Mechcommander. Blowing things up. And there's this bottle of Mount Gay Extra Old teasing me. Make it stop!
My complete script download page. . . . . . I AM THE LAW!
There is no sense crying over every mistake. You just keep on trying till you run out of cake.

fud
Posts: 9837
Joined: Wed, 25. Jan 06, 14:26
x3

Post by fud » Tue, 16. Jun 09, 21:26

Gazz wrote:Some laser data must be whacky. Will this null please leave my integers!?

In Log 1337, what is the laser setup block for ITPUK-11;Duke's Freight Transporter ?

Code: Select all

243884;ITPUK-11;Duke's Freight Transporter ;Get config data;Main Ver;28;My Ver; null;Var;GZ.OOSD.SHIP.DATA;Data;NOT FOUND
243884;ITPUK-11;Duke's Freight Transporter ;Laser.Setup;Dmg Perc;101;Fight Skill;30;Trade Skill;22;Is.Freighter;1;Hangars;0;Skill Dmg Bonus;1
243884;ITPUK-11;Duke's Freight Transporter ;add laser;50;Fragmentation Bomb Launcher
243884;ITPUK-11;Duke's Freight Transporter ;add DPS;1;null;0;3462;40;Fragmentation Bomb Launcher;Amount:;50
      Battery  0  Light   ARRAY ( 0, 0, 0, 0 )
      Battery  1  Medium  ARRAY ( 0null, 0, 3462, 0 )
      Battery  2  Heavy   ARRAY ( 0, 0, 0, 0 )
That?

User avatar
Gazz
Posts: 13244
Joined: Fri, 13. Jan 06, 16:39
x4

Post by Gazz » Tue, 16. Jun 09, 21:38

Yes, that looks good. Bad. Hmm... useful!
Last edited by Gazz on Tue, 16. Jun 09, 21:43, edited 2 times in total.
My complete script download page. . . . . . I AM THE LAW!
There is no sense crying over every mistake. You just keep on trying till you run out of cake.

Post Reply

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