Nice fireworks all the time. =)
So they're already VERY powerful IS even with their LIGHT weaponry.
Btw., you're crazy

Moderators: Moderators for English X Forum, Scripting / Modding Moderators
EDITI 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.
This would not be compatible with the current system.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
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
Hehehe. I just halved most OOS damage in the last version. Sledgehammer finetuning.I wouldn't call what we do just now finetuning - but rather scaling the order of magnitude...
I'm familiar with most script instructions.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.
X3's timing is frame based so any attempt for an in-game accurate ROF measurement is going to fail....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 .
Exactly. Ulfius provides the MARS data for his CMOD3 and I don't know of any other such mod.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.
I'm thinking about how evasion and such should work.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".
You can't stop the Gazz, nobody can stop the Gazz.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)
I corrected the actual bug in the OWP fight script so the workaround of giving them speed is no longer needed.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 !?
So far, no randoms are involved, so at the moment there is only one test per ship. As you are proposing using a real OSD) 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)
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
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
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
...
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.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.
Ammo consumption is nasty because my "laser batteries" contain no EBC or Gauss.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?
I'm pretty sure the tables and rules used to generate "battery DPS" are all in the first 2 posts.Nadrek wrote:D) Balancing Statistics:
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 )