Fractal Softworks Forum

Please login or register.

Login with username, password and session length
Advanced search  


Starsector 0.96a is out! (05/05/23); Blog post: Colony Crises (11/24/23)

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 - kazi

Pages: [1] 2 3
Suggestions / Some user-interface tweaks / difficulty tuning suggestions
« on: December 03, 2018, 05:49:31 PM »
Playing through 0.9 again after a bit of a break... some UI/UX things I've noticed along with some difficulty tuning:

User interface fixes

  • Officer level up should be doable from character screen. (You're usually leveling them up at the same time as the player character, makes no sense to level them up separately from the fleet menu.)
  • Have a script to create a Linux ".desktop" launcher in ~/.local/share/applications. This is the standard way to launch desktop applications and games on Linux, and will make Starsector show up along with other games installed from places like GOG.
  • Viewing the buy/sell ships screen is strangely one of the more CPU punishing parts of the game when playing on a laptop. See if this can't be optimized.
  • I have no idea what consumes transplutonics, volatiles, or lobster (or how to produce drugs and organs). Make a commodities screen in the intel tab which explains what consumes what as well as view current commodity sales info.
  • Maybe move the codex to the intel screen as well. It makes more sense to integrate it more into gameplay since it doesn't see much traffic in the current "pause" menu.
  • Burn level isn't anywhere to be seen on the fleet or refit screen. If you are refitting the ship, you need to know how that stat is changing as you add/subtract hull mods. Additionally, there is no way to find what is your slowest ship at a glance.
  • When selecting hull mods, the "Go back" button is in a really unintuitive place on the side. Most players will look to the upper-right corner to close the menu since that is where the close buttons for other screens is.
  • Markets change which ships are on sale maybe a little too often. Sometimes I want to complete an extra cargo run to make enough money to buy a ship, but when I come back, the ship I wanted is gone :(
  • The dockside bar is wayyyyy more interesting than the comm directory and serves the same purpose. Most of the comms directory entries don't do anything (portmaster, quartermaster, etc.). Get rid of the comms directory and integrate it into the bar.

Difficulty tuning

  • Get rid of the Galatian Stipend unless the player is on "Easy" difficulty. Makes things way too easy.
  • Colonies are a little too easy to "cheese" and build tons of structures at. I think the number of structures a colony can support should be limited by market size. It doesn't make sense for a tiny, size 3 colony to have every possible structure and upgrade. (Perhaps the maximum number of structures should be limited to the current size?)
  • Financial rewards are consistently too high for bounties and "dockside bar" stuff (rewards seem to be a consistent ~30k regardless of quantity of goods). Maybe cut rewards in half to slow player progression a bit.
  • There is no way to escape an engagement when a player has a cruiser or capital, why? You can't even fight a disengagement battle which is super punishing, especially if you're unlucky enough to run into a death-stack of like 80 pirate ships in multiple fleets. Iron mode isn't quite fun yet with some of the BS deaths you get sometimes this way (are the neighboring fleets far enough? or are they just too close to join the battle and gank you with no possibility of escape?  :'().
  • Orbital stations should not be allowed to participate in a battle unless they are directly attacked. Combined with the above bug, it's like a guaranteed player death if they get engaged by a fleet of any size if near a big station. There's no way to retreat or otherwise disengage unless you somehow kill the station, which is unlikely to happen unless the player is an absolute beast (esp. for core worlds). It's not like stations can move, after all...
  • If you join a battle with one of your colonies' orbital stations, it counts against your deployment limit (when battle size is limited). Get rid of this, a station is supposed to be a massive advantage, not handicap you by preventing you from deploying half your fleet.
  • A lot of long-time players enjoy this being sort of the "dark souls" of space games. A difficulty option for reduced rewards across-the-board would be welcome.
  • You can game the system a bit with the battle-size slider. You have the advantage? Increase it to maximum to ensure the steamroll. You're outnumbered? Decrease the slider so that you can deploy your entire fleet, but they have to come at you piecemeal.

Content tweaks

  • Please make a pirate start where you are neutral with pirates or the luddic path and hostile to several major factions. This would be a fun turnabout on things.
  • More "story" missions and scripted interactions for the player while exploring or at dockside bars. These are really fun and add a lot of "life" to the game.
  • The spaceport upgrade isn't very interesting gameplay wise. It's absolutely required for any player colony, and doesn't serve a purpose beyond making the upgrade to megaport available. Either build it automatically on colonizing a planet (and deduct the appropriate $), or figure out a more measured approach to it. (Perhaps increase base colony accessibility, and decrease the starport accessibility bonus so that it's a nice-to-have, but not a hard requirement.)
  • A small set of story missions (that the player doesn't have to follow) could be used to further explain mechanics, like founding a colony or performing surveys.
  • More behavioral changes to differentiate the factions a bit. They all feel very samey-samey aside from the pirates, luddic path, independents, and maaaaybe the Tri-Tacyhons (with their "free ports" everywhere). Maybe have the Hegemony shake you down for bribes when doing anything (ah, corruption) and have the Diktat start impressing the crewmen in your merchant fleets. Enemy factions should make you "choose a side" if they know you're dealing with the enemy.

Bug Reports & Support / Needs to ship with 64-bit Java
« on: April 22, 2017, 06:30:31 PM »
I get this error on start on a fresh install (no mods) in both Windows 10 and Ubuntu 17.04.

27223 [Thread-4] ERROR com.fs.starfarer.combat.CombatMain  - java.lang.OutOfMemoryError
        at sun.misc.Unsafe.allocateMemory(Native Method)
        at java.nio.DirectByteBuffer.<init>(Unknown Source)
        at java.nio.ByteBuffer.allocateDirect(Unknown Source)
        at org.lwjgl.BufferUtils.createByteBuffer(
        at com.fs.starfarer.util.o0OO.?00000(Unknown Source)
        at com.fs.starfarer.loading.ResourceLoaderState.init(Unknown Source)
        at com.fs.state.AppDriver.begin(Unknown Source)
        at com.fs.starfarer.combat.CombatMain.main(Unknown Source)
        at com.fs.starfarer.StarfarerLauncher$ Source)
        at Source)

I think it's time to stop shipping/supporting 32-bit Java.

General Discussion / I'm bored.
« on: March 18, 2017, 10:00:30 AM »
Release that update Alex. Or write a blog post. Either is acceptable  ;)

Discussions / EVERSPACE
« on: February 13, 2017, 09:00:31 PM »
This is a public service announcement:

It's absolutely *** fantastic (and it's still in beta).

It's pretty much FTL + Elite: Dangerous + Freelancer (but with better controls). Super-responsive controls, gorgeous graphics, and the game is absolutely punishing, difficulty-wise. Highly recommend if you're looking for a game to play right now. Also probably the only instance of my life where the game is cooler than the trailer. Anyone else played this yet?

Discussions / Make America Great Britain again!
« on: November 09, 2016, 03:18:37 PM »

In all seriousness though, a little horrified at my home country right now (full disclosure: I'm an American who's been living in Canada for the last decade, voted for Hillary). I don't think most Trump voters realize the damage that just got done for the sake of "sticking it to the man".

All of that said, I don't think Trump will end up being the literal end of the world like most people make him out to be (based on cabinet picks, Trump seems to be pretty "Republican establishment"). All of the climate change-denial is worrying, but damage there should be mitigated a bit by binding agreements already in place and senate filibusters (the market also has been aggressively adopting clean energy on its own lately, which is a positive sign). And if there's any silver lining to all of this, it's that the Democratic party is going to get razed to the ground and will get some actual reform for once (we all know the Dem candidate should have been Bernie...).

Anyhow, thoughts? Never thought I'd be looking back wistfully on the Bush administration, of all things...  :-X

* edited to be slightly less inflammatory - I'm not trying to burn Trump voters here, just start a discussion <3

Suggestions / Music API feedback after updating things for 0.7.1a
« on: December 11, 2015, 07:27:16 PM »
Finally made an update after an incredibly long time without, here's some feedback on how things work in terms of the music APIs.

-playMusic() seems to override EVERYTHING, even when it shouldn't. Once you've called SoundPlayerAPI.playMusic(), it doesn't stop until the song is done. This is problematic, as a song played in missions bleeds across into the title screen, songs from the title screen bleed into missions, etc.. Ideally playing a song with playMusic() should stop once the vanilla game would normally play a song (such as a screen transition, etc.). The current implementation requires hacks like this so that tracks don't bleed over into screens they shouldn't.

-We need a way to programmatically add music tracks to a music category. Right now if one modder adds an entry for "music_campaign" in sounds.json, it will override another modder's "music_campaign" entry. In an ideal world, there should be a solution to merge each of these entries, so that players get twice the music. Although there's only really 3 people writing music for the game right now (Cycerin, Psiyon, me), it'd be nice if players weren't forced to choose one over the others by default (variety is nice!).

-Music should not be filtered using a lowpass filter when adding terrain sfx in the campaign layer. For all tracks besides the vanilla campaign music track, this sounds really weird when traversing the edge of a nebula or other terrain feature. I don't think of myself as very good at music mixing, etc., but it sounds much better when decreasing the volume with "campaignMusicVolumeMult" instead of "campaignMusicFilterGainHF" in settings.json.

I'm trying to spawn a bounty using the following code:

Code: Java
bounty = sector.getEventManager().primeEvent(new CampaignEventTarget(market), Events.SYSTEM_BOUNTY, null);

It works, but the bounty literally never ends, and goes on for the length of the game. Which leads me to believe that there is a "correct" way to spawn a bounty programmatically and that this is not it. How do I get the bounties to automatically disappear once they're done.

This code ends the bounty (stops payout and rep gains), but leaves the bounty notification up permanently in the Intel map - so it looks like the bounty is present when in fact it no longer is going on. To make matters worse, bounties never spawn on that market again.

What's the proper way to spawn bounties?

Modding / Dev-mode + Ctrl-Left Click
« on: December 07, 2015, 11:41:54 PM »
^Just discovered this by accident.

Let's you take over any ship you Ctrl-Left click on. Including fighters. Have fun  ;)

Modding / How do I run a script every frame on the main menu?
« on: December 06, 2015, 07:27:04 PM »
^see title

Bug Reports & Support / luddic portrait not selectable
« on: December 05, 2015, 05:39:21 PM »
Not even sure if this is a bug, but the player can't pick "portrait_luddic00.png" as a portrait. I'm assuming that this just got left out of the player.faction file?

Modding Resources / [Tutorial] How to use IntelliJ IDEA as a Starsector IDE
« on: December 01, 2015, 12:11:03 AM »
So I know most of the forum have been indoctrinated into the unholy cult of NetBeans, but IntelliJ IDEA is pretty great and has several features that make modding Starsector a breeze (more so than NetBeans). It's also prettier.

If you suck at coding, you will still continue to suck. However, I can guarantee that following this tutorial will make you suck harder, faster, and more creatively than ever before!

By the end of this tutorial, you will have:

+ Configured IntelliJ for editing and compiling your mod's code into a JAR.
+ Setup and learned how to access the Starsector/LazyLib/ShaderLib Javadocs from within IntelliJ while coding.
+ Created a one-click build+run configuration for your mod + Starsector.
+ Setup some miscellaneous IntelliJ settings that I find helpful.
+ Learned a few other IntelliJ tricks.
+ Uninstalled NetBeans.

NOTE: this tutorial is aimed at IntelliJ IDEA versions 14+. Earlier versions are weird.


Download and setup IntelliJ:

+ Download the Java 1.7 SE JDK for your OS (if you don't have it already). Unzip it and store it anywhere.
+ Get IntelliJ IDEA from here (the Community Edition is great).
+ Open IntelliJ IDEA


Import your mod:

+ File -> New project from existing sources
+ Select your mod's root folder
+ Create project from existing sources
+ Hit next a couple times, I think the rest of the config settings should be ok. Make sure it makes a module out of your project's src/ directory (or wherever your code lives).

But wait, I don't want to import a mod, I want to start my own from scratch!

Download the source code for an existing mod and follow this tutorial with that mod. Doing this will let you learn the ins and outs of the IDE a bit before you start, and will ensure that you know how to compile a mod correctly. That way, if something doesn't work, you'll know it's your code and not the way you are setting up your project. I will recommend my mod ( as an example for this tutorial. I'm making this recommendation not because I'm trying to promote my mod, but because I know it is guaranteed to work with this tutorial. It also functions as an example for most everything you'd want to do, including custom planets/portraits/ships/AI/music/weapons/plugins/sector generation/skills/hullmods/ship systems/etc..

Once you've finished this tutorial with an example mod from the forums, use an existing mod from the forums to create your mod. Take this existing mod and delete everything but the mod_info.json and files and start from there.

To configure your project:

+ File -> Project Structure

+ Add JDK 1.7 to your project:
   + Platform Settings -> SDKs
   + Hit the "+", select the path to the JDK that you downloaded
   + Project Settings -> Project
   + Project SDK is 1.7
   + Project language level is 7.

+ Add dependencies to your project:
   + Make sure you have LazyLib and ShaderLib downloaded and in your mods folder if your project uses them.
   + Project Settings -> Libraries
   + To add Starsector as a dependency:
      + Hit the "+" sign at the top, select Java
      + Select all of the JARs in Starsector's root directory (as well as, hit OK
      + Name the dependency "starsector core" (or whatever you want)
      + Hit the "+" with a little globe on it to add a Javadoc
      + Enter "", hit OK
   + To add LazyLib as a dependency:
      + Hit the "+" at the top, select Java
      + Add LazyLib.jar and, hit OK
   + To add ShaderLib as a dependency:
      + Hit the "+" at the top, select Java
      + Add Shaders.jar
      + Add the javadoc/ folder

+ Configure your compiler output:
   + Project Settings -> Artifacts
   + Hit the "+" at the top, select JAR -> From modules with dependencies
   + Select module that was created on project import
   + Do not set a main class, extract to target JAR
   + Change name to your desired output JAR name (.jar gets automatically added)
   + Select your desired output directory
   + Check "build on make"
   + Remove everything thats not your module's compiled output. Select all of the stuff in the left panel, and hit "-"

+ Hit OK to close the settings dialog

Setup the ultra-fancy one-click build/run configuration:

+ File -> Settings
+ Plugins -> Browse repositories
   + On Windows: Install the "Batch Support" plugin
   + On Mac/Linux: Install the "Bash Support" plugin
+ Restart IntelliJ IDEA to reflect the changes in plugins
+ Run -> Edit Configurations
+ Hit the "+" in the top left, create a new Batch (Windows) or Bash (Mac/Linux) run configuration
+ Set the name to "Starsector"
+ Hit the "..." next to "Script", select either starsector.bat (Windows) or (Mac/Linux)
+ Hit the "..." next to "Working Directory", select your Starsector install directory.
+ In the before launch panel, hit "+", select Build
+ Hit OK to create the configuration

To build and/or run Starsector:

To build your mod's JAR and run Starsector:
Hit the play button in the top right corner to both compile your mod and run Starsector.

To simply build your mod's JAR (without running Starsector):
Hit the little "down pointing arrow with 01010110" icon in the upper right.

Make sure to delete the "out/" directory before distributing your mod, all of the code you want to distribute is packaged in the compiled JAR.

Bask in the glory that is IntelliJ IDEA:

+ Self explanatory.


Other useful configuration options (Optional):

Disable project autoload (if you have other stuff you want to work on):
File -> Settings -> Appearance & Behavior -> System Settings -> Reopen last project on startup

Enable line numbers in all files:
File -> Settings -> Editor -> Appearance -> Show line numbers

Disable the *** spell check:
File -> Settings -> Editor -> Inspections -> Spelling


Other neat features with this setup:

When you're running your build configuration, the Starsector log will automatically dump down into the Run panel in the bottom of the screen. If you get an error, that will be the last thing in the console. You'll never need to open starsector.log and scroll all the way to the bottom ever again (unless you're just playing the game normally, of course).

If you need to look up the documentation for something, ctrl+q opens the relevant Javadocs in the editing window. You can also look at the Starsector source files this way.

Whenever you specify a color (e.g. "new Color(r, g, b, a)"), a little colored box pops up next to the line #s. Clicking the colored box gives you a color picker straight out of GIMP or Photoshop that will modify the color specified on that line.

"//TODO <your comment here>" creates a to-do comment in your code that you can go back to anytime/check with the little TODO dock in the bottom (If it isn't there: View -> Tool Windows -> TODO)

Possible autocompletions will popup as you type, which is nice for figuring things out stuff with the APIs.

Shift+F6 renames/refactors a variable/anything in all files of your project.

Ctrl+Enter == autocomplete.

Double-tap Shift searches inside your project for anything.

Ctrl+/ == line comment.

Ctrl+Shift+/ == block comment.

Tools -> Create Javadoc creates Javadocs.

IntelliJ has nice Version Control capabilities with git and whatnot. Not covering them here, but make sure to check out what's possible (also check out the ".gitignore" plugin!).



If on running your configuration results in some weird " not found" error or something like that, edit the "./jre_your_platform/java" bit in the first part of starsector.bat/ to simply "java". Linux users are probably already familiar with this step.

*Updated to use a significantly nicer run configuration

General Discussion / 0.7 feedback
« on: November 25, 2015, 01:21:58 AM »
Been playing again since the update. Although the update's been good, there are a bunch of mildly infuriating bugs and related stuff that I thought I'd address here in the hopes they'll get fixed. All of the below feedback is from playing on normal.

The bad:

- Allies' deployed forces count against your deployment limit. I jumped into a massive pirates versus Diktat fight, only to find that I couldn't deploy anything but a single Sunder. Really frustrating in big fights when you're not able to help out with anything more than a small ship.

- The terrain description (that says "Corona", etc.) occasionally renders about half it's width too low and gets obscured by the skillbar. Mashing the "Prev/Next" buttons fixes this.

- It's unclear which factions tolerate an inactive transponder and which do not. Maybe add a sentence or two to the faction description in the intel screen?

- It's unclear where you can and can't be detected by other fleets. I'm going to guess that the sensor ping-ish lines say this, but I'm not sure. Maybe add a pop-up hint at the beginning of the game?

- It took me awhile to figure out that turning on/off a transponder took two clicks, whereas everything else on the skill bar only takes one. Everything on the skill bar should be only a single-click to activate/deactivate.

- Food shortages seem to be a net credit loss in most cases. Sure the rep and exp are nice, but I'd like to at least have a small profit too?

- The intel screen map should be scrollable.

- The intel map gets really cluttered really quickly. Just get rid of completed events instead of keeping them on the intel map and even adding an EXTRA icon to say that the event has been finished and keeping both icons. We also don't need a little "$" sign every time we collect a bounty.


Trade missions are REALLY out of balance and are difficult to understand/succeed in. Here's a whole section on those/mission-related stuff:
- The ones you can't take (not enough cargo capacity/faction is hostile) should be highlighted in red/grayed out or something. The player shouldn't have to look through those (although it'd be nice to know they're there, so you could buy an extra cargo ship, etc.).

- Most of the trade missions are a net credit loss or are very marginal (on normal difficulty). Buy and deliver 100 units of supplies to Cethlenn for a 3000Cr reward? I think not. Sometimes you have to flip back and forth several times between the trade screen and the missions screen before you figure out that the missions actually lose you money.

- It takes like 3-4 clicks each direction to flip between the trade and mission screens, which you have to do all the time (Does the market have the resource I need? Is the mission profitable? Do I even have the money to buy the items? I forgot what I was supposed to be buying, gotta go back and check...). It'd be nice to be able to flip back and forth with only one click.

- Many mission deadlines are WAY too short. A lot of the 10 day ones are simply unachievable due to travel time. Increase the minimum mission length to 20 days at the very least (the "get there in 10 days" and get a bonus is fine). It'd also be nice to know how far a star system was just by clicking on it in the map

- There's also absolutely no way to figure out how long you have left in a mission unless you write down the start time on a piece of paper and stare at the date in the upper left corner. Right now all we know is we got a mission ~2 weeks ago (from the intel screen, which gives the time to the mission deadline that could be anywhere from 0-7 days off. Put an updating bit of text next to the date that has the current mission, destination, and time left to solve this (20 x Drugs --> Cruor ... 5 days left).

- Speaking of missions and travel time, there's really no way to know how long it takes to get anywhere. Right now my best estimate for the time between systems is a little less than 10 days between adjacent systems in a frigate if you really book it and don't get murdered along the way. We should be able to hover our mouse over an object and have a little tooltip popup that says the estimated travel time with our current burn rate.

- There's no way to figure out where stuff is in a destination system. I keep jumping into systems in the wrong spot (which occasionally results in a failed mission if the deadline is tight). When in hyperspace, I should be able to click on a star and have the system map pop up to figure out where the best place to jump in is, then hit escape to go back to the hyperspace map.

- I'd like to be able to set waypoints/routes on the map by right clicking and have a pointer/line on the screen that either points the direction to the next waypoint in a series or shows the path to the waypoint. Would be really useful for missions/trade routes.

- I almost think missions should get their own screen and tab in the UI (either next to intel or as part of intel). This would help with the constant flipping back and forth between them and trade, and also give a nice place to check what missions are active/where they are/which ones are available.


The good:

- That Tachyon Lance. Hnnnnnnngggg.

- The Luddic Path are awesome. Please, give them more ships and have them kill me more.

- Terrain implementation is fabulous.

- The Tri-Tachyon music is awesome. Rest of the tracks are ok.

- All of the new art is great.

- The new ships are great. I can't believe that smuggling in a Mudskipper is actually a viable way to play.


General Discussion / ALL HAIL SPACE CAT
« on: November 22, 2015, 02:43:43 PM »
Was digging through the game media after installing 0.7 and found this magnificent bastard just sitting there. Judging me.


Suggestions / Add zones of control to map
« on: August 14, 2015, 12:30:55 AM »
I think it would be a nice touch if there was a toggle-able layer on the system/sector maps that showed each faction's area of influence. On the system level, it would show the area around markets dominated by a particular faction, and on the sector level, it would show a system as belonging to a particular faction if it owned the most markets in that system.

Although not exactly a "useful" feature, it'd be really fun to have as you watch factions slowly expand/lose influence in future updates. Also so you can visually assess how close the player faction is to total universe domination.  ;)

Discussions / WTF STEAM
« on: April 23, 2015, 11:10:52 PM »

Pages: [1] 2 3