[MOD/WIP] How to improve 'defend station' missions?

The place to discuss scripting and game modifications for X Rebirth.

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

What to do with the missions?

It's fine as it is
0
No votes
Disable station defenses (if this is possible)
1
6%
More attacker
0
No votes
Bigger attacker ships (M7M, M2, M1)
2
11%
Adjust Rewards (reward per killing enemy)
5
28%
Let enemies focus on Modules (+disable defenses there)
5
28%
All of this - in different new missions!
3
17%
other stuff (post)
2
11%
 
Total votes: 18

Cyres
Posts: 61
Joined: Tue, 5. Jan 16, 08:22
x4

[MOD/WIP] How to improve 'defend station' missions?

Post by Cyres »

In the current version of XR, the 'defend station' missions are pretty broken. You just have to accept the mission and can leave the sector without any risk + huge rewards. Let's change this!

Previously I released two mods: Simply removing the missions and adjusting the rewards (also working for patrol missions)

My plan is now to improve the missions for a better XR and I will begin with this broken mission type first, so suggest plz :D


What's so wrong with this mission at the moment?
  • The mission is not failable unless the attacked station is in DV (even then it's hard to fail)
  • Attackers will attack Station itself (not modules)
  • Attackers got stomped even before they reach the station
  • If attackers got attacked, the station will be the secondary target which results in a hopeless fight next to the station
  • All the stuff about easy rewards...
PS.: I just begun with MD-scripting in XR, but I'm a very experienced in programming and this won't be a problem - at least I hope this :P
Last edited by Cyres on Mon, 11. Jan 16, 16:50, edited 2 times in total.
GCU Grey Area
Posts: 8360
Joined: Sat, 14. Feb 04, 23:07
x4

Post by GCU Grey Area »

All of the ideas in the poll look interesting, however also got a suggestion (so voted 'other'). Think it might be good if there was a negative adjustment to mission rewards (both financial & faction rep) proportional to any damage the station sustains during the attack.
Cyres
Posts: 61
Joined: Tue, 5. Jan 16, 08:22
x4

Post by Cyres »

Sadly there isn't a multi-check-poll option :cry:

The idea sounds interessting, but in the current state (at least in Abion and Omicron Lyrae) the defense of the stations are too good, so there won't be much dmg against the station... But in combination with any of the other possibilities it would work out well!
pref
Posts: 5625
Joined: Sat, 10. Nov 12, 17:55
x4

Post by pref »

The problem is that the fail option does not exist. This needs to be fixed imo first, and once it functions as a real mission it can be balanced as it fits the solution.

A concentrated attack on any module, and perhaps killing/disabling any targon tracers in range first could help (maybe start by having some balors jump in and release a barrage on each tracer near the target module, then jump out).
Or the tracers could be the target themselves, but their hull value is really low iirc.
It should have a high probability to fail without player interaction. Perhaps some extra attention is needed to stop nearby defence ships from interfering.

If no subsystem destruction/certain damage amount was done by the player during the attack that could also influence the outcome, as it could show if the player tried but it wasn't enough, or if the mission succeeded without substantial help from the player.


Or just check for damage done by player on mission ships, and let it fail if its below a limit.

Obviously the first option would be much more enjoyable.
Taking these missions and failing them often would have a negative effect on economy, which adds some extra sense of urgency imo.
Mabe the best would be if these events did happen without a mission, and player was only alerted a bit before they start, but that probably leads a bit too far.
bm01
Posts: 421
Joined: Wed, 22. Jul 09, 22:31
x4

Post by bm01 »

I voted for "All of this - in different new missions!" but that's because there's no multi check :( (should probably have voted "other" now that I think about it)

Rewards based on the number of killing seems to go well with the enemies trying to take down a specific module.

The first one prevents missions from completing themselves and rewarding almost half a million, the second one actually makes the mission fail-able.

Even if you disable the defenses of the targeted module I'm sure a swarm of fighters could easily be taken down by the others (depending on the station) or by patrols.
Cyres
Posts: 61
Joined: Tue, 5. Jan 16, 08:22
x4

Post by Cyres »

pref wrote:The problem is that the fail...
Yep, that's really the problem. But this can be reached in multiple ways. Let's wait for some other ideas but I like the mix of better attacking ships and focussing on the most important parts of the station. This would require a ranking of the best target module, but this is a detail for later ;)

Hmm, just let the player fail the mission because of missing dmg is an option but already included in my reward-balancing mod.

For sure it would be enjoyable, or at least a good addition as second mod, but as events this should be covered by other mods (Conquest and War for example). This requires a full focus on these events, even as passive players like traders and so on.



Btw.: currently in the egosoft script the enemies will focus on the Station itself until they got attacked. Then the station will be the secondary target which results in a hopeless fight next to the station. So this behavior should be changed in general. What they should do? Falling back, regroup and attack again? Waiting for artillery support? How the mission difficulty should be handled? I'll post some general questions/problems in the OP in a few minutes.
Last edited by Cyres on Mon, 11. Jan 16, 16:38, edited 1 time in total.
pref
Posts: 5625
Joined: Sat, 10. Nov 12, 17:55
x4

Post by pref »

Probably starting with an attack on dangerous nearby turrets using neutral balors could make it easier to script. Like a sneak attack.
It would enable the script to do enough damage on the station before the first missile hits - without worrying much about OP station defences.

In case its possible to launch missiles on specific turrets, and limit bigger capships to a certain area while attacking.
Cyres
Posts: 61
Joined: Tue, 5. Jan 16, 08:22
x4

Post by Cyres »

pref wrote:Probably starting with an attack on dangerous nearby turrets using neutral balors could make it easier to script. Like a sneak attack.
It would enable the script to do enough damage on the station before the first missile hits - without worrying much about OP station defences.
Well, this would be an option for higher difficulties. A Station won't manage 1 Arawn and 2 Balors btw.
In general we could focus on all five difficulty levels and let the attackers be more varied. At this point this would be:
  1. Simple attack as it is
  2. Attacking with hacks (disable certain turrets for 5 minutes or sth. like that)
  3. Attacking with Balors/small capital ships like Titurel
  4. Sneaky attacks
  5. Large offensive fleet (Arawn etc.)
bm01
Posts: 421
Joined: Wed, 22. Jul 09, 22:31
x4

Post by bm01 »

Cyres wrote:Btw.: currently in the egosoft script the enemies will focus on the Station itself until they got attacked. Then the station will be the secondary target which results in a hopeless fight next to the station. So this behavior should be changed in general. What they should do? Falling back, regroup and attack again? Waiting for artillery support? How the mission difficulty should be handled? I'll post some general questions/problems in the OP in a few minutes.
In my opinion, it should depend on the distance with the station. Some players like to intercept the fighters before they reach their target, in that case the fighters should focus on the player. But if it happens near the station (at shoot range), they should keep focusing on it (except maybe for interceptors kind of fighters, but I'm not sure you can differentiate them easily).

The general concept of "Defend the station" should be some kind of time trial I think, killing the enemies before they can destroy their target (or steal from it).
vadiolive
Posts: 337
Joined: Wed, 18. Dec 13, 04:36
x4

Post by vadiolive »

adjust reward per kill
its fair
and make mission not overpower
Sparky Sparkycorp
Moderator (English)
Moderator (English)
Posts: 8074
Joined: Tue, 30. Mar 04, 12:28
x4

Post by Sparky Sparkycorp »

Perhaps unsurprisingly, I voted for "Let enemies focus on Modules" :)

Station defense hacking is a great idea. Meshes with the game's other content nicely so we can imagine it having taken place rather than it be magic.

Destroying a specific module or modules followed by retreat and drone-looting by a Marauder Titurel/Phoenix sat outside Plasma/MA range would
probably be my ideal image if it was possible but any thought into this is most welcome! Thanks :)
Cyres
Posts: 61
Joined: Tue, 5. Jan 16, 08:22
x4

Post by Cyres »

bm01 wrote:The general concept of "Defend the station" should be some kind of time trial I think, killing the enemies before they can destroy their target (or steal from it).
Interesting idea, i'll take that into account :idea:
You threw in a really interesting word: "steal", that could be a hole new mission :twisted:
vadiolive wrote:adjust reward per kill
its fair
and make mission not overpower
Take a look at my mod Balance mission rewards, the more enemies you kill the more reward you will receive. A large ship will give more reward than a small fighter of course.
Sparky Sparkycorp wrote:Station defense hacking is a great idea. Meshes with the game's other content nicely so we can imagine it having taken place rather than it be magic.

Destroying a specific module or modules followed by retreat and drone-looting by a Marauder Titurel/Phoenix sat outside Plasma/MA range would
probably be my ideal image if it was possible but any thought into this is most welcome! Thanks :)
I'm at home now and will do some test with this and some other ideas


Is there any cheat-mod for adding ships so far? It would be great for testing...
User avatar
YorrickVander
Posts: 2774
Joined: Tue, 29. Oct 13, 21:59
x4

Post by YorrickVander »

It's easily done. For example an arawn with 4 taranis escorts :

Code: Select all

<!-- Arawn - Mission Ship -->
        <create_ship name="$Mission_Ship" zone="player.zone" macro="units_size_xl_capital_destroyer_1_macro">
          <owner exact="faction.player" overridenpc="true"/>
          <pilot actor="null"/>
          <defence actor="null"/>
          <engineer actor="null"/>
          <units>
            <unit category="unitcategory.transport" mk="1" exact="10"/>
            <unit category="unitcategory.welder" mk="1" exact="50"/>
            <unit category="unitcategory.attack" mk="1" exact="50"/>
            <unit category="unitcategory.defence" mk="2" exact="100"/>
          </units>
          <cargo>
            <wares list="[ware.fuelcells]">
              <fillpercent min="70" max="80"/>
            </wares>
          </cargo>
          <safepos object="player.primaryship" x="2km" y="2km" z="2km"/>
        </create_ship>
        
        <find_dock_location name="$Dock" container="$Mission_Ship" size="tag.dock_p"/>
        <create_platform_actor name="$Commander" type="entitytype.commander" dockingbay="$Dock.component" ref="trader_albion_random">
          <owner exact="faction.player"/>
        </create_platform_actor>
        <create_platform_actor name="$DefenceNPC" type="entitytype.defencecontrol" dockingbay="$Dock.component" ref="fighter_albion_random">
          <owner exact="faction.player"/>
        </create_platform_actor>
        <create_platform_actor name="$Engineer" type="entitytype.engineer" dockingbay="$Dock.component" ref="engineer_albion_random">
          <owner exact="faction.player"/>
        </create_platform_actor>

        <assign_pilot actor="$Commander" object="$Mission_Ship"/>
        <assign_defence_manager actor="$DefenceNPC" object="$Mission_Ship"/>
        <assign_engineer actor="$Engineer" object="$Mission_Ship"/>

        <set_skill entity="$Commander" type="combat" exact="5"/>
        <set_skill entity="$Commander" type="engineering" exact="5"/>
        <set_skill entity="$Commander" type="leadership" exact="5"/>
        <set_skill entity="$Commander" type="management" exact="5"/>
        <set_skill entity="$Commander" type="morale" exact="5"/>
        <set_skill entity="$Commander" type="navigation" exact="5"/>
        <set_skill entity="$Commander" type="science" exact="5"/>

        <set_skill entity="$DefenceNPC" type="combat" exact="5"/>
        <set_skill entity="$DefenceNPC" type="engineering" exact="5"/>
        <set_skill entity="$DefenceNPC" type="leadership" exact="5"/>
        <set_skill entity="$DefenceNPC" type="management" exact="5"/>
        <set_skill entity="$DefenceNPC" type="morale" exact="5"/>
        <set_skill entity="$DefenceNPC" type="navigation" exact="5"/>
        <set_skill entity="$DefenceNPC" type="science" exact="5"/>

        <set_skill entity="$Engineer" type="combat" exact="5"/>
        <set_skill entity="$Engineer" type="engineering" exact="5"/>
        <set_skill entity="$Engineer" type="leadership" exact="5"/>
        <set_skill entity="$Engineer" type="management" exact="5"/>
        <set_skill entity="$Engineer" type="morale" exact="5"/>
        <set_skill entity="$Engineer" type="navigation" exact="5"/>
        <set_skill entity="$Engineer" type="science" exact="5"/>
        
        <set_object_commander object="$Mission_Ship" commander="player.primaryship"/>
        <start_script object="$Commander" name="'player.default'"/>
        <start_script object="$DefenceNPC" name="'fight.defend.capital'"/>
        <start_script object="$Engineer" name="'engineer.ai'"/>

        <!-- Taranis - Mission Ship Escorts -->
        <do_all exact="4">
          <create_ship name="$Mission_Ship_Escort" zone="player.zone" macro="units_size_xl_capital_destroyer_2_macro">
            <owner exact="faction.player" overridenpc="true"/>
            <pilot actor="null"/>
            <defence actor="null"/>
            <engineer actor="null"/>
            <units>
              <unit category="unitcategory.transport" mk="1" exact="10"/>
              <unit category="unitcategory.welder" mk="1" exact="50"/>
              <unit category="unitcategory.attack" mk="1" exact="50"/>
              <unit category="unitcategory.defence" mk="2" exact="40"/>
            </units>
            <cargo>
              <wares list="[ware.fuelcells]">
                <fillpercent min="70" max="80"/>
              </wares>
            </cargo>
            <safepos object="player.primaryship" x="3km" y="2km" z="3km"/>
          </create_ship>

          <find_dock_location name="$Dock" container="$Mission_Ship_Escort" size="tag.dock_p"/>
          <create_platform_actor name="$Commander" type="entitytype.commander" dockingbay="$Dock.component" ref="trader_albion_random">
            <owner exact="faction.player"/>
          </create_platform_actor>
          <create_platform_actor name="$DefenceNPC" type="entitytype.defencecontrol" dockingbay="$Dock.component" ref="fighter_albion_random">
            <owner exact="faction.player"/>
          </create_platform_actor>
          <create_platform_actor name="$Engineer" type="entitytype.engineer" dockingbay="$Dock.component" ref="engineer_albion_random">
            <owner exact="faction.player"/>
          </create_platform_actor>

          <assign_pilot actor="$Commander" object="$Mission_Ship_Escort"/>
          <assign_defence_manager actor="$DefenceNPC" object="$Mission_Ship_Escort"/>
          <assign_engineer actor="$Engineer" object="$Mission_Ship_Escort"/>

          <set_skill entity="$Commander" type="combat" exact="5"/>
          <set_skill entity="$Commander" type="engineering" exact="5"/>
          <set_skill entity="$Commander" type="leadership" exact="5"/>
          <set_skill entity="$Commander" type="management" exact="5"/>
          <set_skill entity="$Commander" type="morale" exact="5"/>
          <set_skill entity="$Commander" type="navigation" exact="5"/>
          <set_skill entity="$Commander" type="science" exact="5"/>

          <set_skill entity="$DefenceNPC" type="combat" exact="5"/>
          <set_skill entity="$DefenceNPC" type="engineering" exact="5"/>
          <set_skill entity="$DefenceNPC" type="leadership" exact="5"/>
          <set_skill entity="$DefenceNPC" type="management" exact="5"/>
          <set_skill entity="$DefenceNPC" type="morale" exact="5"/>
          <set_skill entity="$DefenceNPC" type="navigation" exact="5"/>
          <set_skill entity="$DefenceNPC" type="science" exact="5"/>

          <set_skill entity="$Engineer" type="combat" exact="5"/>
          <set_skill entity="$Engineer" type="engineering" exact="5"/>
          <set_skill entity="$Engineer" type="leadership" exact="5"/>
          <set_skill entity="$Engineer" type="management" exact="5"/>
          <set_skill entity="$Engineer" type="morale" exact="5"/>
          <set_skill entity="$Engineer" type="navigation" exact="5"/>
          <set_skill entity="$Engineer" type="science" exact="5"/>

          <set_object_commander object="$Mission_Ship_Escort" commander="$Mission_Ship"/>
          <start_script object="$Commander" name="'move.escort'">
            <param name="target" value="$Mission_Ship" />
          </start_script>
          <start_script object="$DefenceNPC" name="'fight.defend.capital'"/>
          <start_script object="$Engineer" name="'engineer.ai'"/>
        </do_all>
just change the owner faction if you want enemies :)
X Rebirth - A Sirius Cybernetics Corporation Product

Split irritate visiting pilot with strange vocal patterns.
Cyres
Posts: 61
Joined: Tue, 5. Jan 16, 08:22
x4

Post by Cyres »

YorrickVander wrote:...
Ah thanks, this will shorten my search :P
But I searched for a mod like cycrows but because of the REFRESHMD-command this will work too :wink:
pref
Posts: 5625
Joined: Sat, 10. Nov 12, 17:55
x4

Post by pref »

Cyres wrote:A Station won't manage 1 Arawn and 2 Balors btw.
I never saw any station get seriously damaged in my games, no matter what ships the attackers had. Not on normal, nor on very hard.
I see the challenge mainly in allowing attackers enough time, and making their attack focused so there is a fat chance they can wreck at least 1 module before the station kills them.

The balor idea was not to damage the station more, just a less artificial (and perhaps more flasy) way to remove some defences to provide enough time for the attack force to succeed.
I so miss some kind of coordinated action from AI in this game to be honest. Disabling station defences until target module is destroyed would be much more easy i assume.
Sparky Sparkycorp
Moderator (English)
Moderator (English)
Posts: 8074
Joined: Tue, 30. Mar 04, 12:28
x4

Post by Sparky Sparkycorp »

Most stations are, at least IMO based on trying to help in defense missions, very well armed. There are a few that in comparison, have very few surface elements. What Plantations are an example, IIRC.
Shazbot01
Posts: 30
Joined: Tue, 13. May 14, 01:29
x3tc

Post by Shazbot01 »

How about a "capital ships only" mod? The only ships that spawn are L or XL. Fighters are just too worthless vs station defenses, capitals at least have a chance to destroy the station.
pref
Posts: 5625
Joined: Sat, 10. Nov 12, 17:55
x4

Post by pref »

If i saw it right reward adjustment has been done in beta 5 (cash proportional to kills/dmg). Possible there is no need to mod that any more.
Xenon_Slayer
EGOSOFT
EGOSOFT
Posts: 13129
Joined: Sat, 9. Nov 02, 11:45
x4

Post by Xenon_Slayer »

Hi,

You may be interested in this post from me regarding changes in Beta 6.
Cyres
Posts: 61
Joined: Tue, 5. Jan 16, 08:22
x4

Post by Cyres »

I'm already watching the beta process and I'll wait until the release before doing any further modding :)

Return to “X Rebirth - Scripts and Modding”