Fractal Softworks Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

Starsector 0.97a is out! (02/02/24); New blog post: Simulator Enhancements (03/13/24)

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - EnderNerdcore

Pages: [1]
1
StealThisStuff

So I've been working for the past several days on seeing what ship systems and weapons are really capable of in Starfarer (take a look at my fleet-buffing and enemy-fleet debuffing AWACS system in my FreeSpace 2 mod!). I'm not the greatest coder, but I'm able to puzzle my way through things enough to get everything running, so between my own experimentation and helping out some other modders, I've started to get a good feel for what is possible.

So I figured, why not help everyone out?

Thus I present: StealThisStuff - Download Link

This is a mod with a few examples of things I've been experimenting with. It will constantly be expanding as I do more and learn more. The benefit to you all is that I have extensively commented all of my code. So if you're a modder, and you're having trouble getting a ship system to do exactly what you want it to do, or getting the AI to use it correctly, take a look. See if there's something there you can use. All I ask is you thank me somewhere in your mod's thread!

If you're getting started on coding for Starsector, I highly recommend checking out LazyWizard's excellent tutorial on setting up NetBeans. I couldn't have done most of this coding without it!

Note: I am not a good artist. At all. Luckily, medikohl has put a whole bunch of great ship sprites up for anybody to use in this thread: http://fractalsoftworks.com/forum/index.php?topic=1131.0
Go check them out!


The Ships & Systems
These are... sort of balanced. You could probably stick them in your Starsector game if you felt like it. But balance isn't really the point, is it? These are learning tools.


Coyote - High-Tech Experimental Frigate
Ship system: EMP Drone
The Coyote uses the EMP Drone ship system. This is merely a demonstration of that you can put ship systems onto drones, and they will use them (though sometimes it seems unreliably). In this case, since it's a drone, so it doesn't carry the penalty of not being able to fire your ship's weapons, I've reduced the range, damage, and EMP damage.



Barnacle - Assault Missile Destroyer
Ship system: Hull Repair with custom AI
The Barnacle uses the Hull Repair system, complete with a custom AI. The repair system enables quick regeneration of up to 20% of a ship's HP over the course of several seconds, while disabling all other systems. Since your ship is rather vulnerable while using this, I've created a custom AI script that weighs the need to repair with the current danger the ship is in. For example, if the AI's current target is disabled and the ship's hit points are low, it will almost always use the system.
This could be improved by also taking into account the number of enemy ships within some range as well, but I don't currently have that implemented (though it wouldn't be hard).



Torment - Heavy Stealth Assault Destroyer
Ship system: Overloaded Missile Racks with custom AI
Being a phase ship, you'll also find the appropriate glow files in the graphics folder so you can see how those work. (I am a terrible artist, I'm sure you can make it look better). The Torment uses a very simple ship system with a custom AI: Overloaded Missile Racks. All this system does is double the rate of fire of all missile racks for a very short time (2 seconds). The AI though is a bit more complex. It checks on several factors, all of which are explained in comments in the AI file. These factors include: How many of my missile racks are currently reloading? Is my target either vulnerable (venting/overloaded) or at fairly high flux? Do I have enough flux to use the system and still be able to use my phase cloak afterward?



Scythe - Tactical Stealth Carrier
Ship system: Wing Teleporter with custom AI
Another phase ship, this one a capital-size carrier. The ship system is fun: I call it the wing teleporter, and when used, it teleports your fleet's fighter/bomber wing with the least amount of health directly to the carrier. The AI script ensures that the AI doesn't use the system until one of your wings is at below 30% HP. There are plenty of comments through the script files that explain the process.


Pelican - Fleet Support Carrier
Ship system: AWACS with custom AI
A simple support carrier example. The AWACS system applies a buff to all friendly ships within sight range of the Pelican, and a debuff to all enemies within sight range. The AI simply turns the system off if the ship is near max flux to help prevent and overload, but otherwise keeps it running.
Note that this system does have a limitation I haven't figured out how to get around: if a ship is receiving the AWACS buff or debuff and moves out if the sight range of the Pelican, the buff/debuff is not removed (until the Pelican turns the system off).

Sample Mission
There is a sample mission included, based off of a mission in base Starsector. All it does is include each ship in this mod (plus some fighter/bomber wings) so you can check them out.

No campaign integration
As this is just a sample mod meant to teach other modders ship system and AI coding, I have not integrated any part of this with the campaign. If you'd like the ships to show up in the campaign, you'll need to integrate them yourself, but it's pretty easy to find examples in other mods of how to do this.


Changelog
Version 1.1 - January 17th, 2013 - Added Pelican with (lightly modified) AWACS system from my FreeSpace2 mod.
Version 1 - January 16th, 2013 - Initial introduction of the mod. Included Coyote, Barnacle, Torment, and Scythe.

2
I only just started messing about with 0.54 but have noticed something with my mod. I have a wing of fighters that uses phase cloaking, and in .53 this worked fine. However, if I load a station containing the wing or try to mouse-over the wing in a mission panel, the game crashes.

Admittedly I should have posted this last night when I noticed it and attached a crash log, but after a bunch of debugging attempts and all of my other ships and weapons working fine (the only unique thing about this wing is the phase cloaking) it seems that it's just fighters with phase cloaking crashes the game.

I can attach logs tonight, if needed.

3
Seems like this would be a (relatively) simple addition that wouldn't affect stock beam weapons. Enable min-spread and max-spread values for beam weapons. For non-zero values, it picks a value between min- and max-spread with the current aiming target at the center, then sweeps the beam across that field (randomly between clockwise and counter-clockwise).

4
Modding / Making slashing beams... I'm stumped!
« on: August 19, 2012, 09:13:38 PM »
I'm starting to wonder if this isn't possible (yet?) in Starfarer. I'm attempting to make slashing beams for my FS2 mod. For those not familiar, these are beam weapons that aren't aimed--instead, they slash across where you've targeted. The idea is that they are high damage-per-second but because they are difficult to aim it balances them out.

I've tried making beam weapons with variations of values for min-spread, max-spread, etc. Looks like it isn't possible for beam weapons though. Am I missing something, or is this really not possible?

5
Mods / FreeSpace 2 Mod v1.2 Release - Uomoz's Corvus 17 compatible
« on: August 05, 2012, 05:05:12 PM »
I don't have any fancy logo for this or anything, but here is the FreeSpace 2 mod I've been working on for a while. It integrates with the base game, spawning a station filled with ships and equipment at Corvus IV. The GTVA will also spawn fleets and one type of convoy, which will add to the equipment and ships in the station. The GTVA is hostile to the vanilla Pirate faction and neutral to all others.

This mod is also compatible with Uomoz's Corvus 17. The GTVA is neutral to most factions, and hostile to the Pirates, Junk Pirates, and Gendune.

Please note:
I hold NO COPYRIGHT to any of this stuff. FreeSpace2 is essentially abandonware, it's opensource, has an extensive modding community, etc. The original art and sounds are NOT my own.

Download link: http://anbuteam.net/starsector/FS2_1.2.zip (that's my own hosting)

Coming Soon (in order of when it'll get done):
First round of capital ships
GTVA Faction
Shivans Faction
More capital ships (Vasudan)
More fighters/bombers (Vasudan)



Currently it contains the following:

Weapons
A bunch of ship-size weapons. These are mostly balanced. They have ugly placeholder graphics. I'll be adding these eventually. These include the "Big Green Beam", "Small Green Beam", "Terran Turret" "Anti-Fighter Beam", "Flak Cannon" and other iconic weapons.

Loads of fighter weapons. These are balanced for use ONLY on the FreeSpace 2 fighters in this pack and have no turret graphics. Many of these have the original sounds for their weapon type. They do not spawn in stations or convoys and have no fitting requirement.
List: GTM Cyclops, GTM EMP Adv., GTM Harpoon, GTM Hornet, GTM Infyrno, GTM MX-64 Rockeye, GTM Trebuchet, GTW Kayser, GTW Mekhu, GTW Morning Star, GTW Prometheus S, GTW Subach


Fighter Wings
GTF Ares: Heavy Assault Fighter
GTB Artemis: Agile heavy bomber. Anti-cruiser/capital.
GTB Artemis DH: Upgraded version of Artemis, slightly faster & more maneuverable. Anti-cruiser/capital.
GTB Boanerges: Very heavy bomber.  Anti-capital.
GTF Hercules mk I: Assault Fighter
GVF Horus: Interceptor
SF Mara (Terran-spec): Assault Fighter
GTF Pegasus: Stealth Fighter (yes, it uses phase cloaking). Does heavy EMP damage and basic armor/shield damage.
GTF Perseus: Interceptor



Ships
Spoiler
GTC Aeolus - Assault Destroyer. Heavy armament, fairly low armor & HP



GTCv Deimos - Corvette (Cruiser-size). Heavy point-defense with fairly effective but not exceptional anti-destroyer-and-smaller weapons.



GTC Fenris - Decent destroyer with fairly good point defense but weak against other frigates



GTC Leviathan - Good anti-frigate destroyer with decent point defense capability



GTA Charybdis - AWACS ship (Destroyer). Custom ship system with custom AI. Buffs friendly fleet, debuffs enemy fleet. Very fragile, point defense weapons only.


GTS Hygeia - Rearming ship (Frigate). No weapons, no ship system. No hanger space, but has a flight deck. This is essentially a mobile rearming ship for fighter/bomber wings.


GTD Orion - Capital Ship. Heavy broadsides on one side. Relatively unprotected engines with front-facing weapons ineffective against most cruisers and larger.


GTD Hecate - Capital Ship. Very dangerous to most ships, but will have problems with more powerful assault-oriented capital ships like the Onslaught.

[close]


Balancing
Balancing is tough! I've tried my best to ensure that these are balanced against the base fighter/bomber wings in Starfarer. Keep in mind that generally these ships are more powerful than most base Starfarer craft, and they all have shield systems (with the obvious exception of the Pegasus), and their prices and fleet points requirements reflect that.

For the most part, I've balanced the Assault Fighters against the Xyphos and Warthog, while also seeing how they do against Lashers and Buffalo mk2s.

The Interceptors I've balanced around them killing Trident Bombers but not too quickly. Wing vs wing the Interceptors will always win, though it may take a bit and they will take some damage. They will wipe the floor with Wasps and Talons, but can have problems against the heavier fighters.

The Pegasus is balanced around being able to turn the tide of skirmishes in your favor. They won't do much by themselves, but with their EMP missiles they are great at taking out engines and weapons on distracted frigates, destroyers, and even some cruisers.

Bombers are much more difficult to balance, but they are pretty effective in support roles against cruisers and capital ships (and slower destroyers) while they will get shredded by most fighter wings.

As this is my first mod release for Starsector, balancing suggestions are always welcome.

How You Can Help
I'm looking for a spriter/artist to help by creating weapon turret graphics. I'd also like some help making the ship sprites pop a bit--probably by adding subtle outlines or other tricks to make the ships look better in Starsector.

Enjoy!

6
Few things I've realized would be really nice-to-have while doing some weapon modding this week:

1.  MIRV missiles should be able to have "warheads" that are not missiles. By this I mean missile explodes, instead of spraying smaller warheads out, it shoots lasers in random directions, or bullets, or something.

2.  MIRV missiles should have an option of timed-release. Instead of just releasing all sub-munitions on-explosion, they should have a timer, probably triggered by proximity just as MIRV currently are, that releases all the sub-munitions at an even rate during that time.


By the way, #1 almost works right now. The problem is that when you try to do it the game crashes with a null exception--it seems from the logs that the MIRV isn't providing source coordinates to the beams.



...yes, I'm trying to recreate the Fractal Grenade from Tribes: Ascend. AKA the disco-ball.

7
Modding / I made a Freespace 2 Beam cannon (with correct sound)
« on: May 08, 2012, 10:24:16 AM »
In the middle of working on my Freespace 2 fighters & weapons mod I really couldn't resist doing this.

Includes the original beam cannon sound effects. This is basically the big green beam cannon that you remember punching holes through Shivan capital ships.
http://anbuteam.net/fs2_beam_cannon.zip

Unzip it to your /Starfarer/mods/ directory and enjoy (you can only use it in missions for now because it's not seeded into any campaign stuff, but you should be able to add it to your own campaign with a bit of save editing) :)


It's not finely balanced, but I think I gave it enough tradeoffs that it should be an interesting option/alternative to the Tachyon Lance.

8
UPDATE: Fixed. Be very careful with consistent naming, the game won't catch everything at launch!

Hey all. I'm busy implementing some custom weapons for some fighter craft I'm making for fun. One of these weapons is an anti-fighter MIRV-type missile.

Unfortunately, when my fighters fire it, they crash the game. (I'm not sure, but I *think* the game isn't crashing until the missile attempts to split EDIT: confirmed, game does not crash until missile attempts to split). This is the error in the log:
Quote
java.lang.NullPointerException
   at com.fs.starfarer.combat.ai.missile.MirvAI.do.String(Unknown Source)
   at com.fs.starfarer.combat.ai.missile.MirvAI.õÕ0000(Unknown Source)
   at com.fs.starfarer.combat.CombatEngine.advance(Unknown Source)
   at com.fs.starfarer.combat.OOoO.ÕøÒ000(Unknown Source)
   at com.fs.A.super.Ò00000(Unknown Source)
   at com.fs.starfarer.combat.D.o00000(Unknown Source)
   at com.fs.starfarer.StarfarerLauncher$2.run(Unknown Source)
   at java.lang.Thread.run(Thread.java:619)

None of that makes any real sense to me; it seems that perhaps something in the MirvAI is having issues.
So, to help me see if I'm doing anything wrong, here's the weapon (please excuse any balance numbers, I'm just trying to get it to work first!).
Yes, it's very much copied from the Hurricane MIRV--again, I'm trying to get it to work before tweaking it too much.

.WPN:
Code
{
"id":"gtm_infyrno",
"specClass":"projectile",
"type":"MISSILE",
"size":"MEDIUM",
"turretSprite":"graphics/fs2/weapons/freespace2_fighter_hidden_base.png",
"hardpointSprite":"graphics/fs2/weapons/freespace2_fighter_hidden_base.png",
"hardpointOffsets":[23, 0],
"turretOffsets":[17, 0],
"hardpointAngleOffsets":[0],
"turretAngleOffsets":[0],
"barrelMode":"ALTERNATING",
"animationType":"SMOKE",
"interruptibleBurst":false,
"displayArcRadius":300,
"smokeSpec":{"particleSizeMin":20.0,
"particleSizeRange":20.0,
"cloudParticleCount":3,
"cloudDuration":1.0,
"cloudRadius":10.0,
"blowbackParticleCount":3,
"blowbackDuration":2.0,
"blowbackLength":30.0,
"blowbackSpread":10.0,
"particleColor":[100,100,100,200]},
"projectileSpecId":"gtm_infyrno_mirv",
"fireSoundTwo":"missile_light",
}

.PROJ:
Code
{
"id":"gtm_infyrno_mirv",
"specClass":"missile",
"missileType":"MIRV",
"sprite":"graphics/missiles/missile_MIRV.png",
"size":[12,28],
"center":[6,14],
"collisionRadius":16,
"collisionClass":"MISSILE_NO_FF",
"explosionColor":[255,165,0,255],  # purely visual, will get a white additively blended core on top of this color
"explosionRadius":125, # purely visual
"engineSpec":{"turnAcc":300,
 "turnRate":50,
 "acc":50,
 "dec":50},
"engineSlots":[{"id":"ES1",
   "loc":[-14, 0],
   "style":"MISSILE_MIDLINE",
   "width":12.0,
   "length":60.0,
   "angle":180.0}],
"behaviorSpec":{"behavior":"MIRV",
"splitRange":150,
"minTimeToSplit":0.1,
"numShots":6,
"damage":25,
"damageType":FRAGMENTATION,
"hitpoints":15,
"arc":180,
"spreadSpeed":150,
"projectileSpec":"gtm_infyrno_mirv_warhead",
"smokeSpec":{"particleSizeMin":20.0,
"particleSizeRange":20.0,
"cloudParticleCount":11,
"cloudDuration":1.0,
"cloudRadius":20.0,
"blowbackParticleCount":0,
"blowbackDuration":0,
"blowbackLength":0,
"blowbackSpread":0,
"particleColor":[175,100,50,200]}
}    
}

.PROJ:
Code
{
"id":"infyrno_mirv_warhead",
"specClass":"missile",
"missileType":"MISSILE",
"sprite":"graphics/missiles/missile_MIRV_warhead.png",
"size":[7,16],
"center":[3.5,8],
"collisionRadius":12,
"collisionClass":"MISSILE_NO_FF",
"explosionColor":[255,165,0,255],  # purely visual, will get a white additively blended core on top of this color
"explosionRadius":75, # purely visual
"maxFlightTime":1,
"engineSpec":{"turnAcc":280,
 "turnRate":0,
 "maxSpeed":100,
 "acc":200,
 "dec":0},
"engineSlots":[{"id":"ES1",
"loc":[-7, 0],
   "style":"MISSILE_MIDLINE",
   "width":4.0,
   "length":20.0,
   "angle":180.0}]
}

weapon_data.csv :
Code
name,id,tier,base value,range,damage/second,damage/shot,emp,impact,turn rate,OPs,ammo,ammo/sec,type,energy/shot,energy/second,chargeup,chargedown,burst size,burst delay,min spread,max spread,spread/shot,spread decay/sec,beam speed,proj speed,launch speed,flight time,proj hitpoints,hints,number

GTM Infyrno,gtm_infyrno,1,0,600,,350,,75,10,0,6,,FRAGMENTATION,0,,0,3,1,,0,0,0,0,,250,100,3,200,ANTI_FTR,5003

9
I'm not sure if this is a new bug or not, but while trying out modding I've discovered that missile racks are not respecting the "HIDDEN" value like energy weapons do. So, on the fighters I've created they've got big ol' missile racks on the defined hardpoints, and it looks pretty silly. I've only tried small missile racks so far (sabot and harpoon), so I'm not sure if it's size-specific or a general missile thing.

10
Suggestions / Spit-balling ideas for MP implementation post-release
« on: March 07, 2012, 01:36:58 PM »
Yes, I know, I know, multiplayer isn't planned for Starfarer, or at least certainly not for 1.0.

But let's talk about ways that, once Starfarer hits 1.0 and assuming it's a financially successful release for Fractal Softworks, it could be implemented.

Two big design issues stand out as problems for implementation in the game's current form: battles are auto-paused when opening the map (to give orders), and battles are disconnected time-wise from the world-map.

However if we take examples fro,m other games (holding some similarities to Starfarer) there are good solutions for both of these.

Obviously in a multiplayer battle, we can't have the battle pausing every time someone opens up the map. So instead, it'll have to stay playing the whole time. Initial orders though, there could be a 30s-1m "setup" period where all of the players have a chance to issue orders to their fleets.

In terms of how battles are shown (and handled) on the world map, we can take a page out of the (not-so-great) MMO, Pirates of the Burning Sea. To deal with the same issue, what happens is that when two fleets run into each other they create a "battle" icon on the overworld map that remains there until the battle is resolved. The world keeps moving around them, and for the first (brief) time period, others can enter the battle as well. After that, it's closed until the battle is resolved, and ships/fleets exiting the battle have a brief period of invisibility to get away safe from "vultures" surrounding it.


So why would multiplayer be so awesome? Think private servers with your friends, Minecraft-style. How awesome would that be?

11
General Discussion / Starfarer development roadmap?
« on: March 07, 2012, 01:24:34 PM »
Apologies if this actually exists and I'm blind, but I've looked around and not seen it.

Is there a development roadmap for Starfarer? Not necessarily a schedule, but more of a "these are the big features that we're planning to put in by the time we hit 1.0, and here's the speculated order of implementation"? I'm really enjoying what's in the game so far, and I'd love to see what's coming up in the next few months. This would also help people focus their suggestions and even what mods they create: obviously suggestions for things already planned aren't needed, and mods for things that are coming are duplication of effort.

Pages: [1]