Fractal Softworks Forum

Please login or register.

Login with username, password and session length
Pages: 1 ... 32 33 [34] 35 36 ... 107

Author Topic: [0.95a] Shadowyards Reconstruction Authority 0.9.5-rc4(4/12/21)  (Read 1121572 times)

MShadowy

  • Admiral
  • *****
  • Posts: 911
    • View Profile
Re: (0.6.1a) Shadowyards Heavy Industries v0.4.3
« Reply #495 on: November 12, 2013, 12:25:52 PM »

Well, in case anyone's interested, here's how things are going:

I'm a bit short on ideas, visually at least, for SHI.  I have a few ships that I want to make but am having trouble realizing a good visual language for SHI Industrials -- the current curvilinear form works well for the military and mixed military/civilian roles but not so well for ships that are supposed to do something other than fight.  And a few of the things I want to do I have no idea how to make work or (in the case of some of the things currently in game) make work correctly.

This is complicated by the fact that I'm in the middle of a seasonal depression (the onset of winter always seems to sap my creative urges and leave me feeling a bit worthless and blah) and so I've been rather more aggressively sabotaging myself than is usual.  No, seriously.  I'm pretty much constantly undermining my own efforts to do things, and this gets significantly worse during the winter.  Technically speaking, modding Starsector is me sabotaging my efforts to monetize my art (specifically the prerequisite that I have finished art to monetize), and I'm currently sabotaging my efforts to mod Starsector, so that should give you some idea how bad an issue this is for me.

So in short, until/unless I can pull myself away from the trivial distractions with which I am sabotaging myself it'll be a while before SHI starts getting some more love applied to it.
Logged

Sabaton

  • Admiral
  • *****
  • Posts: 523
    • View Profile
Re: (0.6.1a) Shadowyards Heavy Industries v0.4.3
« Reply #496 on: November 12, 2013, 01:13:53 PM »

 Was wandering about the silence.
 I know how that feels, you can be your own worst enemy sometimes, nothing good comes when you can't put order in your mind.
 But you have all the time in the world, find your peace and the rest will come on its own. :)
Logged

NanoMatter

  • Ensign
  • *
  • Posts: 41
    • View Profile
Re: (0.6.1a) Shadowyards Heavy Industries v0.4.3
« Reply #497 on: November 12, 2013, 03:00:38 PM »

Its like buring tons of space trees. Fun tho.  :D
Logged

Trylobot

  • Global Moderator
  • Admiral
  • *****
  • Posts: 1170
    • View Profile
    • Github profile
Re: (0.6.1a) Shadowyards Heavy Industries v0.4.3
« Reply #498 on: November 12, 2013, 03:46:33 PM »

MShadowy: I know of a kindred soul who may be able to brighten your seasonal downtime a bit, here you go:
http://hyperboleandahalf.blogspot.com/

Just in case you'd never read her blog before. Especially, I'm talking about this series of posts:
http://hyperboleandahalf.blogspot.com/2011/10/adventures-in-depression.html
http://hyperboleandahalf.blogspot.com/2013/05/depression-part-two.html

Notice the date difference there.
Logged

Cycerin

  • Admiral
  • *****
  • Posts: 1665
  • beyond the infinite void
    • View Profile
Re: (0.6.1a) Shadowyards Heavy Industries v0.4.3
« Reply #499 on: November 12, 2013, 04:21:47 PM »

The best way to break circular thinking in my experience is regular exercise (the absolute best thing you can do for your mood and health in the entire world, period) and a sense of freedom when it comes to creativity. Ergo, being able to work when inspiration strikes and not feeling forced to when it isn't there.

If you have this feeling like you wanna work on the mod but dont want to grapple "big stuff" just do something fun instead, like making new variants, adding a new frigate, make a new weapon, whatever... I must admit my mod lacks a few features that should have been in long ago, because I let myself follow the next thing that strikes me, over and over, but we do this for fun. It's not a job. As soon as you stop having fun, just do something else!
Logged

MShadowy

  • Admiral
  • *****
  • Posts: 911
    • View Profile
Re: (0.6.1a) Shadowyards Heavy Industries v0.4.3
« Reply #500 on: November 12, 2013, 06:06:12 PM »

MShadowy: I know of a kindred soul who may be able to brighten your seasonal downtime a bit, here you go:
http://hyperboleandahalf.blogspot.com/

Just in case you'd never read her blog before. Especially, I'm talking about this series of posts:
http://hyperboleandahalf.blogspot.com/2011/10/adventures-in-depression.html
http://hyperboleandahalf.blogspot.com/2013/05/depression-part-two.html

Notice the date difference there.

Jeez.  I guess I should consider myself lucky that I tend to suffer only fairly mild seasonal issues.  At least I tend to break out of depressive episodes (eventually) when I get around to acknowledging (as opposed to denying) that I'm having an issue.
« Last Edit: November 12, 2013, 06:12:34 PM by MShadowy »
Logged

zakastra

  • Commander
  • ***
  • Posts: 216
    • View Profile
Re: (0.6.1a) Shadowyards Heavy Industries v0.4.3
« Reply #501 on: November 13, 2013, 04:58:42 AM »

I hear it said that every artist is their own worst critic, and I have little doubt its true, but I can say with confidence that the quality of work you put out is simply superb and I hope you find your own confidence again soon.
Logged
Oh DRM, bane of the carrier captain...

senor

  • Lieutenant
  • **
  • Posts: 50
    • View Profile
Re: (0.6.1a) Shadowyards Heavy Industries v0.4.3
« Reply #502 on: November 13, 2013, 05:48:27 AM »

Mshadowy, your mod is awesome and you are awesome... fantastic work.  great ship, weapon, and faction design.  :D
Logged

Wyvern

  • Admiral
  • *****
  • Posts: 3803
    • View Profile
Re: (0.6.1a) Shadowyards Heavy Industries v0.4.3
« Reply #503 on: November 16, 2013, 04:57:48 PM »

So, ages ago, I promised you a better AI for the Tartarus' siege mode system.  Here's revision one - it focuses on the system's defensive benefits; I'm working on adding in some code to make it take advantage of the range boosts, but that part isn't ready yet - and this version is quite good at dealing with salamander missiles and frigates trying to flank it.

Code
package data.shipsystems.scripts.ai;

import com.fs.starfarer.api.combat.CombatEngineAPI;
import com.fs.starfarer.api.combat.CombatEntityAPI;
import com.fs.starfarer.api.combat.ShipAPI;
import com.fs.starfarer.api.combat.ShipSystemAIScript;
import com.fs.starfarer.api.combat.ShipSystemAPI;
import com.fs.starfarer.api.combat.ShipwideAIFlags;
import java.util.Iterator;
import org.lwjgl.util.vector.Vector2f;
import org.lazywizard.lazylib.combat.*;
import org.lazywizard.lazylib.MathUtils;

public class ms_siegemodeAI implements ShipSystemAIScript {
  private ShipSystemAPI system;
  private ShipAPI ship;
  private ShipwideAIFlags flags;
  
  @Override
  public void init( ShipAPI ship, ShipSystemAPI system, ShipwideAIFlags flags, CombatEngineAPI engine ) {
    this.ship = ship;
    this.system = system;
    this.flags = flags;
  }
  
  @Override
  public void advance( float amount, Vector2f missileDangerDir, Vector2f collisionDangerDir, ShipAPI target ) {
    float shieldArc = ship.getShield().getActiveArc();
    boolean shieldExtensionNeeded = false;
    if( ship.getShield().getActiveArc() > 265f ) { // if shields haven't unfolded enough, then siege mode can't help.
      float facing = ship.getFacing();
      if( missileDangerDir != null ) { // if there are missiles around
        Iterator iter = AIUtils.getNearbyEnemyMissiles( ship, 800f ).iterator();
        while( iter.hasNext() ) {
          CombatEntityAPI e = (CombatEntityAPI)iter.next();
          float relativeFacing = MathUtils.clampAngle( MathUtils.getFacing( MathUtils.getDirectionalVector( ship, e ) ) - facing );
          if( relativeFacing < 240 && relativeFacing > 120 ) {
            shieldExtensionNeeded = true;
            break;
          }
        }
      }
      if( !shieldExtensionNeeded ) {
        Iterator iter = AIUtils.getNearbyEnemies( ship, 1600f ).iterator();
        while( iter.hasNext() ) {
          ShipAPI e = (ShipAPI)iter.next();
          if( ( e.getFluxTracker().isOverloaded() && e.getFluxTracker().getOverloadTimeRemaining() > 1.8f ) ||
              ( e.getFluxTracker().isVenting() && e.getFluxTracker().getTimeToVent() > 1.8f ) ) {
            continue; // skip this ship, it's not a threat.
          }
          float relativeFacing = MathUtils.clampAngle( MathUtils.getFacing( MathUtils.getDirectionalVector( ship, e ) ) - facing );
          if( relativeFacing < 240 && relativeFacing > 120 ) {
            shieldExtensionNeeded = true;
            break;
          }
        }
      }
    }
    if( shieldExtensionNeeded || flags.hasFlag( ShipwideAIFlags.AIFlags.TURN_QUICKLY ) ) {
      activateSystem();
    } else {
      deactivateSystem();
    }
  }

  private void deactivateSystem() {
    if( system.isOn() ) {
      ship.useSystem();
    }
  }
  private void activateSystem() {
    if( !system.isOn() ) {
      ship.useSystem();
    }
  }
}
« Last Edit: November 16, 2013, 05:00:53 PM by Wyvern »
Logged
Wyvern is 100% correct about the math.

MShadowy

  • Admiral
  • *****
  • Posts: 911
    • View Profile
Re: (0.6.1a) Shadowyards Heavy Industries v0.4.3
« Reply #504 on: November 17, 2013, 08:16:12 PM »

Ah, excellent.  Thanks.  I'll be sure to have it in for the next revision, when I get around to that, hopefully some time soon.
Logged

Wyvern

  • Admiral
  • *****
  • Posts: 3803
    • View Profile
Re: (0.6.1a) Shadowyards Heavy Industries v0.4.3
« Reply #505 on: November 30, 2013, 09:02:22 AM »

Tartarus AI revision two - still purely defensive, but now works properly with an omni shield emitter.  Well, the ship system AI works properly; I'm not sure the base ship AI quite knows what to do with 360 Omni shields.  Hint: If you do install an omni shield emitter on a Tartarus, you probably also want to install Accelerated Shields.  It makes quite a difference if the ship is getting swarmed.

Code
package data.shipsystems.scripts.ai;

import com.fs.starfarer.api.combat.CombatEngineAPI;
import com.fs.starfarer.api.combat.CombatEntityAPI;
import com.fs.starfarer.api.combat.ShipAPI;
import com.fs.starfarer.api.combat.ShieldAPI;
import com.fs.starfarer.api.combat.ShipSystemAIScript;
import com.fs.starfarer.api.combat.ShipSystemAPI;
import com.fs.starfarer.api.combat.ShipwideAIFlags;
import java.util.Iterator;
import org.lwjgl.util.vector.Vector2f;
import org.lazywizard.lazylib.combat.*;
import org.lazywizard.lazylib.MathUtils;

public class ms_siegemodeAI implements ShipSystemAIScript {
  private ShipSystemAPI system;
  private ShipAPI ship;
  private ShipwideAIFlags flags;
  private float siegeModeTrigger;
  private float siegeModeTriggerMin;
  private float siegeModeTriggerMax;
  
  @Override
  public void init( ShipAPI ship, ShipSystemAPI system, ShipwideAIFlags flags, CombatEngineAPI engine ) {
    this.ship = ship;
    this.system = system;
    this.flags = flags;
    // technically it'd make sense to have these vary with "do I have extended shields?" as well, but careful testing indicates that I think this is good enough.
    if( ship.getShield().getType() == ShieldAPI.ShieldType.FRONT ) {
      siegeModeTrigger = 265f;
      siegeModeTriggerMin = 120f;
      siegeModeTriggerMax = 240f;
    } else if( ship.getShield().getType() == ShieldAPI.ShieldType.OMNI ) {
      siegeModeTrigger = 60f;
      siegeModeTriggerMin = 30f;
      siegeModeTriggerMax = 330f;
    } else { // no shield or phase cloak - this should not happen.
      siegeModeTrigger = 999f;
      siegeModeTriggerMin = 999f;
      siegeModeTriggerMax = 0f;
    }
  }
  
  @Override
  public void advance( float amount, Vector2f missileDangerDir, Vector2f collisionDangerDir, ShipAPI target ) {
    float shieldArc = ship.getShield().getActiveArc();
    boolean shieldExtensionNeeded = false;
    if( ship.getShield().getActiveArc() > siegeModeTrigger ) { // if shields haven't unfolded enough, then siege mode can't help.
      float facing = ship.getShield().getFacing(); // note that this is absolute facing, and thus works just fine with both front & omni shields
      if( missileDangerDir != null ) { // if there are missiles around
        Iterator iter = AIUtils.getNearbyEnemyMissiles( ship, 800f ).iterator();
        while( iter.hasNext() ) {
          CombatEntityAPI e = (CombatEntityAPI)iter.next();
          float relativeFacing = MathUtils.clampAngle( MathUtils.getFacing( MathUtils.getDirectionalVector( ship, e ) ) - facing );
          if( relativeFacing < siegeModeTriggerMax && relativeFacing > siegeModeTriggerMin ) {
            shieldExtensionNeeded = true;
            break;
          }
        }
      }
      if( !shieldExtensionNeeded ) {
        Iterator iter = AIUtils.getNearbyEnemies( ship, 1600f ).iterator();
        while( iter.hasNext() ) {
          ShipAPI e = (ShipAPI)iter.next();
          if( ( e.getFluxTracker().isOverloaded() && e.getFluxTracker().getOverloadTimeRemaining() > 1.8f ) ||
              ( e.getFluxTracker().isVenting() && e.getFluxTracker().getTimeToVent() > 1.8f ) ) {
            continue; // skip this ship, it's not a threat.
          }
          float relativeFacing = MathUtils.clampAngle( MathUtils.getFacing( MathUtils.getDirectionalVector( ship, e ) ) - facing );
          if( relativeFacing < siegeModeTriggerMax && relativeFacing > siegeModeTriggerMin ) {
            shieldExtensionNeeded = true;
            break;
          }
        }
      }
    }
    if( shieldExtensionNeeded || flags.hasFlag( ShipwideAIFlags.AIFlags.TURN_QUICKLY ) ) {
      activateSystem();
    } else {
      deactivateSystem();
    }
  }

  private void deactivateSystem() {
    if( system.isOn() ) {
      ship.useSystem();
    }
  }
  private void activateSystem() {
    if( !system.isOn() ) {
      ship.useSystem();
    }
  }
}
« Last Edit: November 30, 2013, 09:03:56 AM by Wyvern »
Logged
Wyvern is 100% correct about the math.

Sabaton

  • Admiral
  • *****
  • Posts: 523
    • View Profile
Re: (0.6.1a) Shadowyards Heavy Industries v0.4.3
« Reply #506 on: December 21, 2013, 03:38:52 AM »

 Just jumping in to ask how's it going. 
Logged

MShadowy

  • Admiral
  • *****
  • Posts: 911
    • View Profile
Re: (0.6.1a) Shadowyards Heavy Industries v0.4.3
« Reply #507 on: December 22, 2013, 08:44:03 PM »

Weeeelllllll... currently I'm busy with some other creative stuff and am getting back up to speed with some general illustration projects, some sketches and what not.  Unfortunately though, I'm just a bit burned out on SHI and not really sure what to do with them at the moment as most of my recent ideas for them seem to have stonewalled fairly decisively.  It's a bit discouraging.

Hopefully that'll pass before too long, since I really like the faction overall and enjoy working on them.
Logged

HELMUT

  • Admiral
  • *****
  • Posts: 1363
    • View Profile
Re: (0.6.1a) Shadowyards Heavy Industries v0.4.3
« Reply #508 on: December 23, 2013, 12:03:34 AM »

Well, SHI already have a sizable amount of ships for their faction, which is pretty big deal for a supposedly "small" corporation. Still would like to see the Tresher though...

How about you try another faction maybe?
Logged

MShadowy

  • Admiral
  • *****
  • Posts: 911
    • View Profile
Re: (0.6.1a) Shadowyards Heavy Industries v0.4.3
« Reply #509 on: January 07, 2014, 09:00:08 AM »

Well, it's definitely something to think about.  To be honest, it's not so much the variety of classes as it is that every major (combat) role has been filled.  By the Cruisers, which was not really my intention when I started out--if Blackrocks strength are their Frigates then I'd intended Shadowyards to be their Destroyers.

In order to fix things I'd probably have to jostle things around at least a little; the Elysium would be a good place to start as it basically doesn't function at all like it's supposed to and I could probably make it more a utility ship without much issue from the players.  But I'm afraid that I would likely need to actually remove or re-purpose quite a bit more than just that in order to resolve these issues.  If I approach this again I'll probably try to consider each ships utility a bit more; SHI probably shouldn't be too weak tactically but their edge really should be more in strategic and logistics assets.

As for the Thresher, it's not really an SHI design, but rather a design originating from pirates and mercenaries derived from stolen SHI parts.  It actually sort of was, alongside the Potnia-bis, the start of an attempt at doing a different faction (one that I actually still kinda wanna do), but taking a more distinctly novel approach is probably a good idea.
Logged
Pages: 1 ... 32 33 [34] 35 36 ... 107