Fractal Softworks Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

Starsector 0.9.1a is out! (05/10/19); Blog post: Personal Contacts (08/13/20)

Pages: [1] 2

Author Topic: [0.9.1a] ArmaA Robotics  (Read 4020 times)

shoi

  • Commander
  • ***
  • Posts: 120
    • View Profile
    • Email
[0.9.1a] ArmaA Robotics
« on: June 25, 2020, 05:09:27 AM »


    Arma Armatura, oftherwise known as ArmA Robotics, was one of the premier developers of heavy weapons in the vast galactic nation that had once been called the Domain. Specializing in planetary warfare, the corporation enjoyed the profits of several highly lucrative mechs and exoskeletons. The Collapse, however, brought about the apparent demise of that golden age, along with the majority of the companies infrastructure. Despite this, the devastated and war-torn Persean Sector has left the company with no shortage of potential customers to push its wares on, the most unusual and controversial being it's multirole line of Cataphract-class Land-Space Mechs.


    I. Summary:

    This mod adds four mechs with a 'vanilla-like' aesthetic to the game; three fighter wings and one fully pilotable "fighter". All of these started life as a paint over of the old Blizzaia from DIABLE AVIONICS that i kitbashed with vanilla assets.

    The Valken commonly appears in most markets, but can be found more often in pirate-owned ones, while the Kouto is often used by Tri-Tachyon. Meanwhile, the Einhander can rarely be located in Tri-Tachyon and Independent Markets (or stolen from them, with Nexerelin)

    Valken-class Cataphract
    Spoiler
    [close]
    Purpose built to be expendable, the Valken performance-wise sits roughly between the Talon and Broadsword in terms of speed, armor, and handling, but on paper has a higher damage output - provided it can survive long enough - a rarity in practice without either an escort, or deployed en-masse. While a mediocre unit in space, its equally mediocre capability of operating on land has given it some popularity with pirates and various raiders of the sector, whom deploy it more frequently than others.
    Weapons: Vulcan Cannon, IR Pulse Laser (High Delay), Light Mortar
    System: Accelerated Ammo Feeder


    Kouto-class Cataphract
    Spoiler
    [close]
    Where the Valken was designed as a more practical solution for pilots whose lifetime could be measured in minutes, the Kouto is the stark opposite. Strong shielding gives it quite a bit of staying power on the field and is ideally deployed as the vanguard of any assaulting force and particularly bombing runs while engaging targets with its Burst Laser Rifle.
    Weapons: Anti Missile Weapon System(AMWS), Blazer Rifle, Micro Missile Pod
    System: Fortress Shield


    Einhänder-class player-bait Cataphract - 7 DP
    Spoiler
    [close]
    Cutting-edge spec-ops unit equipped with an irregular Phase-Coil device. When used, activates the "Phase Dampening Field". Although still vulnerable (Damage is only reduced by 40%) enjoys the effect of 60% time dilation (90% if the pilot has Defensive Systems Lv. 3) , while still being able to attack.
    System: Phase Charge
    Weapons: Juno, Homing Laser, Vulcan Cannon, Anti-Ship Glaive

    Special Features:
    Spoiler
    The Einhander has a special hullmod that gives it several unique attributes:
      -Can fly over obstacles and ships, as well as shoot over friendly ships. Being caught in the explosion of a ship is not fatal. This trait is negated while flamed out.
      -No zero-flux engine bonus.
      - Combat readiness decays 100% faster

    Combined with having the shortest PPT in the (vanilla) game, operational time is very low.
    However, much like fighters, it can return to friendly carriers to replenish CR, reload weapons, and in certain conditions, receive provisional repairs to armor and hull.


    When the Einhander get's within a set distance of carriers that can service it, they will be highlighted green.

    However, if you approach a carrier while your CR is less than the carriers...


    They will be highlighted red, and a notification will flash over the carrier in question.
    Depending on the circumstances, the carrier will either gradually replenish CR until the Einhander's CR level is equal to its own (so long as it remains nearby), dispatch a repair drone(so long as there is no significant enemy presence), or both. During this process, the carriers fighter replacement rate will decrease at 150% the base rate!

    Since the Einhander's only form of 100% damage mitigation is evading attacks (as opposed to phasing through attacks, or defending with shields), returning to carriers to repair and refuel is handy, especially when damage is unavoidable. (Particular in scenarios with many beam-wielding enemies)

    Finally, an Einhander will always deploy to assist in ground operations so long as they are fit to, at the cost of 10% CR.
    [close]



    Known Issues:

    - in very specific instances, some mod weapons have unintended behavior when used vs. or in proximity of einhander
    - Repair drones just pop into existence instead of 'taking off' from carrier it spawns from, and sometimes land in the wrong place



    What's Next:

    - Add one more modular cataphract
    - ???



    Special Thanks:

    -Tartiflette & Flashfrozen
    This mod literally wouldn't ever have been a thing without the existence of DIABLE AVIONICS, which inspired me to dip my feet into the modding the game because I wanted to fly a Strife without being kicked back to a Carrier. Not only that, but the strife's script was crucial in giving the ships here the animations that make them actually seem like giant robots. Also, MagicLib

    -Ed
    The repair and resupply drone that is launched is heavily based off the Maltese and Terrier Repair Drone AI script from Ed's Shipyard (https://fractalsoftworks.com/forum/index.php?topic=16479.0)

    Alex for obvious reasons

    Harmful Mechanic & Eliza Weisman - Einhander's homing laser extra damage script, some trails, and partially inspired by the Brave Blade

    LazyWizard - LazyLib is goat and some of the functionality was useful for a few utility

    Nia Tahl & a bunch of others from Starsector unofficial server's modding corner

    creature - creature's forum post was the template I used for this one . teehee

    Morrokain - Helping me figure out how to reduce fighter replacement rate

    Mesotronik

    Dark.Revenant - Titan Bombardment script was the reference for the Cataphract hullmods Ground Support Ability and campaign integration[/list]
    « Last Edit: July 12, 2020, 01:59:08 AM by shoi »
    Logged

    BigBeans

    • Lieutenant
    • **
    • Posts: 85
      • View Profile
    Re: [0.9.1a] ArmaA Robotics
    « Reply #1 on: June 25, 2020, 06:02:07 AM »

    I like this.
    Logged

    Zygorg

    • Ensign
    • *
    • Posts: 2
      • View Profile
    Re: [0.9.1a] ArmaA Robotics
    « Reply #2 on: June 25, 2020, 06:21:44 AM »

    Daam son, this is awesome!
    Logged

    shoi

    • Commander
    • ***
    • Posts: 120
      • View Profile
      • Email
    Re: [0.9.1a] ArmaA Robotics
    « Reply #3 on: June 25, 2020, 06:36:26 AM »

    Thanks guys, there was a bug with a misplaced gfx file, I reupload the file and should have fixed it.
    Logged

    SukmaZaki

    • Lieutenant
    • **
    • Posts: 91
      • View Profile
    Re: [0.9.1a] ArmaA Robotics
    « Reply #4 on: June 25, 2020, 10:16:24 AM »

    Kazeron really put their limit into the test :D
    Logged

    PyroFuzz

    • Commander
    • ***
    • Posts: 103
    • PyroFuzz? PyroFuzz.
      • View Profile
      • Email
    Re: [0.9.1a] ArmaA Robotics
    « Reply #5 on: June 25, 2020, 03:38:17 PM »

    More robit suits! Yeesss!
    Logged
    PyroFuzz

    MesoTroniK

    • Admiral
    • *****
    • Posts: 1587
    • I am going to destroy your ships
      • View Profile
    Re: [0.9.1a] ArmaA Robotics
    « Reply #6 on: June 25, 2020, 07:33:54 PM »

    Evening Shoi, this is a fun little mod you got here but there is a fairly serious issue with it but I can tell you how to fix it :)

    Your "pilotable mech fighter", is a frigate where you are changing the collision class to FIGHTER via script. This soft breaks a lot of different code in other mods (and vanilla too). Things that look at ship classification, especially various AIs and random other things in general too many to list really. Will think that fighter is a frigate... Which yea will cause issues.

    What I would reccomend doing instead is using this:
    Code
    void setHullSize(HullSize hullSize);
    Then this fighter will actually be a fighter so to speak, one that is still piloted. And various code in vanilla and other mods will treat it as such rather than thinking it is a frigate.
    « Last Edit: June 25, 2020, 07:35:31 PM by MesoTroniK »
    Logged

    shoi

    • Commander
    • ***
    • Posts: 120
      • View Profile
      • Email
    Re: [0.9.1a] ArmaA Robotics
    « Reply #7 on: June 25, 2020, 09:26:17 PM »

    Hey Meso, thanks for the feedback!

    Originally I set the hullsize to fighter like you suggested via script, because I wanted it to be affected by things such as that funky fighter nerf from Kadur Remnant, carrier buffs, etc, and the various other effects like that, but I ran into a bunch of issues doing this:

    - No visible HUD status bar (the one that hovers over ships)

    - AI would often times ignore the ship and prioritize defending against anything bigger instead, even though threat-wise it'd be better flickering shields against the 'fighter'. for AI fighters this isn't an issue since they're pretty dumb, but it felt almost exploity under player control

    - AI controlled versions could not be commanded, appearing only as green blips on the command screen, and only taking action when enemies got close

    - Ships with fighter hullsize crash the game when retreating

    With MagicLib I could have easily addressed the first issue, and just nerfed weapons for the second, but the last two points discouraged me from pursuing that route. Since the fighter hulls disappear from the command screen,changing flagships meant you couldn't swap back to it, otherwise I could have possibly circumvented it with some scripting, and from what I gleaned from alex, the last issue is pretty much unavoidable. So while switching hullsize was what I would have prepared, it doesn't seem possible without bringing about even bigger issues.

    I've done a lot of playtesting, and outside of ship systems that should affect it logically not actually doing so, I haven't had any game-breaking issues besides AI doing weird things with collissions since they still see it as a frigate, and thats mostly on the part of the einhander refusing to pass through ships. I don't know if there's any alternative I could pursue to address those points, though.
    « Last Edit: June 25, 2020, 09:29:09 PM by shoi »
    Logged

    MesoTroniK

    • Admiral
    • *****
    • Posts: 1587
    • I am going to destroy your ships
      • View Profile
    Re: [0.9.1a] ArmaA Robotics
    « Reply #8 on: June 25, 2020, 10:24:47 PM »

    Literally game breaking issues? No, but soft breaks? All over the place. Just in my mods, there are well over ten scripts that look at hull sizes and will react incorrectly to that mech.

    Add in scripts I have helped other mods with that are based on similar code, and that figure will multiply 3 to 5x. Add in other mods that do entirely their own stuff and probably many hundreds of scripts. Never will it straight up break things or crash, but you will get missiles targeting it, or not targeting it when they should not, ship systems activating for it, or not activating for it when they when they should not, certain ship system effects influencing it, or not influencing it when they should not, custom autofire AIs firing at it, or not firing at it when they should not, God knows what else I could list many many things. Even just autofire tags in vanilla like ones like lets say for example strike,use_vs_frigates, and who knows what else. This is fractal madness, and breaking a fundamental assumption both the game itself makes and many mods where a frigate is a frigate and a fighter is a fighter and having one that is so to speak both under the hood will indeed soft break many many things :(

    shoi

    • Commander
    • ***
    • Posts: 120
      • View Profile
      • Email
    Re: [0.9.1a] ArmaA Robotics
    « Reply #9 on: June 25, 2020, 11:32:17 PM »

    Hmm, do you happen to have an example of something that would give that type of behavior, as I haven't seen anything out of the ordinary during playtests.

    The mech is slightly smaller than a kite, and I'd argue that small ships like it and the hound would also break fundamental assumptions, particularly in the usage of strike weapons against it. Not sure how the addition of fighter collision would change that.
    « Last Edit: June 25, 2020, 11:38:26 PM by shoi »
    Logged

    MesoTroniK

    • Admiral
    • *****
    • Posts: 1587
    • I am going to destroy your ships
      • View Profile
    Re: [0.9.1a] ArmaA Robotics
    « Reply #10 on: June 25, 2020, 11:55:50 PM »

    OK can give one really simple and low hanging fruit example off the top of my head that is even easy to test and observe.

    The Apsis LRT Launcher weapon in Tiandong Heavy Industries (and a bunch of other missile AIs...), will not ever target fighters unless no ships are within sensor range as that missile (and others...) have a snowball's chance in Hell of hitting a target that agile and of that size. Well, it will target your mech, and be useless doing so.

    Edit: Might as well list another within the same mod...
    The Muscle LRM Launcher, missile will never target nor MIRV for fighters unless no ships are within sensor range.

    There are others in my mods, some actually of even more severe undesirable results, but they become increasingly esoteric. And that is just my mods...


    Double edit: Blargh, and here it is breaking a weapon with a custom scripted proximity fuze.
    https://youtu.be/3wpERIdZSMo
    « Last Edit: June 26, 2020, 12:26:56 AM by MesoTroniK »
    Logged

    Unnamed_Shadow

    • Lieutenant
    • **
    • Posts: 57
      • View Profile
    Re: [0.9.1a] ArmaA Robotics
    « Reply #11 on: June 26, 2020, 02:34:43 AM »

    Would be really cool if this evolves into a full Faction Mod.

    Creating a rival to Diable Avionics with different objectives, or perhaps and ally for Diable Avionics (considering how many enemies they have on a Nexerelin run)
    Logged

    shoi

    • Commander
    • ***
    • Posts: 120
      • View Profile
      • Email
    Re: [0.9.1a] ArmaA Robotics
    « Reply #12 on: June 26, 2020, 06:19:08 AM »

    OK can give one really simple and low hanging fruit example off the top of my head that is even easy to test and observe.


    Oof, yikes.
    I was going to sleep on this but I couldnt stop thinking about it. I have an idea on how I can swap the hullsize to fighter to prevent that kind of weirdness and address the issues I ran into while doing so, and it's partially working. If I can figure out some logic to detect when it's in the retreat radius, I think I also have a workaround to prevent the crash-on-retreat..so looking into that as well.

    Thanks for showing me this!

    EDIT: Okay, I think I figured out how to fix it. The ship's now fully considered  fighter, except in 2 edge cases:

    1. Command UI is open
    2. Ship is in its retreat radius

    Doing this should prevent a lot of the weirdness with scripted AI without causing any crashes, but i'll need to test it a bit to be certain.

    Would be really cool if this evolves into a full Faction Mod.

    Creating a rival to Diable Avionics with different objectives, or perhaps and ally for Diable Avionics (considering how many enemies they have on a Nexerelin run)

    I can't really comment on anything about DA atm, but if I ever expand the company, it will probably be in a nonstandard setup as oppossed to how other factions operate.
    « Last Edit: June 26, 2020, 11:36:38 AM by shoi »
    Logged

    MesoTroniK

    • Admiral
    • *****
    • Posts: 1587
    • I am going to destroy your ships
      • View Profile
    Re: [0.9.1a] ArmaA Robotics
    « Reply #13 on: June 26, 2020, 06:43:49 PM »

    And thank you for working on the issues Shoi!

    It sounds like you did your best that is possible within the current version of SS, while still retaining your design goals. It still messing up during retreat when past said border is a tiny edge case. While the command UI is open if also not paused, is a fairly common occurrence but little can be done about that.

    What I would recommend you do? Is just say asi es la vida (such is life) for now, with those two edge case problems remaining. And then ask Alex for some stuff to *truly* fix it for the next version of SS.
    - Making it not crash if a frigate that is haxed to be a "fighter" retreats.
    - Some sort of ship hint, or API hook you can call within a script to make it so that it shows the HUD status bar for a "fighter" and also allow a "fighter" to be treated like a ship in the command screen.

    With stuff like that, it would allow something like this to work perfectly all the time instead of most of the time. He would probably do the first point if asked, and hopefully on the second as well! Just make to explain in good detail why you want this along with the requests :)

    Hell, if all that happened? I could see doing myself some pilotable fighters heh. On a final side note? You have a *lot* of redundant files in your mod, ones that could also potentially cause issues. I think you have "Copy dependent libraries" checked (or whatever the equivalents are in IDEs that are not NetBeans). You should turn that off.

    Gezzaman

    • Lieutenant
    • **
    • Posts: 92
      • View Profile
    Re: [0.9.1a] ArmaA Robotics
    « Reply #14 on: July 05, 2020, 01:59:05 AM »

    This looks amazing,  keep it up!
    Logged
    Pages: [1] 2